From: <fir...@us...> - 2012-05-20 03:20:29
|
Revision: 54515 http://firebird.svn.sourceforge.net/firebird/?rev=54515&view=rev Author: firebirds Date: 2012-05-20 03:20:22 +0000 (Sun, 20 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-19 13:26:03 UTC (rev 54514) +++ firebird/trunk/ChangeLog 2012-05-20 03:20:22 UTC (rev 54515) @@ -1,3 +1,48 @@ + 2012-05-19 12:20 robocop + M src/jrd/tpc.cpp +Vlad asked for this assertion but I think it should be runtime check for the release version, too. + + 2012-05-19 12:04 robocop + M src/dsql/ExprNodes.cpp + M src/include/fb_types.h + M src/jrd/Attachment.h + M src/jrd/Database.h + M src/jrd/GarbageCollector.cpp + M src/jrd/GarbageCollector.h + M src/jrd/Relation.cpp + M src/jrd/Relation.h + M src/jrd/SysFunction.cpp + M src/jrd/btr.cpp + M src/jrd/cch.cpp + M src/jrd/cch.h + M src/jrd/cch_proto.h + M src/jrd/constants.h + M src/jrd/dfw.epp + M src/jrd/dpm.epp + M src/jrd/inf.cpp + M src/jrd/jrd.cpp + M src/jrd/jrd.h + M src/jrd/ntrace.h + M src/jrd/ods.h + M src/jrd/pag.h + M src/jrd/recsrc/BufferedStream.cpp + M src/jrd/recsrc/SortedStream.cpp + M src/jrd/req.h + M src/jrd/tpc.cpp + M src/jrd/tpc_proto.h + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/tra_proto.h + M src/jrd/trace/TraceObjects.cpp + M src/jrd/trace/TraceObjects.h + M src/jrd/validation.cpp + M src/jrd/vio.cpp + M src/utilities/gstat/ppg.cpp + M src/utilities/ntrace/TracePluginImpl.cpp + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/rebuild/rebuild.cpp +Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. + 2012-05-17 09:04 dimitr M src/dsql/ExprNodes.cpp M src/jrd/par.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-19 13:26:03 UTC (rev 54514) +++ firebird/trunk/src/jrd/build_no.h 2012-05-20 03:20:22 UTC (rev 54515) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29966 + FORMAL BUILD NUMBER:29968 */ -#define PRODUCT_VER_STRING "3.0.0.29966" -#define FILE_VER_STRING "WI-T3.0.0.29966" -#define LICENSE_VER_STRING "WI-T3.0.0.29966" -#define FILE_VER_NUMBER 3, 0, 0, 29966 +#define PRODUCT_VER_STRING "3.0.0.29968" +#define FILE_VER_STRING "WI-T3.0.0.29968" +#define LICENSE_VER_STRING "WI-T3.0.0.29968" +#define FILE_VER_NUMBER 3, 0, 0, 29968 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29966" +#define FB_BUILD_NO "29968" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-19 13:26:03 UTC (rev 54514) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-20 03:20:22 UTC (rev 54515) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29966 +BuildNum=29968 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-21 03:21:27
|
Revision: 54518 http://firebird.svn.sourceforge.net/firebird/?rev=54518&view=rev Author: firebirds Date: 2012-05-21 03:21:20 +0000 (Mon, 21 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-20 19:28:52 UTC (rev 54517) +++ firebird/trunk/ChangeLog 2012-05-21 03:21:20 UTC (rev 54518) @@ -1,3 +1,35 @@ + 2012-05-20 19:28 asfernandes + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/dsql/ExprNodes.cpp + M src/dsql/dsql.h +Fixed problems with views WITH CHECK OPTION. Also change its triggers as asked for opinions in fb-devel. + + 2012-05-20 10:00 robocop + M src/alice/alice_meta.epp + M src/burp/canonical.cpp + M src/common/classes/Switches.cpp + M src/common/classes/array.h + M src/common/classes/fb_string.cpp + M src/common/classes/fb_string.h + M src/dsql/DdlNodes.epp + M src/dsql/ExprNodes.cpp + M src/dsql/PackageNodes.epp + M src/dsql/pass1.cpp + M src/jrd/DataTypeUtil.cpp + M src/jrd/GlobalRWLock.h + M src/jrd/cch.cpp + M src/jrd/nbak.cpp + M src/jrd/nbak.h + M src/jrd/obj.h + M src/jrd/scl.epp + M src/qli/dtr.cpp + M src/utilities/ntrace/os/posix/platform.cpp + M src/utilities/ntrace/os/win32/platform.cpp + M src/yvalve/gds.cpp + M src/yvalve/utl_proto.h +Misc and style. + 2012-05-19 12:20 robocop M src/jrd/tpc.cpp Vlad asked for this assertion but I think it should be runtime check for the release version, too. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-20 19:28:52 UTC (rev 54517) +++ firebird/trunk/src/jrd/build_no.h 2012-05-21 03:21:20 UTC (rev 54518) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29968 + FORMAL BUILD NUMBER:29970 */ -#define PRODUCT_VER_STRING "3.0.0.29968" -#define FILE_VER_STRING "WI-T3.0.0.29968" -#define LICENSE_VER_STRING "WI-T3.0.0.29968" -#define FILE_VER_NUMBER 3, 0, 0, 29968 +#define PRODUCT_VER_STRING "3.0.0.29970" +#define FILE_VER_STRING "WI-T3.0.0.29970" +#define LICENSE_VER_STRING "WI-T3.0.0.29970" +#define FILE_VER_NUMBER 3, 0, 0, 29970 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29968" +#define FB_BUILD_NO "29970" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-20 19:28:52 UTC (rev 54517) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-21 03:21:20 UTC (rev 54518) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29968 +BuildNum=29970 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-23 03:20:38
|
Revision: 54527 http://firebird.svn.sourceforge.net/firebird/?rev=54527&view=rev Author: firebirds Date: 2012-05-23 03:20:30 +0000 (Wed, 23 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-22 16:55:34 UTC (rev 54526) +++ firebird/trunk/ChangeLog 2012-05-23 03:20:30 UTC (rev 54527) @@ -1,3 +1,7 @@ + 2012-05-22 16:49 mkubecek + M builds/install/arch-specific/linux/misc/makeInstallImage.sh.in +Add interpreter specification to generated scripts. + 2012-05-20 19:28 asfernandes M src/dsql/DdlNodes.epp M src/dsql/DdlNodes.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-22 16:55:34 UTC (rev 54526) +++ firebird/trunk/src/jrd/build_no.h 2012-05-23 03:20:30 UTC (rev 54527) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29970 + FORMAL BUILD NUMBER:29971 */ -#define PRODUCT_VER_STRING "3.0.0.29970" -#define FILE_VER_STRING "WI-T3.0.0.29970" -#define LICENSE_VER_STRING "WI-T3.0.0.29970" -#define FILE_VER_NUMBER 3, 0, 0, 29970 +#define PRODUCT_VER_STRING "3.0.0.29971" +#define FILE_VER_STRING "WI-T3.0.0.29971" +#define LICENSE_VER_STRING "WI-T3.0.0.29971" +#define FILE_VER_NUMBER 3, 0, 0, 29971 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29970" +#define FB_BUILD_NO "29971" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-22 16:55:34 UTC (rev 54526) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-23 03:20:30 UTC (rev 54527) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29970 +BuildNum=29971 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-24 03:31:23
|
Revision: 54535 http://firebird.svn.sourceforge.net/firebird/?rev=54535&view=rev Author: firebirds Date: 2012-05-24 03:31:15 +0000 (Thu, 24 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-23 15:44:43 UTC (rev 54534) +++ firebird/trunk/ChangeLog 2012-05-24 03:31:15 UTC (rev 54535) @@ -1,3 +1,17 @@ + 2012-05-23 15:44 asfernandes + M src/include/firebird/Message.h +Misc. + + 2012-05-23 15:39 asfernandes + M src/include/firebird/Message.h + M src/include/firebird/UdrCppEngine.h + M src/jrd/PreparedStatement.cpp +Improvements and correction to external routines. + + 2012-05-23 09:12 mkubecek + M src/isql/isql.epp +Fix broken isql history with libedit 3.0 + 2012-05-22 16:49 mkubecek M builds/install/arch-specific/linux/misc/makeInstallImage.sh.in Add interpreter specification to generated scripts. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-23 15:44:43 UTC (rev 54534) +++ firebird/trunk/src/jrd/build_no.h 2012-05-24 03:31:15 UTC (rev 54535) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29971 + FORMAL BUILD NUMBER:29974 */ -#define PRODUCT_VER_STRING "3.0.0.29971" -#define FILE_VER_STRING "WI-T3.0.0.29971" -#define LICENSE_VER_STRING "WI-T3.0.0.29971" -#define FILE_VER_NUMBER 3, 0, 0, 29971 +#define PRODUCT_VER_STRING "3.0.0.29974" +#define FILE_VER_STRING "WI-T3.0.0.29974" +#define LICENSE_VER_STRING "WI-T3.0.0.29974" +#define FILE_VER_NUMBER 3, 0, 0, 29974 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29971" +#define FB_BUILD_NO "29974" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-23 15:44:43 UTC (rev 54534) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-24 03:31:15 UTC (rev 54535) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29971 +BuildNum=29974 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-25 03:21:06
|
Revision: 54544 http://firebird.svn.sourceforge.net/firebird/?rev=54544&view=rev Author: firebirds Date: 2012-05-25 03:20:58 +0000 (Fri, 25 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-24 15:56:36 UTC (rev 54543) +++ firebird/trunk/ChangeLog 2012-05-25 03:20:58 UTC (rev 54544) @@ -1,3 +1,7 @@ + 2012-05-24 15:56 asfernandes + M src/include/firebird/Message.h +More C++-ish to the C++ API. + 2012-05-23 15:44 asfernandes M src/include/firebird/Message.h Misc. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-24 15:56:36 UTC (rev 54543) +++ firebird/trunk/src/jrd/build_no.h 2012-05-25 03:20:58 UTC (rev 54544) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29974 + FORMAL BUILD NUMBER:29975 */ -#define PRODUCT_VER_STRING "3.0.0.29974" -#define FILE_VER_STRING "WI-T3.0.0.29974" -#define LICENSE_VER_STRING "WI-T3.0.0.29974" -#define FILE_VER_NUMBER 3, 0, 0, 29974 +#define PRODUCT_VER_STRING "3.0.0.29975" +#define FILE_VER_STRING "WI-T3.0.0.29975" +#define LICENSE_VER_STRING "WI-T3.0.0.29975" +#define FILE_VER_NUMBER 3, 0, 0, 29975 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29974" +#define FB_BUILD_NO "29975" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-24 15:56:36 UTC (rev 54543) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-25 03:20:58 UTC (rev 54544) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29974 +BuildNum=29975 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-27 03:21:35
|
Revision: 54558 http://firebird.svn.sourceforge.net/firebird/?rev=54558&view=rev Author: firebirds Date: 2012-05-27 03:21:28 +0000 (Sun, 27 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-26 22:01:30 UTC (rev 54557) +++ firebird/trunk/ChangeLog 2012-05-27 03:21:28 UTC (rev 54558) @@ -1,3 +1,41 @@ + 2012-05-26 22:01 hvlad + M src/jrd/dpm.epp +Fixed bug CORE-3855 : Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page + + 2012-05-26 21:44 hvlad + M src/utilities/ntrace/TracePluginImpl.cpp +Misc + + 2012-05-26 21:18 asfernandes + M src/dsql/ExprNodes.cpp + M src/jrd/DataTypeUtil.cpp + M src/jrd/DataTypeUtil.h +Fix/misc. + + 2012-05-26 18:05 asfernandes + M src/dsql/ExprNodes.cpp + M src/jrd/Database.h + M src/jrd/Relation.h + M src/jrd/cch.cpp + M src/jrd/dfw.epp + M src/jrd/inf.cpp + M src/jrd/jrd.cpp + M src/jrd/ntrace.h + M src/jrd/ods.h + M src/jrd/req.h + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/trace/TraceDSQLHelpers.h + M src/jrd/trace/TraceManager.cpp + M src/jrd/trace/TraceObjects.h + M src/jrd/validation.cpp + M src/jrd/vio.cpp + M src/utilities/ntrace/TracePluginImpl.cpp + M src/utilities/ntrace/TracePluginImpl.h + M src/utilities/ntrace/traceplugin.cpp + M src/utilities/rebuild/rebuild.cpp +Misc. + 2012-05-24 15:56 asfernandes M src/include/firebird/Message.h More C++-ish to the C++ API. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-26 22:01:30 UTC (rev 54557) +++ firebird/trunk/src/jrd/build_no.h 2012-05-27 03:21:28 UTC (rev 54558) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29975 + FORMAL BUILD NUMBER:29979 */ -#define PRODUCT_VER_STRING "3.0.0.29975" -#define FILE_VER_STRING "WI-T3.0.0.29975" -#define LICENSE_VER_STRING "WI-T3.0.0.29975" -#define FILE_VER_NUMBER 3, 0, 0, 29975 +#define PRODUCT_VER_STRING "3.0.0.29979" +#define FILE_VER_STRING "WI-T3.0.0.29979" +#define LICENSE_VER_STRING "WI-T3.0.0.29979" +#define FILE_VER_NUMBER 3, 0, 0, 29979 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29975" +#define FB_BUILD_NO "29979" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-26 22:01:30 UTC (rev 54557) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-27 03:21:28 UTC (rev 54558) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29975 +BuildNum=29979 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2012-05-29 16:02:48
|
Revision: 54564 http://firebird.svn.sourceforge.net/firebird/?rev=54564&view=rev Author: asfernandes Date: 2012-05-29 16:02:39 +0000 (Tue, 29 May 2012) Log Message: ----------- 1) Change UdrCpp triggers macros to match procedures and functions - first phase. 2) Adjustments to procedures and functions. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/UdrCppEngine.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2012-05-29 12:30:32 UTC (rev 54563) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2012-05-29 16:02:39 UTC (rev 54564) @@ -829,271 +829,263 @@ external name 'udrcpp_example!replicate!ds1' engine udr; ***/ -FB_UDR_BEGIN_DECLARE_TRIGGER(replicate) -public: - FB_UDR_TRIGGER(replicate)(); - ~FB_UDR_TRIGGER(replicate)(); - -private: - void initialize(ExternalContext* context); - - bool initialized; - XSQLDA* inSqlDa; - isc_stmt_handle stmtHandle; -FB_UDR_END_DECLARE_TRIGGER(replicate) - - -FB_UDR_TRIGGER(replicate)::FB_UDR_TRIGGER(replicate)() - : initialized(false) -{ -} - -FB_UDR_TRIGGER(replicate)::~FB_UDR_TRIGGER(replicate)() -{ - if (!initialized) - return; - - for (int i = 0; i < inSqlDa->sqln; ++i) +FB_UDR_BEGIN_TRIGGER(replicate) + FB_UDR_TRIGGER(replicate)() + : initialized(false) { - XSQLVAR* var = &inSqlDa->sqlvar[i]; - delete [] var->sqldata; - delete var->sqlind; } - delete [] reinterpret_cast<char*>(inSqlDa); + ~FB_UDR_TRIGGER(replicate)() + { + if (!initialized) + return; - ISC_STATUS_ARRAY statusVector = {0}; - isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); -} + for (int i = 0; i < inSqlDa->sqln; ++i) + { + XSQLVAR* var = &inSqlDa->sqlvar[i]; + delete [] var->sqldata; + delete var->sqlind; + } -void FB_UDR_TRIGGER(replicate)::initialize(ExternalContext* context) -{ - if (initialized) - return; + delete [] reinterpret_cast<char*>(inSqlDa); - ISC_STATUS_ARRAY statusVector = {0}; - isc_db_handle dbHandle = getIscDbHandle(context); - isc_tr_handle trHandle = getIscTrHandle(context); + ISC_STATUS_ARRAY statusVector = {0}; + isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_drop); + } - stmtHandle = 0; - ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, - "select data_source from replicate_config where name = ?", - SQL_DIALECT_CURRENT, NULL), statusVector); + FB_UDR_EXECUTE_DYNAMIC_TRIGGER + { + initialize(context); - AutoDispose<IStatus> status(master->getStatus()); + AutoDispose<IStatus> status(master->getStatus()); - const char* table = metadata->getTriggerTable(status); - ThrowError::check(status->get()); + const IParametersMetadata* fields = metadata->getTriggerFields(status); + ThrowError::check(status->get()); - // Skip the first exclamation point, separing the module name and entry point. - const char* info = strchr(metadata->getEntryPoint(status), '!'); - ThrowError::check(status->get()); + unsigned fieldsCount = fields->getCount(status); + ThrowError::check(status->get()); - // Skip the second exclamation point, separing the entry point and the misc info (config). - if (info) - info = strchr(info + 1, '!'); + MessageImpl message(fieldsCount, newMsg); - if (info) - ++info; - else - info = ""; + ISC_STATUS_ARRAY statusVector = {0}; + isc_db_handle dbHandle = getIscDbHandle(context); + isc_tr_handle trHandle = getIscTrHandle(context); - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); - inSqlDa->version = SQLDA_VERSION1; - inSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), - statusVector); - inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; - strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); - *reinterpret_cast<short*>(inSqlDa->sqlvar[0].sqldata) = strlen(info); + for (unsigned i = 1; i <= fieldsCount; ++i) + { + ParamDesc<void*> field(message, fields); - XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); - outSqlDa->version = SQLDA_VERSION1; - outSqlDa->sqln = 1; - ThrowError::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), - statusVector); - outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; - outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; + XSQLVAR* var = &inSqlDa->sqlvar[i - 1]; - ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, - inSqlDa, outSqlDa), statusVector); - ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); + if (message.isNull(field)) + *var->sqlind = -1; + else + { + *var->sqlind = 0; + memcpy(var->sqldata, message[field], var->sqllen); + } + } - delete [] inSqlDa->sqlvar[0].sqldata; - delete [] reinterpret_cast<char*>(inSqlDa); - inSqlDa = NULL; + ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + inSqlDa), statusVector); + } - const IParametersMetadata* fields = metadata->getTriggerFields(status); - ThrowError::check(status->get()); +private: + void initialize(ExternalContext* context) + { + if (initialized) + return; - unsigned count = fields->getCount(status); - ThrowError::check(status->get()); + ISC_STATUS_ARRAY statusVector = {0}; + isc_db_handle dbHandle = getIscDbHandle(context); + isc_tr_handle trHandle = getIscTrHandle(context); - char buffer[65536]; - strcpy(buffer, "execute block (\n"); + stmtHandle = 0; + ThrowError::check(isc_dsql_allocate_statement(statusVector, &dbHandle, &stmtHandle), statusVector); + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, + "select data_source from replicate_config where name = ?", + SQL_DIALECT_CURRENT, NULL), statusVector); - for (unsigned i = 0; i < count; ++i) - { - if (i > 0) - strcat(buffer, ",\n"); + AutoDispose<IStatus> status(master->getStatus()); - const char* name = fields->getField(status, i); + const char* table = metadata->getTriggerTable(status); ThrowError::check(status->get()); - strcat(buffer, " p"); - sprintf(buffer + strlen(buffer), "%d type of column \"%s\".\"%s\" = ?", i, table, name); - } + // Skip the first exclamation point, separing the module name and entry point. + const char* info = strchr(metadata->getEntryPoint(status), '!'); + ThrowError::check(status->get()); - strcat(buffer, - ")\n" - "as\n" - "begin\n" - " execute statement ('insert into \""); + // Skip the second exclamation point, separing the entry point and the misc info (config). + if (info) + info = strchr(info + 1, '!'); - strcat(buffer, table); - strcat(buffer, "\" ("); + if (info) + ++info; + else + info = ""; - for (unsigned i = 0; i < count; ++i) - { - if (i > 0) - strcat(buffer, ", "); + inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + inSqlDa->version = SQLDA_VERSION1; + inSqlDa->sqln = 1; + ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + statusVector); + inSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + inSqlDa->sqlvar[0].sqllen]; + strncpy(inSqlDa->sqlvar[0].sqldata + sizeof(short), info, inSqlDa->sqlvar[0].sqllen); + *reinterpret_cast<short*>(inSqlDa->sqlvar[0].sqldata) = strlen(info); - const char* name = fields->getField(status, i); - ThrowError::check(status->get()); + XSQLDA* outSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(1))]); + outSqlDa->version = SQLDA_VERSION1; + outSqlDa->sqln = 1; + ThrowError::check(isc_dsql_describe(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, outSqlDa), + statusVector); + outSqlDa->sqlvar[0].sqldata = new char[sizeof(short) + outSqlDa->sqlvar[0].sqllen + 1]; + outSqlDa->sqlvar[0].sqldata[sizeof(short) + outSqlDa->sqlvar[0].sqllen] = '\0'; - strcat(buffer, "\""); - strcat(buffer, name); - strcat(buffer, "\""); - } + ThrowError::check(isc_dsql_execute2(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, + inSqlDa, outSqlDa), statusVector); + ThrowError::check(isc_dsql_free_statement(statusVector, &stmtHandle, DSQL_unprepare), statusVector); - strcat(buffer, ") values ("); + delete [] inSqlDa->sqlvar[0].sqldata; + delete [] reinterpret_cast<char*>(inSqlDa); + inSqlDa = NULL; - for (unsigned i = 0; i < count; ++i) - { - if (i > 0) - strcat(buffer, ", "); - strcat(buffer, "?"); - } + const IParametersMetadata* fields = metadata->getTriggerFields(status); + ThrowError::check(status->get()); - strcat(buffer, ")') ("); + unsigned count = fields->getCount(status); + ThrowError::check(status->get()); - for (unsigned i = 0; i < count; ++i) - { - if (i > 0) - strcat(buffer, ", "); - strcat(buffer, ":p"); - sprintf(buffer + strlen(buffer), "%d", i); - } + char buffer[65536]; + strcpy(buffer, "execute block (\n"); - strcat(buffer, ")\n on external data source '"); - strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); - strcat(buffer, "';\nend"); + for (unsigned i = 0; i < count; ++i) + { + if (i > 0) + strcat(buffer, ",\n"); - ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, - SQL_DIALECT_CURRENT, NULL), statusVector); + const char* name = fields->getField(status, i); + ThrowError::check(status->get()); - inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]); - inSqlDa->version = SQLDA_VERSION1; - inSqlDa->sqln = count; - ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), - statusVector); + strcat(buffer, " p"); + sprintf(buffer + strlen(buffer), "%d type of column \"%s\".\"%s\" = ?", i, table, name); + } - for (unsigned i = 0; i < count; ++i) - { - XSQLVAR* var = &inSqlDa->sqlvar[i]; + strcat(buffer, + ")\n" + "as\n" + "begin\n" + " execute statement ('insert into \""); - switch (var->sqltype & ~1) + strcat(buffer, table); + strcat(buffer, "\" ("); + + for (unsigned i = 0; i < count; ++i) { - case SQL_TEXT: - var->sqldata = new char[var->sqllen]; - break; + if (i > 0) + strcat(buffer, ", "); - case SQL_VARYING: - var->sqldata = new char[var->sqllen]; - var->sqllen += sizeof(short); - break; + const char* name = fields->getField(status, i); + ThrowError::check(status->get()); - case SQL_SHORT: - var->sqldata = new char[sizeof(short)]; - break; + strcat(buffer, "\""); + strcat(buffer, name); + strcat(buffer, "\""); + } - case SQL_LONG: - var->sqldata = new char[sizeof(int32)]; - break; + strcat(buffer, ") values ("); - case SQL_INT64: - var->sqldata = new char[sizeof(int64)]; - break; + for (unsigned i = 0; i < count; ++i) + { + if (i > 0) + strcat(buffer, ", "); + strcat(buffer, "?"); + } - case SQL_FLOAT: - var->sqltype = SQL_DOUBLE | (var->sqltype & 1); - var->sqllen = sizeof(double); - // fall into + strcat(buffer, ")') ("); - case SQL_DOUBLE: - var->sqldata = new char[sizeof(double)]; - break; + for (unsigned i = 0; i < count; ++i) + { + if (i > 0) + strcat(buffer, ", "); + strcat(buffer, ":p"); + sprintf(buffer + strlen(buffer), "%d", i); + } - case SQL_TYPE_DATE: - var->sqldata = new char[sizeof(ISC_DATE)]; - break; + strcat(buffer, ")\n on external data source '"); + strcat(buffer, outSqlDa->sqlvar[0].sqldata + sizeof(short)); + strcat(buffer, "';\nend"); - //// TODO: SQL_TIMESTAMP, SQL_TYPE_TIME + ThrowError::check(isc_dsql_prepare(statusVector, &trHandle, &stmtHandle, 0, buffer, + SQL_DIALECT_CURRENT, NULL), statusVector); - case SQL_BLOB: - var->sqldata = new char[sizeof(ISC_QUAD)]; - break; + inSqlDa = reinterpret_cast<XSQLDA*>(new char[(XSQLDA_LENGTH(count))]); + inSqlDa->version = SQLDA_VERSION1; + inSqlDa->sqln = count; + ThrowError::check(isc_dsql_describe_bind(statusVector, &stmtHandle, SQL_DIALECT_CURRENT, inSqlDa), + statusVector); - default: - assert(false); - } + for (unsigned i = 0; i < count; ++i) + { + XSQLVAR* var = &inSqlDa->sqlvar[i]; - var->sqltype |= 1; - var->sqlind = new short; - *reinterpret_cast<short*>(var->sqlind) = -1; - } + switch (var->sqltype & ~1) + { + case SQL_TEXT: + var->sqldata = new char[var->sqllen]; + break; - delete [] outSqlDa->sqlvar[0].sqldata; - delete [] reinterpret_cast<char*>(outSqlDa); + case SQL_VARYING: + var->sqldata = new char[var->sqllen]; + var->sqllen += sizeof(short); + break; - initialized = true; -} + case SQL_SHORT: + var->sqldata = new char[sizeof(short)]; + break; -FB_UDR_BEGIN_TRIGGER(replicate) -{ - initialize(context); + case SQL_LONG: + var->sqldata = new char[sizeof(int32)]; + break; - AutoDispose<IStatus> status(master->getStatus()); + case SQL_INT64: + var->sqldata = new char[sizeof(int64)]; + break; - const IParametersMetadata* fields = metadata->getTriggerFields(status); - ThrowError::check(status->get()); + case SQL_FLOAT: + var->sqltype = SQL_DOUBLE | (var->sqltype & 1); + var->sqllen = sizeof(double); + // fall into - unsigned fieldsCount = fields->getCount(status); - ThrowError::check(status->get()); + case SQL_DOUBLE: + var->sqldata = new char[sizeof(double)]; + break; - MessageImpl message(fieldsCount, newMsg); + case SQL_TYPE_DATE: + var->sqldata = new char[sizeof(ISC_DATE)]; + break; - ISC_STATUS_ARRAY statusVector = {0}; - isc_db_handle dbHandle = getIscDbHandle(context); - isc_tr_handle trHandle = getIscTrHandle(context); + //// TODO: SQL_TIMESTAMP, SQL_TYPE_TIME - for (unsigned i = 1; i <= fieldsCount; ++i) - { - ParamDesc<void*> field(message, fields); + case SQL_BLOB: + var->sqldata = new char[sizeof(ISC_QUAD)]; + break; - XSQLVAR* var = &inSqlDa->sqlvar[i - 1]; + default: + assert(false); + } - if (message.isNull(field)) - *var->sqlind = -1; - else - { - *var->sqlind = 0; - memcpy(var->sqldata, message[field], var->sqllen); + var->sqltype |= 1; + var->sqlind = new short; + *reinterpret_cast<short*>(var->sqlind) = -1; } + + delete [] outSqlDa->sqlvar[0].sqldata; + delete [] reinterpret_cast<char*>(outSqlDa); + + initialized = true; } - ThrowError::check(isc_dsql_execute(statusVector, &trHandle, &stmtHandle, SQL_DIALECT_CURRENT, - inSqlDa), statusVector); -} -FB_UDR_END_TRIGGER(replicate) + bool initialized; + XSQLDA* inSqlDa; + isc_stmt_handle stmtHandle; +FB_UDR_END_TRIGGER Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2012-05-29 12:30:32 UTC (rev 54563) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2012-05-29 16:02:39 UTC (rev 54564) @@ -87,7 +87,7 @@ { \ try \ { \ - execute(error, context, (InMessage*) inMsg, (OutMessage*) outMsg); \ + internalExecute(error, context, (InMessage*) inMsg, (OutMessage*) outMsg); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -103,7 +103,7 @@ } \ } \ \ - virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + void FB_CALL internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ InMessage* in, OutMessage* out) @@ -190,7 +190,7 @@ { \ try \ { \ - return fetch0(error); \ + return internalFetch(error); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -208,32 +208,31 @@ return 0; \ } \ \ - bool FB_CALL fetch0(::Firebird::Error* error) + bool FB_CALL internalFetch(::Firebird::Error* error) -#define FB_UDR_BEGIN_DECLARE_TRIGGER(name) \ +#define FB_UDR_BEGIN_TRIGGER(name) \ + class FB_UDR_TRIGGER(name); \ + \ + ::Firebird::Udr::TriggerFactoryImpl<FB_UDR_TRIGGER(name)> TrigFactory##name(#name); \ + \ class FB_UDR_TRIGGER(name) : public ::Firebird::Udr::Trigger<FB_UDR_TRIGGER(name)> \ { \ - public: \ - virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg); + public: -#define FB_UDR_END_DECLARE_TRIGGER(name) \ +#define FB_UDR_END_TRIGGER \ }; -#define FB_UDR_DECLARE_TRIGGER(name) \ - FB_UDR_BEGIN_DECLARE_TRIGGER(name) \ - FB_UDR_END_DECLARE_TRIGGER(name) +#define FB_UDR_EXECUTE_DYNAMIC_TRIGGER \ + FB_UDR_EXECUTE__TRIGGER -#define FB_UDR_BEGIN_TRIGGER(name) \ - void FB_CALL FB_UDR_TRIGGER(name)::execute(::Firebird::Error* error, \ - ::Firebird::ExternalContext* context, ::Firebird::ExternalTrigger::Action action, \ - void* oldMsg, void* newMsg) \ +#define FB_UDR_EXECUTE__TRIGGER \ + virtual void FB_CALL execute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) \ { \ try \ - { - -#define FB_UDR_END_TRIGGER(name) \ + { \ + internalExecute(error, context, action, oldMsg, newMsg); \ } \ catch (const ::Firebird::Udr::ThrowError::Exception& e) \ { \ @@ -248,7 +247,9 @@ strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ } \ } \ - ::Firebird::Udr::TriggerFactoryImpl<FB_UDR_TRIGGER(name)> TrigFactory##name(#name); + \ + void FB_CALL internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) #define FB_UDR_UNRECOGNIZED_EXCEPTION "Unrecognized C++ exception" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-05-30 03:21:52
|
Revision: 54568 http://firebird.svn.sourceforge.net/firebird/?rev=54568&view=rev Author: firebirds Date: 2012-05-30 03:21:45 +0000 (Wed, 30 May 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-29 20:25:11 UTC (rev 54567) +++ firebird/trunk/ChangeLog 2012-05-30 03:21:45 UTC (rev 54568) @@ -1,3 +1,44 @@ + 2012-05-29 20:19 mkubecek + M src/isql/isql.epp +isql: fix buffer overflow when 'set width' sets bigger width +than column's natural size + + 2012-05-29 20:14 mkubecek + M src/isql/isql.epp +isql: fix output if charset is different from locale + + 2012-05-29 16:02 asfernandes + M examples/udr/UdrCppExample.cpp + M src/include/firebird/UdrCppEngine.h +1) Change UdrCpp triggers macros to match procedures and functions - first phase. +2) Adjustments to procedures and functions. + + 2012-05-29 10:14 paul_reeves + M builds/install/arch-specific/win32/BuildExecutableInstall.bat + M builds/install/arch-specific/win32/FirebirdInstallEnvironmentChecks.inc + A builds/install/arch-specific/win32/FirebirdInstallGUIFunctions.inc + M builds/install/arch-specific/win32/FirebirdInstallSupportFunctions.inc + A builds/install/arch-specific/win32/FirebirdInstall_30.iss + M builds/install/arch-specific/win32/Readme.txt + M builds/install/arch-specific/win32/custom_messages.inc + M builds/install/arch-specific/win32/i18n_readme.txt + M builds/install/arch-specific/win32/installation_readme.txt + M builds/install/arch-specific/win32/installation_scripted.txt +Add innosetup install script for fb3. +Misc changes to support new install requirements of fb3 +(Note - this is still a work in progress.) + + 2012-05-29 09:40 paul_reeves + A builds/install/arch-specific/win32/cz + A builds/install/arch-specific/win32/cz/ctime.txt + A builds/install/arch-specific/win32/cz/custom_messages_cz.inc + A builds/install/arch-specific/win32/cz/instalace_ctime.txt + A builds/install/arch-specific/win32/ru + A builds/install/arch-specific/win32/ru/Readme.txt + A builds/install/arch-specific/win32/ru/custom_messages_ru.inc + A builds/install/arch-specific/win32/ru/installation_readme.txt +Add stub files for ru and cz for win32 installer. + 2012-05-26 22:01 hvlad M src/jrd/dpm.epp Fixed bug CORE-3855 : Blobs, inserted into GLOBAL TEMPORARY TABLE ON COMMIT DELETE ROWS, could be placed into newly allocated pages even if there is enough free place on some existing data page Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-29 20:25:11 UTC (rev 54567) +++ firebird/trunk/src/jrd/build_no.h 2012-05-30 03:21:45 UTC (rev 54568) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29979 + FORMAL BUILD NUMBER:29984 */ -#define PRODUCT_VER_STRING "3.0.0.29979" -#define FILE_VER_STRING "WI-T3.0.0.29979" -#define LICENSE_VER_STRING "WI-T3.0.0.29979" -#define FILE_VER_NUMBER 3, 0, 0, 29979 +#define PRODUCT_VER_STRING "3.0.0.29984" +#define FILE_VER_STRING "WI-T3.0.0.29984" +#define LICENSE_VER_STRING "WI-T3.0.0.29984" +#define FILE_VER_NUMBER 3, 0, 0, 29984 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29979" +#define FB_BUILD_NO "29984" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-29 20:25:11 UTC (rev 54567) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-05-30 03:21:45 UTC (rev 54568) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29979 +BuildNum=29984 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-05-31 16:53:57
|
Revision: 54574 http://firebird.svn.sourceforge.net/firebird/?rev=54574&view=rev Author: alexpeshkoff Date: 2012-05-31 16:53:42 +0000 (Thu, 31 May 2012) Log Message: ----------- Implemented CORE-3861: Make it possible to encrypt database Also some cleanups, the most important are: - meaningful ctor on Jrd::Lock, helping to avoid code dup - avoid unneeded h-file dependencies, making boot build engine dependent Modified Paths: -------------- firebird/trunk/builds/posix/Makefile.in firebird/trunk/builds/posix/Makefile.in.plugins_examples firebird/trunk/builds/posix/firebird.vers firebird/trunk/builds/posix/make.defaults firebird/trunk/builds/posix/make.shared.variables firebird/trunk/builds/win32/defs/firebird.def firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp firebird/trunk/src/common/IntlUtil.cpp firebird/trunk/src/common/TextType.cpp firebird/trunk/src/common/TextType.h firebird/trunk/src/common/classes/GetPlugins.h firebird/trunk/src/common/classes/ImplementHelper.h firebird/trunk/src/common/config/config.cpp firebird/trunk/src/common/config/config.h firebird/trunk/src/common/isc.cpp firebird/trunk/src/common/isc_file.cpp firebird/trunk/src/common/sdl.cpp firebird/trunk/src/dsql/BoolNodes.cpp firebird/trunk/src/dsql/DdlNodes.epp firebird/trunk/src/dsql/DdlNodes.h firebird/trunk/src/dsql/ExprNodes.cpp firebird/trunk/src/dsql/parse.y firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp firebird/trunk/src/include/consts_pub.h firebird/trunk/src/include/firebird/Crypt.h firebird/trunk/src/include/firebird/Interface.h firebird/trunk/src/include/firebird/Plugin.h firebird/trunk/src/include/firebird/Provider.h firebird/trunk/src/include/gen/ids.h firebird/trunk/src/jrd/Attachment.cpp firebird/trunk/src/jrd/Attachment.h firebird/trunk/src/jrd/Collation.cpp firebird/trunk/src/jrd/Collation.h firebird/trunk/src/jrd/Database.cpp firebird/trunk/src/jrd/Database.h firebird/trunk/src/jrd/DatabaseSnapshot.cpp firebird/trunk/src/jrd/EngineInterface.h firebird/trunk/src/jrd/Function.epp firebird/trunk/src/jrd/GlobalRWLock.cpp firebird/trunk/src/jrd/GlobalRWLock.h firebird/trunk/src/jrd/IntlManager.cpp firebird/trunk/src/jrd/JrdStatement.cpp firebird/trunk/src/jrd/Optimizer.cpp firebird/trunk/src/jrd/RecordNumber.h firebird/trunk/src/jrd/SysFunction.cpp firebird/trunk/src/jrd/VirtualTable.cpp firebird/trunk/src/jrd/blb.h firebird/trunk/src/jrd/btr.cpp firebird/trunk/src/jrd/cch.cpp firebird/trunk/src/jrd/cmp.cpp firebird/trunk/src/jrd/cvt2.cpp firebird/trunk/src/jrd/dfw.epp firebird/trunk/src/jrd/dfw_proto.h firebird/trunk/src/jrd/extds/InternalDS.cpp firebird/trunk/src/jrd/ibase.h firebird/trunk/src/jrd/idx.cpp firebird/trunk/src/jrd/intl.cpp firebird/trunk/src/jrd/intl_classes.h firebird/trunk/src/jrd/intl_proto.h firebird/trunk/src/jrd/jrd.cpp firebird/trunk/src/jrd/lck.cpp firebird/trunk/src/jrd/lck.h firebird/trunk/src/jrd/lck_proto.h firebird/trunk/src/jrd/met.epp firebird/trunk/src/jrd/names.h firebird/trunk/src/jrd/nbak.cpp firebird/trunk/src/jrd/ods.h firebird/trunk/src/jrd/opt.cpp firebird/trunk/src/jrd/os/posix/unix.cpp firebird/trunk/src/jrd/pag.cpp firebird/trunk/src/jrd/recsrc/HashJoin.cpp firebird/trunk/src/jrd/relations.h firebird/trunk/src/jrd/rlck.cpp firebird/trunk/src/jrd/sdw.cpp firebird/trunk/src/jrd/svc.cpp firebird/trunk/src/jrd/svc.h firebird/trunk/src/jrd/tpc.cpp firebird/trunk/src/jrd/tra.cpp firebird/trunk/src/jrd/tra.h firebird/trunk/src/jrd/val.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/plugins/crypt/arc4/Arc4.cpp firebird/trunk/src/remote/client/interface.cpp firebird/trunk/src/remote/inet.cpp firebird/trunk/src/remote/protocol.cpp firebird/trunk/src/remote/protocol.h firebird/trunk/src/remote/remote.cpp firebird/trunk/src/remote/remote.h firebird/trunk/src/remote/server/server.cpp firebird/trunk/src/utilities/fbsvcmgr/fbsvcmgr.cpp firebird/trunk/src/utilities/gstat/dba.epp firebird/trunk/src/utilities/gstat/dbaswi.h firebird/trunk/src/utilities/gstat/ppg.cpp firebird/trunk/src/utilities/ntrace/TracePluginImpl.h firebird/trunk/src/yvalve/MasterImplementation.cpp firebird/trunk/src/yvalve/MasterImplementation.h firebird/trunk/src/yvalve/YObjects.h firebird/trunk/src/yvalve/gds.cpp firebird/trunk/src/yvalve/keywords.cpp firebird/trunk/src/yvalve/why.cpp firebird/trunk/src/yvalve/why_proto.h Added Paths: ----------- firebird/trunk/examples/dbcrypt/ firebird/trunk/examples/dbcrypt/CryptApplication.cpp firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp firebird/trunk/examples/dbcrypt/DbCrypt.cpp firebird/trunk/examples/dbcrypt/ReadMe.txt firebird/trunk/src/jrd/CryptoManager.cpp firebird/trunk/src/jrd/CryptoManager.h Modified: firebird/trunk/builds/posix/Makefile.in =================================================================== --- firebird/trunk/builds/posix/Makefile.in 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/posix/Makefile.in 2012-05-31 16:53:42 UTC (rev 54574) @@ -359,10 +359,10 @@ # .PHONY: udr legacy_user_management trace auth_debug -makePluginName= $(PLUGINS)/$(LIB_PREFIX)$(1).$(SHRLIB_EXT) UDR_PLUGIN = $(call makePluginName,udr_engine) LEGACY_USER_MANAGER = $(call makePluginName,Legacy_UserManager) SRP_USER_MANAGER = $(call makePluginName,Srp) +FBTRACE = $(call makePluginName,fbtrace) AUTH_DEBUGGER = $(call makePluginName,Auth_Debug) BUILD_DEBUG:= @@ -446,6 +446,7 @@ $(BUILD_FILE): $(BUILD_Objects) $(COMMON_LIB) $(EXE_LINK) $(EXE_LINK_OPTIONS) $^ -o $@ $(FIREBIRD_LIBRARY_LINK) $(LINK_LIBS) + #--------------------------------------------------------------------------- # This target builds the include files for distribution with the release Modified: firebird/trunk/builds/posix/Makefile.in.plugins_examples =================================================================== --- firebird/trunk/builds/posix/Makefile.in.plugins_examples 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/posix/Makefile.in.plugins_examples 2012-05-31 16:53:42 UTC (rev 54574) @@ -27,8 +27,15 @@ # Contributor(s): # Adriano dos Santos Fernandes # -ROOT=../.. +ROOT=$(shell cd ../..; pwd) + +ifeq ($(IsDeveloper), Y) + DefaultTarget := Debug +else + DefaultTarget := Release +endif + CPPFLAGS+= -I$(FIREBIRD)/include include $(ROOT)/gen/make.defaults @@ -38,26 +45,23 @@ @SET_MAKE@ -PLUGINS= $(FIREBIRD)/plugins +# Override make.defaults +LINK_PLUGIN_SYMBOLS = $(call LIB_LINK_MAPFILE,../$(PLUGIN_VERS)) -UDR_Files = UdrCppExample.cpp -UDR_Sources = $(addprefix ../examples/udr/, $(UDR_Files)) -UDR_Objects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(UDR_Sources)))) +.PHONY: all udrcpp_example dc_example kh_example -AllObjects = $(UDR_Objects) -Dependencies = $(AllObjects:.o=.d) +all: udrcpp_example dc_example kh_example -.PHONY: all udrcpp_example +UDR_Objects = $(call makeObjects,../examples/udr,UdrCppExample.cpp) +UDR_Plugin = $(PLUGINS)/udr/$(LIB_PREFIX)udrcpp_example.$(SHRLIB_EXT) +AllObjects = $(UDR_Objects) -all: udrcpp_example +udrcpp_example: $(UDR_Plugin) - -udrcpp_example: $(PLUGINS)/udr/$(LIB_PREFIX)udrcpp_example.$(SHRLIB_EXT) - -$(PLUGINS)/udr/$(LIB_PREFIX)udrcpp_example.$(SHRLIB_EXT): $(UDR_Objects) +$(UDR_Plugin): $(UDR_Objects) ifeq ($(PLATFORM),DARWIN) $(LIB_LINK) $(LIB_BUNDLE_OPTIONS) -o $@ $^ @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ \ $(FIREBIRD_LIBRARY_LINK) @@ -67,6 +71,28 @@ $(FIREBIRD_LIBRARY_LINK) endif + +DC_Objects = $(call makeObjects,../examples/dbcrypt,DbCrypt.cpp) +DC_Plugin = $(call makePluginName,DbCrypt_example) +AllObjects += $(DC_Objects) + +dc_example: $(DC_Plugin) + +$(DC_Plugin): $(DC_Objects) + $(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK) + + +KH_Objects = $(call makeObjects,../examples/dbcrypt,CryptKeyHolder.cpp) +KH_Plugin = $(call makePluginName,CryptKeyHolder_example) +AllObjects += $(KH_Objects) + +kh_example: $(KH_Plugin) + +$(KH_Plugin): $(KH_Objects) + $(LINK_PLUGIN) $(call LIB_LINK_SONAME,$(notdir $@).0) -o $@ $^ $(LINK_PLUG_LIBS) $(FIREBIRD_LIBRARY_LINK) + + include $(ROOT)/gen/make.shared.targets +Dependencies = $(AllObjects:.o=.d) -include $(Dependencies) Modified: firebird/trunk/builds/posix/firebird.vers =================================================================== --- firebird/trunk/builds/posix/firebird.vers 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/posix/firebird.vers 2012-05-31 16:53:42 UTC (rev 54574) @@ -345,6 +345,8 @@ fb_get_database_handle fb_get_transaction_handle +fb_database_crypt_callback + # Other misc functions isc_ftof Modified: firebird/trunk/builds/posix/make.defaults =================================================================== --- firebird/trunk/builds/posix/make.defaults 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/posix/make.defaults 2012-05-31 16:53:42 UTC (rev 54574) @@ -336,7 +336,6 @@ FBTRACEMGR = $(BIN)/fbtracemgr$(EXEC_EXT) GSTAT = $(BIN)/gstat$(EXEC_EXT) NBACKUP = $(BIN)/nbackup$(EXEC_EXT) -FBTRACE = $(PLUGINS)/$(LIB_PREFIX)fbtrace.$(SHRLIB_EXT) LOCKPRINT = $(BIN)/fb_lock_print$(EXEC_EXT) GSEC = $(BIN)/gsec$(EXEC_EXT) GFIX = $(BIN)/gfix$(EXEC_EXT) Modified: firebird/trunk/builds/posix/make.shared.variables =================================================================== --- firebird/trunk/builds/posix/make.shared.variables 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/posix/make.shared.variables 2012-05-31 16:53:42 UTC (rev 54574) @@ -15,7 +15,9 @@ dirObjects= $(call dirMaster,$(1)) $(call dirOs,$(1)) $(call dirFallBack,$(1)) +makePluginName= $(PLUGINS)/$(LIB_PREFIX)$(1).$(SHRLIB_EXT) + # Collect all object files here AllObjects= Modified: firebird/trunk/builds/win32/defs/firebird.def =================================================================== --- firebird/trunk/builds/win32/defs/firebird.def 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/builds/win32/defs/firebird.def 2012-05-31 16:53:42 UTC (rev 54574) @@ -354,6 +354,7 @@ fb_get_master_interface fb_get_database_handle fb_get_transaction_handle + fb_database_crypt_callback gds__trace gds__trace_raw Added: firebird/trunk/examples/dbcrypt/CryptApplication.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptApplication.cpp (rev 0) +++ firebird/trunk/examples/dbcrypt/CryptApplication.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -0,0 +1,217 @@ +/* + * PROGRAM: Firebird samples. + * MODULE: CryptApplication.cpp + * DESCRIPTION: Sample of passing a key to crypt plugin + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alex Peshkov + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2012 Alex Peshkov <peshkoff at mail.ru> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + +#include <ibase.h> +#include <firebird/Crypt.h> +#include <firebird/Provider.h> + +using namespace Firebird; + +class CryptKey : public ICryptKeyCallback +{ +public: + unsigned int FB_CARG callback(unsigned int, const void*, unsigned int length, void* buffer) + { + if (length > 0 && buffer) + { + char k = 0x5a; + memcpy(buffer, &k, 1); + fprintf(stderr, "\nTransfered key to server\n"); + } + return 1; + } + + int FB_CARG getVersion() + { + return FB_CRYPT_CALLBACK_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return NULL; // OK for application, not for plugin + } +}; + +class App +{ +public: + App() : + master(fb_get_master_interface()), status(master->getStatus()), + p(NULL), att(NULL), tra(NULL) + { } + + ~App() + { + if (tra) + { + tra->rollback(status); + if (!status->isSuccess()) + { + print("rollback"); + tra->release(); + } + } + if (att) + { + att->detach(status); + if (!status->isSuccess()) + { + print("detach"); + att->release(); + } + } + if (p) + { + p->release(); + } + status->dispose(); + } + + enum Action {NONE, ENC, DEC}; + + void Execute(const char* dbName, const Action a) + { + status->init(); + + p = master->getDispatcher(); + + p->setDbCryptCallback(status, &key); + if (!status->isSuccess()) + throw "setDbCryptCallback"; + + char s[256]; + sprintf(s, "localhost:%s", dbName); + att = p->attachDatabase(status, s, 0, NULL); + if (!status->isSuccess()) + throw "attachDatabase"; + + if (a != NONE) + { + tra = att->startTransaction(status, 0, NULL); + if (!status->isSuccess()) + throw "startTransaction"; + } + + if (a == ENC) + { + att->execute(status, tra, 0, + "ALTER DATABASE ENCRYPT WITH \"DbCrypt_example\"", 3, 0, NULL, NULL); + if (!status->isSuccess()) + throw "execute"; + } + if (a == DEC) + { + att->execute(status, tra, 0, "ALTER DATABASE DECRYPT", 3, 0, NULL, NULL); + if (!status->isSuccess()) + throw "execute"; + } + + if (tra) + { + tra->commit(status); + if (!status->isSuccess()) + throw "commit"; + tra = NULL; + } + + printf("Providing key for crypt plugin - press enter to continue ..."); + getchar(); + + att->detach(status); + if (!status->isSuccess()) + throw "detach"; + att = NULL; + + p->release(); + p = NULL; + } + + void print(const char* where) + { + fprintf(stderr, "Error in %s: ", where); + isc_print_status(status->get()); + } + +private: + IMaster* master; + IStatus* status; + IProvider* p; + IAttachment* att; + ITransaction* tra; + + CryptKey key; +}; + +int usage() +{ + fprintf(stderr, "Usage: CryptApplication [ -e | -d ] { db-name }\n"); + return 2; +} + +int main(int ac, char** av) +{ + App::Action act = App::NONE; + + if (ac < 2 || ac > 3) + return usage(); + if (ac == 3) + { + if (av[1][0] != '-') + return usage(); + switch(av[1][1]) + { + case 'e': + act = App::ENC; + break; + case 'd': + act = App::DEC; + break; + default: + return usage(); + } + av++; + } + + setenv("ISC_USER", "sysdba", 0); + setenv("ISC_PASSWORD", "masterkey", 0); + + App app; + try + { + app.Execute(av[1], act); + } + catch(const char* where) + { + app.print(where); + return 1; + } + + return 0; +} Property changes on: firebird/trunk/examples/dbcrypt/CryptApplication.cpp ___________________________________________________________________ Added: svn:mime-type + text/x-c++src Added: svn:eol-style + native Added: firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp (rev 0) +++ firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -0,0 +1,278 @@ +/* + * PROGRAM: Firebird samples. + * MODULE: CryptKeyHolder.cpp + * DESCRIPTION: Sample of how key holder may be written. + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alex Peshkov + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2012 Alex Peshkov <peshkoff at mail.ru> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#include <stdio.h> +#include <string.h> + +#include "firebird.h" +#include "firebird/Crypt.h" + +#include "../common/classes/fb_atomic.h" + +using namespace Firebird; + +namespace +{ + +IMaster* master = NULL; +IPluginManager* pluginManager = NULL; + +class PluginModule : public IPluginModule +{ +public: + PluginModule() + : flag(false) + { } + + void registerMe() + { + pluginManager->registerModule(this); + flag = true; + } + + ~PluginModule() + { + if (flag) + { + pluginManager->unregisterModule(this); + doClean(); + } + } + + int FB_CARG getVersion() + { + return FB_PLUGIN_MODULE_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return this; + } + + void FB_CARG doClean() + { + flag = false; + } + +private: + bool flag; +}; + +PluginModule module; + +class CryptKeyHolder : public IKeyHolderPlugin +{ +public: + explicit CryptKeyHolder(IPluginConfig* cnf) + : callbackInterface(this), config(cnf), key(0), owner(NULL) + { + config->addRef(); + } + + ~CryptKeyHolder() + { + config->release(); + } + + // IKeyHolderPlugin implementation + virtual int FB_CARG keyCallback(IStatus* status, ICryptKeyCallback* callback); + virtual ICryptKeyCallback* FB_CARG keyHandle(IStatus* status, const char* keyName); + + int FB_CARG release() + { + if (--refCounter == 0) + { + delete this; + return 0; + } + return 1; + } + + void FB_CARG addRef() + { + ++refCounter; + } + + int FB_CARG getVersion() + { + return FB_KEYHOLDER_PLUGIN_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return &module; + } + + void FB_CARG setOwner(Firebird::IRefCounted* o) + { + owner = o; + } + + IRefCounted* FB_CARG getOwner() + { + return owner; + } + + UCHAR getKey() + { + return key; + } + +private: + class CallbackInterface : public ICryptKeyCallback + { + public: + CallbackInterface(CryptKeyHolder* p) + : parent(p) + { } + + unsigned int FB_CARG callback(unsigned int, const void*, unsigned int length, void* buffer) + { + UCHAR k = parent->getKey(); + if (!k) + { + return 0; + } + + if (length > 0 && buffer) + { + memcpy(buffer, &k, 1); + } + return 1; + } + + int FB_CARG getVersion() + { + return FB_CRYPT_CALLBACK_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return &module; + } + + private: + CryptKeyHolder* parent; + }; + + CallbackInterface callbackInterface; + + IPluginConfig* config; + UCHAR key; + + AtomicCounter refCounter; + IRefCounted* owner; + + void noKeyError(IStatus* status); +}; + +void CryptKeyHolder::noKeyError(IStatus* status) +{ + ISC_STATUS_ARRAY vector; + vector[0] = isc_arg_gds; + vector[1] = isc_random; + vector[2] = isc_arg_string; + vector[3] = (ISC_STATUS)"Key not set"; + vector[4] = isc_arg_end; + status->set(vector); +} + +int FB_CARG CryptKeyHolder::keyCallback(IStatus* status, ICryptKeyCallback* callback) +{ + status->init(); + + if (key != 0) + { + return 1; + } + + IConfig* def = config->getDefaultConfig(); + IConfigEntry* confEntry = def->find("Auto"); + def->release(); + if (confEntry) + { + char v = *(confEntry->getValue()); + confEntry->release(); + if (v == '1' || v == 'y' || v == 'Y' || v == 't' || v == 'T') + { + key = 0x5a; + return 1; + } + } + + if (callback && callback->callback(0, NULL, 1, &key) != 1) + { + key = 0; + return 0; + } + + return 1; +} + +ICryptKeyCallback* FB_CARG CryptKeyHolder::keyHandle(IStatus* status, const char* keyName) +{ + if (strcmp(keyName, "sample") != 0) + { + return NULL; + } + + return &callbackInterface; +} + +class Factory : public IPluginFactory +{ +public: + int FB_CARG getVersion() + { + return FB_PLUGIN_FACTORY_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return &module; + } + + IPluginBase* FB_CARG createPlugin(IPluginConfig* factoryParameter) + { + CryptKeyHolder* p = new CryptKeyHolder(factoryParameter); + p->addRef(); + return p; + } +}; + +Factory factory; + +} // anonymous namespace + +extern "C" void FB_PLUGIN_ENTRY_POINT(Firebird::IMaster* m) +{ + master = m; + pluginManager = master->getPluginManager(); + + module.registerMe(); + pluginManager->registerPluginFactory(PluginType::KeyHolder, "CryptKeyHolder_example", + &factory); +} Property changes on: firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp ___________________________________________________________________ Added: svn:mime-type + text/x-c++src Added: svn:eol-style + native Added: firebird/trunk/examples/dbcrypt/DbCrypt.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/DbCrypt.cpp (rev 0) +++ firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -0,0 +1,266 @@ +/* + * PROGRAM: Firebird samples. + * MODULE: DbCrypt.cpp + * DESCRIPTION: Sample of how diskcrypt may be written. + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alex Peshkov + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2012 Alex Peshkov <peshkoff at mail.ru> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + */ + +#include "firebird.h" +#include "firebird/Crypt.h" + +#include "../common/classes/fb_atomic.h" + +using namespace Firebird; + +namespace +{ + +IMaster* master = NULL; +IPluginManager* pluginManager = NULL; + +class PluginModule : public IPluginModule +{ +public: + PluginModule() + : flag(false) + { } + + void registerMe() + { + pluginManager->registerModule(this); + flag = true; + } + + ~PluginModule() + { + if (flag) + { + pluginManager->unregisterModule(this); + doClean(); + } + } + + int FB_CARG getVersion() + { + return FB_PLUGIN_MODULE_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return this; + } + + void FB_CARG doClean() + { + flag = false; + } + +private: + bool flag; +}; + +PluginModule module; + +class DbCrypt : public IDbCryptPlugin +{ +public: + explicit DbCrypt(IPluginConfig* cnf) + : config(cnf), key(0), owner(NULL) + { + config->addRef(); + } + + ~DbCrypt() + { + config->release(); + } + + // ICryptPlugin implementation + void FB_CARG encrypt(IStatus* status, unsigned int length, const void* from, void* to); + void FB_CARG decrypt(IStatus* status, unsigned int length, const void* from, void* to); + void FB_CARG setKey(IStatus* status, unsigned int length, IKeyHolderPlugin** sources); + + int FB_CARG release() + { + if (--refCounter == 0) + { + delete this; + return 0; + } + return 1; + } + + void FB_CARG addRef() + { + ++refCounter; + } + + int FB_CARG getVersion() + { + return FB_DBCRYPT_PLUGIN_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return &module; + } + + void FB_CARG setOwner(Firebird::IRefCounted* o) + { + owner = o; + } + + IRefCounted* FB_CARG getOwner() + { + return owner; + } + +private: + IPluginConfig* config; + UCHAR key; + + AtomicCounter refCounter; + IRefCounted* owner; + + void noKeyError(IStatus* status); +}; + +void DbCrypt::noKeyError(IStatus* status) +{ + ISC_STATUS_ARRAY vector; + vector[0] = isc_arg_gds; + vector[1] = isc_random; + vector[2] = isc_arg_string; + vector[3] = (ISC_STATUS)"Key not set"; + vector[4] = isc_arg_end; + status->set(vector); +} + +void FB_CARG DbCrypt::encrypt(IStatus* status, unsigned int length, const void* from, void* to) +{ + status->init(); + + if (!key) + { + noKeyError(status); + return; + } + + const UCHAR* f = static_cast<const UCHAR*>(from); + UCHAR* t = static_cast<UCHAR*>(to); + while(length--) + { + *t++ = (*f++) + key; + } +} + +void FB_CARG DbCrypt::decrypt(IStatus* status, unsigned int length, const void* from, void* to) +{ + status->init(); + + if (!key) + { + noKeyError(status); + return; + } + + const UCHAR* f = static_cast<const UCHAR*>(from); + UCHAR* t = static_cast<UCHAR*>(to); + while(length--) + { + *t++ = (*f++) - key; + } +} + +void FB_CARG DbCrypt::setKey(IStatus* status, unsigned int length, IKeyHolderPlugin** sources) +{ + status->init(); + + if (key != 0) + return; + + IConfig* def = config->getDefaultConfig(); + IConfigEntry* confEntry = def->find("Auto"); + def->release(); + if (confEntry) + { + char v = *(confEntry->getValue()); + confEntry->release(); + if (v == '1' || v == 'y' || v == 'Y' || v == 't' || v == 'T') + { + key = 0x5a; + return; + } + } + + for (unsigned n = 0; n < length; ++n) + { + ICryptKeyCallback* callback = sources[n]->keyHandle(status, "sample"); + if (!status->isSuccess()) + { + return; + } + + if (callback && callback->callback(0, NULL, 1, &key) == 1) + { + return; + } + } + + key = 0; + noKeyError(status); +} + +class Factory : public IPluginFactory +{ +public: + int FB_CARG getVersion() + { + return FB_PLUGIN_FACTORY_VERSION; + } + + IPluginModule* FB_CARG getModule() + { + return &module; + } + + IPluginBase* FB_CARG createPlugin(IPluginConfig* factoryParameter) + { + DbCrypt* p = new DbCrypt(factoryParameter); + p->addRef(); + return p; + } +}; + +Factory factory; + +} // anonymous namespace + +extern "C" void FB_PLUGIN_ENTRY_POINT(Firebird::IMaster* m) +{ + master = m; + pluginManager = master->getPluginManager(); + + module.registerMe(); + pluginManager->registerPluginFactory(PluginType::DbCrypt, "DbCrypt_example", + &factory); +} Property changes on: firebird/trunk/examples/dbcrypt/DbCrypt.cpp ___________________________________________________________________ Added: svn:mime-type + text/x-c++src Added: svn:eol-style + native Added: firebird/trunk/examples/dbcrypt/ReadMe.txt =================================================================== --- firebird/trunk/examples/dbcrypt/ReadMe.txt (rev 0) +++ firebird/trunk/examples/dbcrypt/ReadMe.txt 2012-05-31 16:53:42 UTC (rev 54574) @@ -0,0 +1,2 @@ +All files in this directory are trivial samples. +They do not perform any real data encryption and should not be used in production! Property changes on: firebird/trunk/examples/dbcrypt/ReadMe.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:eol-style + native Modified: firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/auth/SecureRemotePassword/manage/SrpManagement.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -216,8 +216,7 @@ dpb.insertString(isc_dpb_trusted_role, ADMIN_ROLE, strlen(ADMIN_ROLE)); } - Firebird::RefPtr<Firebird::IProvider> p(Firebird::MasterInterfacePtr()->getDispatcher()); - p->release(); + Firebird::DispatcherPtr p; att = p->attachDatabase(status, secDbName, dpb.getBufferLength(), dpb.getBuffer()); if (!status->isSuccess()) { Modified: firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp =================================================================== --- firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/auth/SecureRemotePassword/server/SrpServer.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -123,8 +123,7 @@ const char* str = "SYSDBA"; dpb.insertString(isc_dpb_user_name, str, strlen(str)); - RefPtr<IProvider> p(MasterInterfacePtr()->getDispatcher()); - p->release(); + DispatcherPtr p; att = p->attachDatabase(status, secDbName, dpb.getBufferLength(), dpb.getBuffer()); if (!status->isSuccess()) Modified: firebird/trunk/src/common/IntlUtil.cpp =================================================================== --- firebird/trunk/src/common/IntlUtil.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/IntlUtil.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -27,6 +27,7 @@ #include "firebird.h" #include "../common/IntlUtil.h" #include "../common/unicode_util.h" +#include "../jrd/intl.h" #include "../jrd/intl_classes.h" #include "../intl/country_codes.h" #include "../common/classes/auto.h" Modified: firebird/trunk/src/common/TextType.cpp =================================================================== --- firebird/trunk/src/common/TextType.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/TextType.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -93,7 +93,6 @@ #include "firebird.h" #include "gen/iberror.h" -#include "../jrd/jrd.h" #include "../jrd/intl_classes.h" #include "../common/IntlUtil.h" #include "../common/classes/Aligner.h" @@ -380,5 +379,14 @@ return srcLen / getCharSet()->minBytesPerChar(); } +BYTE TextType::getCanonicalWidth() const +{ + return tt->texttype_canonical_width; +} +USHORT TextType::getFlags() const +{ + return tt->texttype_flags; +} + } // namespace Jrd Modified: firebird/trunk/src/common/TextType.h =================================================================== --- firebird/trunk/src/common/TextType.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/TextType.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -30,6 +30,8 @@ #ifndef JRD_TEXTTYPE_H #define JRD_TEXTTYPE_H +#include "../common/classes/MetaName.h" + struct texttype; namespace Jrd { @@ -85,16 +87,9 @@ return cs; } - BYTE getCanonicalWidth() const - { - return tt->texttype_canonical_width; - } + BYTE getCanonicalWidth() const; + USHORT getFlags() const; - USHORT getFlags() const - { - return tt->texttype_flags; - } - public: Firebird::MetaName name; Modified: firebird/trunk/src/common/classes/GetPlugins.h =================================================================== --- firebird/trunk/src/common/classes/GetPlugins.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/classes/GetPlugins.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -47,7 +47,7 @@ { LocalStatus status; pluginSet = pluginInterface->getPlugins(&status, interfaceType, - (namesList ? namesList : Config::getPlugins(interfaceType)), + (namesList ? namesList : Config::getDefaultConfig()->getPlugins(interfaceType)), desiredVersion, ui, NULL); if (!pluginSet) @@ -67,7 +67,7 @@ { LocalStatus status; pluginSet = pluginInterface->getPlugins(&status, interfaceType, - (namesList ? namesList : Config::getPlugins(interfaceType)), + (namesList ? namesList : knownConfig->getPlugins(interfaceType)), desiredVersion, ui, new FirebirdConf(knownConfig)); if (!pluginSet) Modified: firebird/trunk/src/common/classes/ImplementHelper.h =================================================================== --- firebird/trunk/src/common/classes/ImplementHelper.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/classes/ImplementHelper.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -232,6 +232,21 @@ }; +// Dispatcher access +class DispatcherPtr : public AccessAutoInterface<IProvider> +{ +public: + DispatcherPtr() + : AccessAutoInterface<IProvider>(getMasterInterface()->getDispatcher()) + { } + + ~DispatcherPtr() + { + (*this)->release(); + } +}; + + // When process exits, dynamically loaded modules (for us plugin modules) // are unloaded first. As the result all global variables in plugin are already destroyed // when yvalve is starting fb_shutdown(). This causes almost unavoidable segfault. Modified: firebird/trunk/src/common/config/config.cpp =================================================================== --- firebird/trunk/src/common/config/config.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/config/config.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -175,7 +175,9 @@ {TYPE_BOOLEAN, "SharedCache", (ConfigValue) true}, {TYPE_BOOLEAN, "SharedDatabase", (ConfigValue) false}, {TYPE_STRING, "WireCrypt", (ConfigValue) NULL}, - {TYPE_STRING, "CryptPlugin", (ConfigValue) "Arc4"} + {TYPE_STRING, "WireCryptPlugin", (ConfigValue) "Arc4"}, + {TYPE_STRING, "DbCryptPlugin", (ConfigValue) ""}, + {TYPE_STRING, "KeyHolderPlugin", (ConfigValue) ""} }; /****************************************************************************** @@ -663,22 +665,26 @@ #endif } -const char* Config::getPlugins(unsigned int type) +const char* Config::getPlugins(unsigned int type) const { switch (type) { case Firebird::PluginType::Provider: - return (const char*) getDefaultConfig()->values[KEY_PLUG_PROVIDERS]; + return (const char*) values[KEY_PLUG_PROVIDERS]; case Firebird::PluginType::AuthServer: - return (const char*) getDefaultConfig()->values[KEY_PLUG_AUTH_SERVER]; + return (const char*) values[KEY_PLUG_AUTH_SERVER]; case Firebird::PluginType::AuthClient: - return (const char*) getDefaultConfig()->values[KEY_PLUG_AUTH_CLIENT]; + return (const char*) values[KEY_PLUG_AUTH_CLIENT]; case Firebird::PluginType::AuthUserManagement: - return (const char*) getDefaultConfig()->values[KEY_PLUG_AUTH_MANAGE]; + return (const char*) values[KEY_PLUG_AUTH_MANAGE]; case Firebird::PluginType::Trace: - return (const char*) getDefaultConfig()->values[KEY_PLUG_TRACE]; - case Firebird::PluginType::Crypt: - return (const char*) getDefaultConfig()->values[KEY_PLUG_CRYPT]; + return (const char*) values[KEY_PLUG_TRACE]; + case Firebird::PluginType::WireCrypt: + return (const char*) values[KEY_PLUG_WIRE_CRYPT]; + case Firebird::PluginType::DbCrypt: + return (const char*) values[KEY_PLUG_DB_CRYPT]; + case Firebird::PluginType::KeyHolder: + return (const char*) values[KEY_PLUG_KEY_HOLDER]; } (Firebird::Arg::Gds(isc_random) << "Internal error in Config::getPlugins()").raise(); Modified: firebird/trunk/src/common/config/config.h =================================================================== --- firebird/trunk/src/common/config/config.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/config/config.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -140,7 +140,9 @@ KEY_SHARED_CACHE, KEY_SHARED_DATABASE, KEY_WIRE_CRYPT, - KEY_PLUG_CRYPT, + KEY_PLUG_WIRE_CRYPT, + KEY_PLUG_DB_CRYPT, + KEY_PLUG_KEY_HOLDER, MAX_CONFIG_KEY // keep it last }; @@ -337,7 +339,7 @@ static bool getMultiClientServer(); - static const char* getPlugins(unsigned int type); + const char* getPlugins(unsigned int type) const; const char* getSecurityDatabase() const; Modified: firebird/trunk/src/common/isc.cpp =================================================================== --- firebird/trunk/src/common/isc.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/isc.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -42,7 +42,6 @@ #include "gen/iberror.h" #include "../jrd/ibase.h" -#include "../jrd/jrd.h" #include "../jrd/scl.h" #include "../yvalve/gds_proto.h" #include "../common/isc_proto.h" Modified: firebird/trunk/src/common/isc_file.cpp =================================================================== --- firebird/trunk/src/common/isc_file.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/isc_file.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -47,7 +47,6 @@ #include <string.h> #include <ctype.h> #include "gen/iberror.h" -#include "../jrd/jrd.h" #include "../yvalve/gds_proto.h" #include "../common/isc_proto.h" #include "../common/isc_f_proto.h" @@ -1296,9 +1295,9 @@ /************************************** * * g e t _ m o u n t s ( S Y S T E M _ V ) - * ( E P S O N ) - * ( M 8 8 K ) - * ( U N I X W A R E ) + * ( E P S O N ) + * ( M 8 8 K ) + * ( U N I X W A R E ) * ************************************** * @@ -1401,7 +1400,9 @@ const char* start = device; if (n<5) - return false; + { + return false; + } const char* iflag = strchr(device, ':'); if (iflag) Modified: firebird/trunk/src/common/sdl.cpp =================================================================== --- firebird/trunk/src/common/sdl.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/common/sdl.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -23,7 +23,6 @@ #include "firebird.h" #include <string.h> -#include "../jrd/jrd.h" #include "../jrd/ibase.h" #include "../jrd/val.h" #include "../common/sdl.h" Modified: firebird/trunk/src/dsql/BoolNodes.cpp =================================================================== --- firebird/trunk/src/dsql/BoolNodes.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/dsql/BoolNodes.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -34,6 +34,7 @@ #include "../jrd/intl_proto.h" #include "../jrd/mov_proto.h" #include "../jrd/par_proto.h" +#include "../jrd/Collation.h" #include "../dsql/ddl_proto.h" #include "../dsql/errd_proto.h" #include "../dsql/gen_proto.h" Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/dsql/DdlNodes.epp 2012-05-31 16:53:42 UTC (rev 54574) @@ -9946,6 +9946,22 @@ if (!tdbb->getAttachment()->locksmith()) status_exception::raise(Arg::Gds(isc_adm_task_denied)); + if (cryptPlugin.hasData()) + { + DFW_post_work(transaction, dfw_db_crypt, cryptPlugin.c_str(), 0); + } + + if (clauses & CLAUSE_DECRYPT) + { + DFW_post_work(transaction, dfw_db_crypt, "", 0); + } + + if (!(clauses & RDB_DATABASE_MASK)) + { + // No clauses requiring rdb$database present - work is done + return; + } + // run all statements under savepoint control AutoSavePoint savePoint(tdbb, transaction); Modified: firebird/trunk/src/dsql/DdlNodes.h =================================================================== --- firebird/trunk/src/dsql/DdlNodes.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/dsql/DdlNodes.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -1950,10 +1950,13 @@ class AlterDatabaseNode : public DdlNode { public: - static const unsigned CLAUSE_BEGIN_BACKUP = 0x01; - static const unsigned CLAUSE_END_BACKUP = 0x02; - static const unsigned CLAUSE_DROP_DIFFERENCE = 0x04; + static const unsigned CLAUSE_BEGIN_BACKUP = 0x01; + static const unsigned CLAUSE_END_BACKUP = 0x02; + static const unsigned CLAUSE_DROP_DIFFERENCE = 0x04; + static const unsigned CLAUSE_DECRYPT = 0x08; + static const unsigned RDB_DATABASE_MASK = CLAUSE_BEGIN_BACKUP | CLAUSE_END_BACKUP | CLAUSE_DROP_DIFFERENCE; + public: AlterDatabaseNode(MemoryPool& p) : DdlNode(p), @@ -1963,7 +1966,8 @@ differenceFile(p), setDefaultCharSet(p), setDefaultCollation(p), - files(p) + files(p), + cryptPlugin(p) { } @@ -1996,6 +2000,7 @@ Firebird::MetaName setDefaultCharSet; Firebird::MetaName setDefaultCollation; Firebird::Array<NestConst<DbFileClause> > files; + Firebird::MetaName cryptPlugin; }; Modified: firebird/trunk/src/dsql/ExprNodes.cpp =================================================================== --- firebird/trunk/src/dsql/ExprNodes.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/dsql/ExprNodes.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -56,6 +56,7 @@ #include "../dsql/utld_proto.h" #include "../dsql/DSqlDataTypeUtil.h" #include "../jrd/DataTypeUtil.h" +#include "../jrd/Collation.h" using namespace Firebird; using namespace Jrd; Modified: firebird/trunk/src/dsql/parse.y =================================================================== --- firebird/trunk/src/dsql/parse.y 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/dsql/parse.y 2012-05-31 16:53:42 UTC (rev 54574) @@ -547,6 +547,8 @@ %token <legacyStr> BODY %token <legacyStr> CONTINUE %token <legacyStr> DDL +%token <legacyStr> DECRYPT +%token <legacyStr> ENCRYPT %token <legacyStr> ENGINE %token <legacyStr> NAME %token <legacyStr> OVER @@ -3546,6 +3548,10 @@ { $alterDatabaseNode->clauses |= AlterDatabaseNode::CLAUSE_END_BACKUP; } | SET DEFAULT CHARACTER SET symbol_character_set_name { $alterDatabaseNode->setDefaultCharSet = toName($5); } + | ENCRYPT WITH valid_symbol_name + { $alterDatabaseNode->cryptPlugin = toName($3); } + | DECRYPT + { $alterDatabaseNode->clauses |= AlterDatabaseNode::CLAUSE_DECRYPT; } ; @@ -6842,6 +6848,8 @@ | BODY | CONTINUE | DDL + | DECRYPT + | ENCRYPT | ENGINE | IDENTITY | NAME Modified: firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp =================================================================== --- firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/gpre/boot/gpre_meta_boot.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -744,6 +744,11 @@ fb_assert(false); return NULL; } + + virtual int FB_CARG same(IVersioned* /*first*/, IVersioned* /*second*/) + { + return 0; + } }; Modified: firebird/trunk/src/include/consts_pub.h =================================================================== --- firebird/trunk/src/include/consts_pub.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/consts_pub.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -505,6 +505,7 @@ #define isc_spb_sts_record_versions 0x20 #define isc_spb_sts_table 0x40 #define isc_spb_sts_nocreation 0x80 +#define isc_spb_sts_encryption 0x100 /***********************************/ /* Server configuration key values */ Modified: firebird/trunk/src/include/firebird/Crypt.h =================================================================== --- firebird/trunk/src/include/firebird/Crypt.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/firebird/Crypt.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -27,26 +27,71 @@ namespace Firebird { -class ICrypt : public IRefCounted +// Part 1. Network crypt. + +// Plugins of this type are used to crypt data, sent over the wire +// Plugin must support encrypt and decrypt operations +// Interface of plugin is the same for both client and server, +// and it may have differerent or same implementations for client and server +class IWireCryptPlugin : public IPluginBase { public: - virtual void FB_CARG transform(IStatus* status, unsigned int length, const void* from, void* to) = 0; + // getKnownTypes() function must return list of acceptable keys' types + // special type 'builtin' means that crypt plugin knows itself where to get the key from + virtual const char* FB_CARG getKnownTypes(IStatus* status) = 0; + virtual void FB_CARG setKey(IStatus* status, FbCryptKey* key) = 0; + virtual void FB_CARG encrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; + virtual void FB_CARG decrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; }; -#define FB_CRYPT_VERSION (FB_REFCOUNTED_VERSION + 1) +#define FB_WIRECRYPT_PLUGIN_VERSION (FB_PLUGIN_VERSION + 4) -class ICryptPlugin : public IPluginBase +// Part 2. Database crypt. + +// This interface is used to transfer some data (related with crypt keys) +// between different components of firebird +class ICryptKeyCallback : public IVersioned { public: - // getKnownTypes() function must return list of acceptable keys' types - // special type 'builtin' means that crypt plugin knows itself where to get the key from - virtual const char* FB_CARG getKnownTypes(IStatus* status) = 0; - virtual ICrypt* FB_CARG getEncrypt(IStatus* status, FbCryptKey* key) = 0; - virtual ICrypt* FB_CARG getDecrypt(IStatus* status, FbCryptKey* key) = 0; + virtual unsigned int FB_CARG callback(unsigned int dataLength, const void* data, + unsigned int bufferLength, void* buffer) = 0; }; -#define FB_CRYPT_PLUGIN_VERSION (FB_PLUGIN_VERSION + 3) +#define FB_CRYPT_CALLBACK_VERSION (FB_VERSIONED_VERSION + 1) +// Key holder accepts key(s) from attachment at database attach time +// (or gets them it some other arbitrary way) +// and sends it to database crypt plugin on request +class IKeyHolderPlugin : public IPluginBase +{ +public: + // keyCallback() is called when new attachment is probably ready to provide keys + // to key holder plugin, ICryptKeyCallback interface is provided by attachment + virtual int FB_CARG keyCallback(IStatus* status, ICryptKeyCallback* callback) = 0; + // Crypt plugin calls keyHandle() whne it needs a key, stored in key holder + // Key is not returned directly - instead of it callback interface is returned + // Missing key with given name is not an error condition for keyHandle() + // It should just return NULL in this case + virtual ICryptKeyCallback* FB_CARG keyHandle(IStatus* status, const char* keyName) = 0; +}; + +#define FB_KEYHOLDER_PLUGIN_VERSION (FB_PLUGIN_VERSION + 2) + +class IDbCryptPlugin : public IPluginBase +{ +public: + // When database crypt plugin is loaded, setKey() is called to provide information + // about key holders, available for givaen database + // It's supposed that crypt plugin will invoke keyHandle() function from them + // to access callback interface for getting actual crypt key + // If crypt plugin fails to find appropriate key in sources, it should raise error + virtual void FB_CARG setKey(IStatus* status, unsigned int length, IKeyHolderPlugin** sources) = 0; + virtual void FB_CARG encrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; + virtual void FB_CARG decrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; +}; + +#define FB_DBCRYPT_PLUGIN_VERSION (FB_PLUGIN_VERSION + 3) + } // namespace Firebird Modified: firebird/trunk/src/include/firebird/Interface.h =================================================================== --- firebird/trunk/src/include/firebird/Interface.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/firebird/Interface.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -113,8 +113,11 @@ virtual IDtc* FB_CARG getDtc() = 0; virtual IAttachment* registerAttachment(IProvider* provider, IAttachment* attachment) = 0; virtual ITransaction* registerTransaction(IAttachment* attachment, ITransaction* transaction) = 0; + + // This function is required to compare interfaces based on vtables of them + virtual int FB_CARG same(IVersioned* first, IVersioned* second) = 0; }; -#define FB_MASTER_VERSION (FB_VERSIONED_VERSION + 9) +#define FB_MASTER_VERSION (FB_VERSIONED_VERSION + 10) } // namespace Firebird Modified: firebird/trunk/src/include/firebird/Plugin.h =================================================================== --- firebird/trunk/src/include/firebird/Plugin.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/firebird/Plugin.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -220,9 +220,11 @@ static const unsigned int AuthUserManagement = 13; static const unsigned int ExternalEngine = 14; static const unsigned int Trace = 15; - static const unsigned int Crypt = 16; + static const unsigned int WireCrypt = 16; + static const unsigned int DbCrypt = 17; + static const unsigned int KeyHolder = 18; - static const unsigned int MaxType = 17; // keep in sync please + static const unsigned int MaxType = 19; // keep in sync please }; } // namespace Firebird Modified: firebird/trunk/src/include/firebird/Provider.h =================================================================== --- firebird/trunk/src/include/firebird/Provider.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/firebird/Provider.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -36,6 +36,7 @@ // This interfaces are implemented by yvalve code and by each of providers. class IAttachment; // Forward +class ICryptKeyCallback; // From Crypt.h struct FbMessage { @@ -235,10 +236,11 @@ virtual IAttachment* FB_CARG createDatabase(IStatus* status, const char* fileName, unsigned int dpbLength, const unsigned char* dpb) = 0; virtual IService* FB_CARG attachServiceManager(IStatus* status, const char* service, - unsigned int spbLength, const unsigned char* spb) = 0; + unsigned int spbLength, const unsigned char* spb) = 0; virtual void FB_CARG shutdown(IStatus* status, unsigned int timeout, const int reason) = 0; + virtual void FB_CARG setDbCryptCallback(IStatus* status, ICryptKeyCallback* cryptCallback) = 0; }; -#define FB_PROVIDER_VERSION (FB_PLUGIN_VERSION + 4) +#define FB_PROVIDER_VERSION (FB_PLUGIN_VERSION + 5) // DtcStart - structure to start transaction over >1 attachments (former TEB) struct DtcStart Modified: firebird/trunk/src/include/gen/ids.h =================================================================== --- firebird/trunk/src/include/gen/ids.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/include/gen/ids.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -479,6 +479,7 @@ const USHORT f_mon_db_pages = 16; const USHORT f_mon_db_stat_id = 17; const USHORT f_mon_db_backup_state = 18; + const USHORT f_mon_db_crypt_page = 19; // Relation 34 (MON$ATTACHMENTS) Modified: firebird/trunk/src/jrd/Attachment.cpp =================================================================== --- firebird/trunk/src/jrd/Attachment.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/jrd/Attachment.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -368,11 +368,7 @@ Lock* long_lock = att_long_locks; while (long_lock) { - Lock* next = long_lock->lck_next; - long_lock->lck_attachment = NULL; - long_lock->lck_next = NULL; - long_lock->lck_prior = NULL; - long_lock = next; + long_lock = long_lock->detach(); } att_long_locks = NULL; } Modified: firebird/trunk/src/jrd/Attachment.h =================================================================== --- firebird/trunk/src/jrd/Attachment.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/jrd/Attachment.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -44,6 +44,10 @@ class Connection; } +namespace Firebird { + class ICryptKeyCallback; +} + class CharSetContainer; namespace Jrd @@ -273,6 +277,7 @@ Firebird::Array<JrdStatement*> att_internal; // internal statements Firebird::Array<JrdStatement*> att_dyn_req; // internal dyn statements + Firebird::ICryptKeyCallback* att_crypt_callback; // callback for DB crypt jrd_req* findSystemRequest(thread_db* tdbb, USHORT id, USHORT which); Modified: firebird/trunk/src/jrd/Collation.cpp =================================================================== --- firebird/trunk/src/jrd/Collation.cpp 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/jrd/Collation.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -99,6 +99,7 @@ #include "../jrd/intl_classes.h" #include "../jrd/lck_proto.h" #include "../jrd/intl_classes.h" +#include "../jrd/Collation.h" #include "../common/TextType.h" #include "../jrd/SimilarToMatcher.h" Modified: firebird/trunk/src/jrd/Collation.h =================================================================== --- firebird/trunk/src/jrd/Collation.h 2012-05-31 12:55:40 UTC (rev 54573) +++ firebird/trunk/src/jrd/Collation.h 2012-05-31 16:53:42 UTC (rev 54574) @@ -36,6 +36,7 @@ namespace Jrd { class Lock; +class BaseSubstringSimilarMatcher; class Collation : public TextType { Added: firebird/trunk/src/jrd/CryptoManager.cpp =================================================================== --- firebird/trunk/src/jrd/CryptoManager.cpp (rev 0) +++ firebird/trunk/src/jrd/CryptoManager.cpp 2012-05-31 16:53:42 UTC (rev 54574) @@ -0,0 +1,728 @@ +/* + * PROGRAM: JRD access method + * MODULE: CryptoManager.cpp + * DESCRIPTION: Database encryption + * + * The contents of this file are subject to the Initial + * Developer's Public License Version 1.0 (the "License"); + * you may not use this file except in compliance with the + * License. You may obtain a copy of the License at + * http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_idpl. + * + * Software distributed under the License is distributed AS IS, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. + * See the License for the specific language governing rights + * and limitations under the License. + * + * The Original Code was created by Alex Peshkov + * for the Firebird Open Source RDBMS project. + * + * Copyright (c) 2008 Alex Peshkov <peshkoff at mail.ru> + * and all contributors signed below. + * + * All Rights Reserved. + * Contributor(s): ______________________________________. + * + * + */ + +#include "firebird.h" +#include "firebird/Crypt.h" +#include "gen/iberror.h" +#include "../jrd/CryptoManager.h" + +#include "../common/classes/alloc.h" +#include "../jrd/Database.h" +#include "../jrd/ods.h" +#include "../common/ThreadStart.h" +#include "../jrd/os/pio_proto.h" +#include "../common/StatusArg.h" +#include "../common/StatusHolder.h" +#include "../jrd/lck.h" +#include "../jrd/jrd.h" +#include "../jrd/pag.h" +#include "../jrd/nbak.h" +#include "../jrd/cch_proto.h" +#include "../jrd/lck_proto.h" +#include "../jrd/pag_proto.h" +#include "../common/isc_proto.h" +#include "../common/classes/GetPlugins.h" + +using namespace Firebird; + +namespace { + class SpareBuffer + { + public: + Ods::pag* get() + { + return buffer; + } + + private: + Ods::pag buffer[MAX_PAGE_SIZE / sizeof(Ods::pag)]; + }; + + THREAD_ENTRY_DECLARE cryptThreadStatic(THREAD_ENTRY_PARAM p) + { + Jrd::CryptoManager* cryptoManager = (Jrd::CryptoManager*)p; + cryptoManager->cryptThread(); + + return 0; + } + + class Header + { + public: + Header(Jrd::thread_db* p_tdbb, USHORT lockType) + : tdbb(p_tdbb), + window(Jrd::HEADER_PAGE_NUMBER), + header((Ods::header_page*) CCH_FETCH(tdbb, &window, lockType, pag_header)) + { + if (!header) + { + (Arg::Gds(isc_random) << "Header page fetch failed").raise(); + } + } + + Ods::header_page* write() + { + CCH_MARK_MUST_WRITE(tdbb, &window); + return header; + } + + void depends(Stack<ULONG>& pages) + { + while(pages.hasData()) + { + CCH_precedence(tdbb, &window, pages.pop()); + } + } + + const Ods::header_page* operator->() const + { + return header; + } + + operator const Ods::header_page*() const + { + return header; + } + + ~Header() + { + CCH_RELEASE(tdbb, &window); + } + + private: + Jrd::thread_db* tdbb; + Jrd::WIN window; + Ods::header_page* header; + }; + + class NoEntrypoint + { + public: + virtual void FB_CARG noEntrypoint(IStatus* s) + { + s->set(Arg::Gds(isc_wish_list).value()); + } + }; + + MakeUpgradeInfo<NoEntrypoint> upInfo; +} + +namespace Jrd { + + CryptoManager::CryptoManager(thread_db* tdbb) + : PermanentStorage(*tdbb->getDatabase()->dbb_permanent), + keyHolderPlugins(getPool()), + cryptThreadId(0), + cryptPlugin(NULL), + dbb(*tdbb->getDatabase()), + needLock(true), + crypt(false), + process(false), + down(false) + { + stateLock = FB_NEW_RPT(getPool(), 0) + Lock(tdbb, LCK_crypt_status, this, blockingAstChangeCryptState); + threadLock = FB_NEW_RPT(getPool(), 0) Lock(tdbb, LCK_crypt); + + takeStateLock(tdbb); + } + + CryptoManager::~CryptoManager() + { + } + + void CryptoManager::terminateCryptThread(thread_db*) + { + if (cryptThreadId) + { + down = true; + Thread::waitForCompletion(cryptThreadId); + cryptThreadId = 0; + } + } + + void CryptoManager::shutdown(thread_db* tdbb) + { + terminateCryptThread(tdbb); + + if (cryptPlugin) + { + PluginManagerInterfacePtr()->releasePlugin(cryptPlugin); + cryptPlugin = NULL; + } + + if (stateLock) + { + LCK_release(tdbb, stateLock); + stateLock = NULL; + } + } + + void CryptoManager::takeStateLock(thread_db* tdbb) + { + fb_assert(stateLock); + fb_assert(tdbb->getAttachment()); + + if (needLock) + { + if (!LCK_lock(tdbb, stateLock, LCK_SR, LCK_WAIT)) + { + fb_assert(tdbb->tdbb_status_vector[1]); + ERR_punt(); + } + + fb_utils::init_status(tdbb->tdbb_status_vector); + + needLock = false; + } + } + + void CryptoManager::loadPlugin(const char* pluginName) + { + MutexLockGuard guard(pluginLoadMtx); + + if (cryptPlugin) + { + return; + } + + GetPlugins<IDbCryptPlugin> cryptControl(PluginType::DbCrypt, FB_DBCRYPT_PLUGIN_VERSION, + upInfo, dbb.dbb_config, pluginName); + if (!cryptControl.hasData()) + { + (Arg::Gds(isc_random) << + "Invalid crypt plugin name").raise(); + } + + // do not assign cryptPlugin directly before key init complete + IDbCryptPlugin* p = cryptControl.plugin(); + keyHolderPlugins.init(p); + cryptPlugin = p; + cryptPlugin->addRef(); + } + + void CryptoManager::changeCryptState(thread_db* tdbb, const Firebird::string& plugName) + { + if (plugName.length() > 31) + { + (Arg::Gds(isc_random) << + "Crypt plugin name should not be >31 bytes").raise(); + } + + bool newCryptState = plugName.hasData(); + { // window scope + Header hdr(tdbb, LCK_write); + + // Check header page for flags + if (hdr->hdr_flags & Ods::hdr_crypt_process) + { + (Arg::Gds(isc_random) << + "Crypt failed - already crypting database").raise(); + } + + bool headerCryptState = hdr->hdr_flags & Ods::hdr_encrypted; + if (headerCryptState == newCryptState) + { + (Arg::Gds(isc_random) << + "Crypt failed - database is already in requested state").raise(); + } + + fb_assert(stateLock); + // Take exclusive stateLock + bool ret = needLock ? LCK_lock(tdbb, stateLock, LCK_PW, LCK_WAIT) : + LCK_convert(tdbb, stateLock, LCK_PW, LCK_WAIT); + if (!ret) + { + fb_assert(tdbb->tdbb_status_vector[1]); + ERR_punt(); + } + fb_utils::init_status(tdbb->tdbb_status_vector); + needLock = false; + + // Load plugin + if (newCryptState) + { + loadPlugin(plugName.c_str()); + } + crypt = newCryptState; + + // Write modified header page + Ods::header_page* header = hdr.write(); + if (crypt) + { + header->hdr_flags |= Ods::hdr_encrypted; + plugName.copyTo(header->hdr_crypt_plugin, sizeof header->hdr_crypt_plugin); + } + else + { + header->hdr_flags &= ~Ods::hdr_encrypted; + } + header->hdr_flags |= Ods::hdr_crypt_process; + process = true; + } + + // Trigger lock on ChangeCryptState + if (!LCK_convert(tdbb, stateLock, LCK_EX, LCK_WAIT)) + { + ERR_punt(); + } + + if (!LCK_convert(tdbb, stateLock, LCK_SR, LCK_WAIT)) + { + ERR_punt(); + } + fb_utils::init_status(tdbb->tdbb_status_vector); + + // Now we may set hdr_crypt_page for crypt thread + { // window scope + Header hdr(tdbb, LCK_write); + Ods::header_page* header = hdr.write(); + header->hdr_crypt_page = 1; + } + + startCryptThread(tdbb); + } + + void CryptoManager::blockingAstChangeCryptState() + { + AsyncContextHolder tdbb(&dbb); + + fb_assert(stateLock); + LCK_release(tdbb, stateLock); + needLock = true; + } + + void CryptoManager::startCryptThread(thread_db* tdbb) + { + // Take exclusive threadLock + // If can't take that lock - nothing to do, cryptThread already runs somewhere + if (LCK_lock(tdbb, threadLock, LCK_EX, LCK_NO_WAIT)) + { + // Cleanup resources + terminateCryptThread(tdbb); + down = false; + + // Determine current page from the header + Header hdr(tdbb, LCK_read); + process = hdr->hdr_flags & Ods::h... [truncated message content] |
From: <fir...@us...> - 2012-06-01 03:21:07
|
Revision: 54575 http://firebird.svn.sourceforge.net/firebird/?rev=54575&view=rev Author: firebirds Date: 2012-06-01 03:21:00 +0000 (Fri, 01 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-05-31 16:53:42 UTC (rev 54574) +++ firebird/trunk/ChangeLog 2012-06-01 03:21:00 UTC (rev 54575) @@ -1,3 +1,119 @@ + 2012-05-31 16:53 alexpeshkoff + M builds/posix/Makefile.in + M builds/posix/Makefile.in.plugins_examples + M builds/posix/firebird.vers + M builds/posix/make.defaults + M builds/posix/make.shared.variables + M builds/win32/defs/firebird.def + A examples/dbcrypt + A examples/dbcrypt/CryptApplication.cpp + A examples/dbcrypt/CryptKeyHolder.cpp + A examples/dbcrypt/DbCrypt.cpp + A examples/dbcrypt/ReadMe.txt + M src/auth/SecureRemotePassword/manage/SrpManagement.cpp + M src/auth/SecureRemotePassword/server/SrpServer.cpp + M src/common/IntlUtil.cpp + M src/common/TextType.cpp + M src/common/TextType.h + M src/common/classes/GetPlugins.h + M src/common/classes/ImplementHelper.h + M src/common/config/config.cpp + M src/common/config/config.h + M src/common/isc.cpp + M src/common/isc_file.cpp + M src/common/sdl.cpp + M src/dsql/BoolNodes.cpp + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/dsql/ExprNodes.cpp + M src/dsql/parse.y + M src/gpre/boot/gpre_meta_boot.cpp + M src/include/consts_pub.h + M src/include/firebird/Crypt.h + M src/include/firebird/Interface.h + M src/include/firebird/Plugin.h + M src/include/firebird/Provider.h + M src/include/gen/ids.h + M src/jrd/Attachment.cpp + M src/jrd/Attachment.h + M src/jrd/Collation.cpp + M src/jrd/Collation.h + A src/jrd/CryptoManager.cpp + A src/jrd/CryptoManager.h + M src/jrd/Database.cpp + M src/jrd/Database.h + M src/jrd/DatabaseSnapshot.cpp + M src/jrd/EngineInterface.h + M src/jrd/Function.epp + M src/jrd/GlobalRWLock.cpp + M src/jrd/GlobalRWLock.h + M src/jrd/IntlManager.cpp + M src/jrd/JrdStatement.cpp + M src/jrd/Optimizer.cpp + M src/jrd/RecordNumber.h + M src/jrd/SysFunction.cpp + M src/jrd/VirtualTable.cpp + M src/jrd/blb.h + M src/jrd/btr.cpp + M src/jrd/cch.cpp + M src/jrd/cmp.cpp + M src/jrd/cvt2.cpp + M src/jrd/dfw.epp + M src/jrd/dfw_proto.h + M src/jrd/extds/InternalDS.cpp + M src/jrd/ibase.h + M src/jrd/idx.cpp + M src/jrd/intl.cpp + M src/jrd/intl_classes.h + M src/jrd/intl_proto.h + M src/jrd/jrd.cpp + M src/jrd/lck.cpp + M src/jrd/lck.h + M src/jrd/lck_proto.h + M src/jrd/met.epp + M src/jrd/names.h + M src/jrd/nbak.cpp + M src/jrd/ods.h + M src/jrd/opt.cpp + M src/jrd/os/posix/unix.cpp + M src/jrd/pag.cpp + M src/jrd/recsrc/HashJoin.cpp + M src/jrd/relations.h + M src/jrd/rlck.cpp + M src/jrd/sdw.cpp + M src/jrd/svc.cpp + M src/jrd/svc.h + M src/jrd/tpc.cpp + M src/jrd/tra.cpp + M src/jrd/tra.h + M src/jrd/val.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/plugins/crypt/arc4/Arc4.cpp + M src/remote/client/interface.cpp + M src/remote/inet.cpp + M src/remote/protocol.cpp + M src/remote/protocol.h + M src/remote/remote.cpp + M src/remote/remote.h + M src/remote/server/server.cpp + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/utilities/gstat/dba.epp + M src/utilities/gstat/dbaswi.h + M src/utilities/gstat/ppg.cpp + M src/utilities/ntrace/TracePluginImpl.h + M src/yvalve/MasterImplementation.cpp + M src/yvalve/MasterImplementation.h + M src/yvalve/YObjects.h + M src/yvalve/gds.cpp + M src/yvalve/keywords.cpp + M src/yvalve/why.cpp + M src/yvalve/why_proto.h +Implemented CORE-3861: Make it possible to encrypt database +Also some cleanups, the most important are: +- meaningful ctor on Jrd::Lock, helping to avoid code dup +- avoid unneeded h-file dependencies, making boot build engine dependent + 2012-05-29 20:19 mkubecek M src/isql/isql.epp isql: fix buffer overflow when 'set width' sets bigger width Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-05-31 16:53:42 UTC (rev 54574) +++ firebird/trunk/src/jrd/build_no.h 2012-06-01 03:21:00 UTC (rev 54575) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29984 + FORMAL BUILD NUMBER:29985 */ -#define PRODUCT_VER_STRING "3.0.0.29984" -#define FILE_VER_STRING "WI-T3.0.0.29984" -#define LICENSE_VER_STRING "WI-T3.0.0.29984" -#define FILE_VER_NUMBER 3, 0, 0, 29984 +#define PRODUCT_VER_STRING "3.0.0.29985" +#define FILE_VER_STRING "WI-T3.0.0.29985" +#define LICENSE_VER_STRING "WI-T3.0.0.29985" +#define FILE_VER_NUMBER 3, 0, 0, 29985 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29984" +#define FB_BUILD_NO "29985" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-05-31 16:53:42 UTC (rev 54574) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-01 03:21:00 UTC (rev 54575) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29984 +BuildNum=29985 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-02 03:21:55
|
Revision: 54579 http://firebird.svn.sourceforge.net/firebird/?rev=54579&view=rev Author: firebirds Date: 2012-06-02 03:21:48 +0000 (Sat, 02 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-01 07:13:58 UTC (rev 54578) +++ firebird/trunk/ChangeLog 2012-06-02 03:21:48 UTC (rev 54579) @@ -1,3 +1,14 @@ + 2012-06-01 07:13 hvlad + M builds/win32/msvc8/engine.vcproj + M builds/win32/msvc9/engine.vcproj +Update MSVC8 and MSVC9 builds, MSVC10 will follow + + 2012-06-01 07:09 hvlad + M src/jrd/CryptoManager.h + M src/jrd/os/posix/unix.cpp + M src/jrd/os/win32/winnt.cpp +Follow Alex changes, small correction and cleanup + 2012-05-31 16:53 alexpeshkoff M builds/posix/Makefile.in M builds/posix/Makefile.in.plugins_examples Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-01 07:13:58 UTC (rev 54578) +++ firebird/trunk/src/jrd/build_no.h 2012-06-02 03:21:48 UTC (rev 54579) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29985 + FORMAL BUILD NUMBER:29987 */ -#define PRODUCT_VER_STRING "3.0.0.29985" -#define FILE_VER_STRING "WI-T3.0.0.29985" -#define LICENSE_VER_STRING "WI-T3.0.0.29985" -#define FILE_VER_NUMBER 3, 0, 0, 29985 +#define PRODUCT_VER_STRING "3.0.0.29987" +#define FILE_VER_STRING "WI-T3.0.0.29987" +#define LICENSE_VER_STRING "WI-T3.0.0.29987" +#define FILE_VER_NUMBER 3, 0, 0, 29987 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29985" +#define FB_BUILD_NO "29987" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-01 07:13:58 UTC (rev 54578) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-02 03:21:48 UTC (rev 54579) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29985 +BuildNum=29987 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2012-06-03 03:00:32
|
Revision: 54580 http://firebird.svn.sourceforge.net/firebird/?rev=54580&view=rev Author: asfernandes Date: 2012-06-03 03:00:24 +0000 (Sun, 03 Jun 2012) Log Message: ----------- Misc. Modified Paths: -------------- firebird/trunk/examples/dbcrypt/CryptApplication.cpp firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp firebird/trunk/examples/dbcrypt/DbCrypt.cpp firebird/trunk/src/dsql/DdlNodes.epp firebird/trunk/src/dsql/DdlNodes.h firebird/trunk/src/include/firebird/Crypt.h firebird/trunk/src/isql/isql.epp firebird/trunk/src/jrd/CryptoManager.cpp firebird/trunk/src/jrd/CryptoManager.h firebird/trunk/src/jrd/Database.cpp Modified: firebird/trunk/examples/dbcrypt/CryptApplication.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptApplication.cpp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/examples/dbcrypt/CryptApplication.cpp 2012-06-03 03:00:24 UTC (rev 54580) @@ -96,7 +96,7 @@ enum Action {NONE, ENC, DEC}; - void Execute(const char* dbName, const Action a) + void execute(const char* dbName, const Action a) { status->init(); @@ -181,10 +181,12 @@ if (ac < 2 || ac > 3) return usage(); + if (ac == 3) { if (av[1][0] != '-') return usage(); + switch(av[1][1]) { case 'e': @@ -205,9 +207,9 @@ App app; try { - app.Execute(av[1], act); + app.execute(av[1], act); } - catch(const char* where) + catch (const char* where) { app.print(where); return 1; Modified: firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/examples/dbcrypt/CryptKeyHolder.cpp 2012-06-03 03:00:24 UTC (rev 54580) @@ -195,7 +195,7 @@ vector[0] = isc_arg_gds; vector[1] = isc_random; vector[2] = isc_arg_string; - vector[3] = (ISC_STATUS)"Key not set"; + vector[3] = (ISC_STATUS) "Key not set"; vector[4] = isc_arg_end; status->set(vector); } @@ -212,6 +212,7 @@ IConfig* def = config->getDefaultConfig(); IConfigEntry* confEntry = def->find("Auto"); def->release(); + if (confEntry) { char v = *(confEntry->getValue()); @@ -267,7 +268,7 @@ } // anonymous namespace -extern "C" void FB_PLUGIN_ENTRY_POINT(Firebird::IMaster* m) +extern "C" void FB_PLUGIN_ENTRY_POINT(IMaster* m) { master = m; pluginManager = master->getPluginManager(); Modified: firebird/trunk/examples/dbcrypt/DbCrypt.cpp =================================================================== --- firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/examples/dbcrypt/DbCrypt.cpp 2012-06-03 03:00:24 UTC (rev 54580) @@ -124,7 +124,7 @@ return &module; } - void FB_CARG setOwner(Firebird::IRefCounted* o) + void FB_CARG setOwner(IRefCounted* o) { owner = o; } @@ -167,7 +167,8 @@ const UCHAR* f = static_cast<const UCHAR*>(from); UCHAR* t = static_cast<UCHAR*>(to); - while(length--) + + while (length--) { *t++ = (*f++) + key; } @@ -185,7 +186,8 @@ const UCHAR* f = static_cast<const UCHAR*>(from); UCHAR* t = static_cast<UCHAR*>(to); - while(length--) + + while (length--) { *t++ = (*f++) - key; } @@ -255,12 +257,11 @@ } // anonymous namespace -extern "C" void FB_PLUGIN_ENTRY_POINT(Firebird::IMaster* m) +extern "C" void FB_PLUGIN_ENTRY_POINT(IMaster* m) { master = m; pluginManager = master->getPluginManager(); module.registerMe(); - pluginManager->registerPluginFactory(PluginType::DbCrypt, "DbCrypt_example", - &factory); + pluginManager->registerPluginFactory(PluginType::DbCrypt, "DbCrypt_example", &factory); } Modified: firebird/trunk/src/dsql/DdlNodes.epp =================================================================== --- firebird/trunk/src/dsql/DdlNodes.epp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/dsql/DdlNodes.epp 2012-06-03 03:00:24 UTC (rev 54580) @@ -9947,14 +9947,10 @@ status_exception::raise(Arg::Gds(isc_adm_task_denied)); if (cryptPlugin.hasData()) - { DFW_post_work(transaction, dfw_db_crypt, cryptPlugin.c_str(), 0); - } if (clauses & CLAUSE_DECRYPT) - { DFW_post_work(transaction, dfw_db_crypt, "", 0); - } if (!(clauses & RDB_DATABASE_MASK)) { Modified: firebird/trunk/src/dsql/DdlNodes.h =================================================================== --- firebird/trunk/src/dsql/DdlNodes.h 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/dsql/DdlNodes.h 2012-06-03 03:00:24 UTC (rev 54580) @@ -1950,12 +1950,13 @@ class AlterDatabaseNode : public DdlNode { public: - static const unsigned CLAUSE_BEGIN_BACKUP = 0x01; - static const unsigned CLAUSE_END_BACKUP = 0x02; - static const unsigned CLAUSE_DROP_DIFFERENCE = 0x04; - static const unsigned CLAUSE_DECRYPT = 0x08; + static const unsigned CLAUSE_BEGIN_BACKUP = 0x01; + static const unsigned CLAUSE_END_BACKUP = 0x02; + static const unsigned CLAUSE_DROP_DIFFERENCE = 0x04; + static const unsigned CLAUSE_DECRYPT = 0x08; - static const unsigned RDB_DATABASE_MASK = CLAUSE_BEGIN_BACKUP | CLAUSE_END_BACKUP | CLAUSE_DROP_DIFFERENCE; + static const unsigned RDB_DATABASE_MASK = + CLAUSE_BEGIN_BACKUP | CLAUSE_END_BACKUP | CLAUSE_DROP_DIFFERENCE; public: AlterDatabaseNode(MemoryPool& p) Modified: firebird/trunk/src/include/firebird/Crypt.h =================================================================== --- firebird/trunk/src/include/firebird/Crypt.h 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/include/firebird/Crypt.h 2012-06-03 03:00:24 UTC (rev 54580) @@ -30,9 +30,9 @@ // Part 1. Network crypt. // Plugins of this type are used to crypt data, sent over the wire -// Plugin must support encrypt and decrypt operations +// Plugin must support encrypt and decrypt operations. // Interface of plugin is the same for both client and server, -// and it may have differerent or same implementations for client and server +// and it may have different or same implementations for client and server. class IWireCryptPlugin : public IPluginBase { public: @@ -49,7 +49,7 @@ // Part 2. Database crypt. // This interface is used to transfer some data (related with crypt keys) -// between different components of firebird +// between different components of firebird. class ICryptKeyCallback : public IVersioned { public: @@ -61,16 +61,16 @@ // Key holder accepts key(s) from attachment at database attach time // (or gets them it some other arbitrary way) -// and sends it to database crypt plugin on request +// and sends it to database crypt plugin on request. class IKeyHolderPlugin : public IPluginBase { public: // keyCallback() is called when new attachment is probably ready to provide keys - // to key holder plugin, ICryptKeyCallback interface is provided by attachment + // to key holder plugin, ICryptKeyCallback interface is provided by attachment. virtual int FB_CARG keyCallback(IStatus* status, ICryptKeyCallback* callback) = 0; - // Crypt plugin calls keyHandle() whne it needs a key, stored in key holder - // Key is not returned directly - instead of it callback interface is returned - // Missing key with given name is not an error condition for keyHandle() + // Crypt plugin calls keyHandle() when it needs a key, stored in key holder. + // Key is not returned directly - instead of it callback interface is returned. + // Missing key with given name is not an error condition for keyHandle(). // It should just return NULL in this case virtual ICryptKeyCallback* FB_CARG keyHandle(IStatus* status, const char* keyName) = 0; }; @@ -81,10 +81,10 @@ { public: // When database crypt plugin is loaded, setKey() is called to provide information - // about key holders, available for givaen database + // about key holders, available for a given database. // It's supposed that crypt plugin will invoke keyHandle() function from them - // to access callback interface for getting actual crypt key - // If crypt plugin fails to find appropriate key in sources, it should raise error + // to access callback interface for getting actual crypt key. + // If crypt plugin fails to find appropriate key in sources, it should raise error. virtual void FB_CARG setKey(IStatus* status, unsigned int length, IKeyHolderPlugin** sources) = 0; virtual void FB_CARG encrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; virtual void FB_CARG decrypt(IStatus* status, unsigned int length, const void* from, void* to) = 0; Modified: firebird/trunk/src/isql/isql.epp =================================================================== --- firebird/trunk/src/isql/isql.epp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/isql/isql.epp 2012-06-03 03:00:24 UTC (rev 54580) @@ -221,7 +221,8 @@ if (len > width) len = width; - if (right) { + if (right) + { memcpy(buffer + width - len, str, len); if (width > len) memset(buffer, ' ', width - len); Modified: firebird/trunk/src/jrd/CryptoManager.cpp =================================================================== --- firebird/trunk/src/jrd/CryptoManager.cpp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/jrd/CryptoManager.cpp 2012-06-03 03:00:24 UTC (rev 54580) @@ -17,7 +17,7 @@ * The Original Code was created by Alex Peshkov * for the Firebird Open Source RDBMS project. * - * Copyright (c) 2008 Alex Peshkov <peshkoff at mail.ru> + * Copyright (c) 2012 Alex Peshkov <peshkoff at mail.ru> * and all contributors signed below. * * All Rights Reserved. @@ -65,7 +65,7 @@ THREAD_ENTRY_DECLARE cryptThreadStatic(THREAD_ENTRY_PARAM p) { - Jrd::CryptoManager* cryptoManager = (Jrd::CryptoManager*)p; + Jrd::CryptoManager* cryptoManager = (Jrd::CryptoManager*) p; cryptoManager->cryptThread(); return 0; @@ -93,7 +93,7 @@ void depends(Stack<ULONG>& pages) { - while(pages.hasData()) + while (pages.hasData()) { CCH_precedence(tdbb, &window, pages.pop()); } @@ -235,6 +235,7 @@ } bool newCryptState = plugName.hasData(); + { // window scope Header hdr(tdbb, LCK_write); @@ -442,7 +443,7 @@ // Release exclusive lock on StartCryptThread LCK_release(tdbb, threadLock); } - catch(const Exception&) + catch (const Exception&) { try { @@ -452,13 +453,13 @@ // Release exclusive lock on StartCryptThread LCK_release(tdbb, threadLock); } - catch(const Exception&) + catch (const Exception&) { } throw; } } - catch(const Exception& ex) + catch (const Exception& ex) { // Error during context creation - we can't even release lock iscLogException("Crypt thread:", ex); @@ -485,7 +486,7 @@ { return bdb->bdb_bcb->bcb_database->dbb_crypto_manager->read(file, bdb, page, sv); } - catch(const Exception& ex) + catch (const Exception& ex) { ex.stuff_exception(sv); } @@ -498,7 +499,7 @@ { return bdb->bdb_bcb->bcb_database->dbb_crypto_manager->write(file, bdb, page, sv); } - catch(const Exception& ex) + catch (const Exception& ex) { ex.stuff_exception(sv); } @@ -516,7 +517,7 @@ { if (!cryptPlugin) { - // We are invoked from shared cache manager, i.e. no valid attachment in tdbb + // We are invoked from shared cache manager, i.e. no valid attachment in tdbb // Therefore create system temporary attachment like in crypt thread to be able to work with locks UserId user; user.usr_user_name = "(Crypt plugin loader)"; @@ -593,7 +594,7 @@ int CryptoManager::blockingAstChangeCryptState(void* object) { - ((CryptoManager*)object)->blockingAstChangeCryptState(); + ((CryptoManager*) object)->blockingAstChangeCryptState(); return 0; } Modified: firebird/trunk/src/jrd/CryptoManager.h =================================================================== --- firebird/trunk/src/jrd/CryptoManager.h 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/jrd/CryptoManager.h 2012-06-03 03:00:24 UTC (rev 54580) @@ -64,9 +64,10 @@ { public: CryptoManager(thread_db* tdbb); - void shutdown(thread_db* tdbb); ~CryptoManager(); + void shutdown(thread_db* tdbb); + void changeCryptState(thread_db* tdbb, const Firebird::string& plugName); void attach(thread_db* tdbb, Attachment* att); void detach(thread_db* tdbb, Attachment* att); Modified: firebird/trunk/src/jrd/Database.cpp =================================================================== --- firebird/trunk/src/jrd/Database.cpp 2012-06-02 03:21:48 UTC (rev 54579) +++ firebird/trunk/src/jrd/Database.cpp 2012-06-03 03:00:24 UTC (rev 54580) @@ -146,7 +146,8 @@ if (!counter->lock) { - Lock* const lock = FB_NEW_RPT(*dbb->dbb_permanent, sizeof(SLONG)) Lock(tdbb, LCK_shared_counter, counter, blockingAst); + Lock* const lock = FB_NEW_RPT(*dbb->dbb_permanent, sizeof(SLONG)) + Lock(tdbb, LCK_shared_counter, counter, blockingAst); counter->lock = lock; lock->lck_length = sizeof(SLONG); lock->lck_key.lck_long = space; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-03 03:22:56
|
Revision: 54581 http://firebird.svn.sourceforge.net/firebird/?rev=54581&view=rev Author: firebirds Date: 2012-06-03 03:22:49 +0000 (Sun, 03 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-03 03:00:24 UTC (rev 54580) +++ firebird/trunk/ChangeLog 2012-06-03 03:22:49 UTC (rev 54581) @@ -1,3 +1,16 @@ + 2012-06-03 03:00 asfernandes + M examples/dbcrypt/CryptApplication.cpp + M examples/dbcrypt/CryptKeyHolder.cpp + M examples/dbcrypt/DbCrypt.cpp + M src/dsql/DdlNodes.epp + M src/dsql/DdlNodes.h + M src/include/firebird/Crypt.h + M src/isql/isql.epp + M src/jrd/CryptoManager.cpp + M src/jrd/CryptoManager.h + M src/jrd/Database.cpp +Misc. + 2012-06-01 07:13 hvlad M builds/win32/msvc8/engine.vcproj M builds/win32/msvc9/engine.vcproj Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-03 03:00:24 UTC (rev 54580) +++ firebird/trunk/src/jrd/build_no.h 2012-06-03 03:22:49 UTC (rev 54581) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29987 + FORMAL BUILD NUMBER:29988 */ -#define PRODUCT_VER_STRING "3.0.0.29987" -#define FILE_VER_STRING "WI-T3.0.0.29987" -#define LICENSE_VER_STRING "WI-T3.0.0.29987" -#define FILE_VER_NUMBER 3, 0, 0, 29987 +#define PRODUCT_VER_STRING "3.0.0.29988" +#define FILE_VER_STRING "WI-T3.0.0.29988" +#define LICENSE_VER_STRING "WI-T3.0.0.29988" +#define FILE_VER_NUMBER 3, 0, 0, 29988 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29987" +#define FB_BUILD_NO "29988" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-03 03:00:24 UTC (rev 54580) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-03 03:22:49 UTC (rev 54581) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29987 +BuildNum=29988 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-04 03:22:40
|
Revision: 54597 http://firebird.svn.sourceforge.net/firebird/?rev=54597&view=rev Author: firebirds Date: 2012-06-04 03:22:32 +0000 (Mon, 04 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-03 16:59:47 UTC (rev 54596) +++ firebird/trunk/ChangeLog 2012-06-04 03:22:32 UTC (rev 54597) @@ -1,3 +1,16 @@ + 2012-06-03 15:43 asfernandes + M src/jrd/GlobalRWLock.cpp + M src/jrd/RecordNumber.h + M src/jrd/intl.cpp + M src/jrd/pag.cpp + M src/jrd/sdw.cpp + M src/remote/client/interface.cpp + M src/remote/remote.h + M src/remote/server/server.cpp + M src/yvalve/YObjects.h + M src/yvalve/keywords.cpp +Misc. + 2012-06-03 03:00 asfernandes M examples/dbcrypt/CryptApplication.cpp M examples/dbcrypt/CryptKeyHolder.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-03 16:59:47 UTC (rev 54596) +++ firebird/trunk/src/jrd/build_no.h 2012-06-04 03:22:32 UTC (rev 54597) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29988 + FORMAL BUILD NUMBER:29989 */ -#define PRODUCT_VER_STRING "3.0.0.29988" -#define FILE_VER_STRING "WI-T3.0.0.29988" -#define LICENSE_VER_STRING "WI-T3.0.0.29988" -#define FILE_VER_NUMBER 3, 0, 0, 29988 +#define PRODUCT_VER_STRING "3.0.0.29989" +#define FILE_VER_STRING "WI-T3.0.0.29989" +#define LICENSE_VER_STRING "WI-T3.0.0.29989" +#define FILE_VER_NUMBER 3, 0, 0, 29989 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29988" +#define FB_BUILD_NO "29989" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-03 16:59:47 UTC (rev 54596) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-04 03:22:32 UTC (rev 54597) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29988 +BuildNum=29989 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-05 03:31:05
|
Revision: 54603 http://firebird.svn.sourceforge.net/firebird/?rev=54603&view=rev Author: firebirds Date: 2012-06-05 03:30:58 +0000 (Tue, 05 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-04 16:53:56 UTC (rev 54602) +++ firebird/trunk/ChangeLog 2012-06-05 03:30:58 UTC (rev 54603) @@ -1,3 +1,8 @@ + 2012-06-04 16:53 alexpeshkoff + M src/utilities/fbsvcmgr/fbsvcmgr.cpp + M src/utilities/fbtracemgr/traceMgrMain.cpp +Frontported fix for CORE-3769: The message 'Unknown tag (4) in isc_svc_query() results' appears when fbtracemgr is interrupted by Ctrl-C + 2012-06-03 15:43 asfernandes M src/jrd/GlobalRWLock.cpp M src/jrd/RecordNumber.h Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-04 16:53:56 UTC (rev 54602) +++ firebird/trunk/src/jrd/build_no.h 2012-06-05 03:30:58 UTC (rev 54603) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29989 + FORMAL BUILD NUMBER:29990 */ -#define PRODUCT_VER_STRING "3.0.0.29989" -#define FILE_VER_STRING "WI-T3.0.0.29989" -#define LICENSE_VER_STRING "WI-T3.0.0.29989" -#define FILE_VER_NUMBER 3, 0, 0, 29989 +#define PRODUCT_VER_STRING "3.0.0.29990" +#define FILE_VER_STRING "WI-T3.0.0.29990" +#define LICENSE_VER_STRING "WI-T3.0.0.29990" +#define FILE_VER_NUMBER 3, 0, 0, 29990 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29989" +#define FB_BUILD_NO "29990" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-04 16:53:56 UTC (rev 54602) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-05 03:30:58 UTC (rev 54603) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29989 +BuildNum=29990 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <asf...@us...> - 2012-06-05 15:31:44
|
Revision: 54608 http://firebird.svn.sourceforge.net/firebird/?rev=54608&view=rev Author: asfernandes Date: 2012-06-05 15:31:32 +0000 (Tue, 05 Jun 2012) Log Message: ----------- Improvements to the UDR engines. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/UdrCppEngine.h firebird/trunk/src/include/firebird/UdrEngine.h firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2012-06-05 10:06:31 UTC (rev 54607) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2012-06-05 15:31:32 UTC (rev 54608) @@ -855,8 +855,6 @@ FB_UDR_EXECUTE_DYNAMIC_TRIGGER { - initialize(context); - AutoDispose<IStatus> status(master->getStatus()); const IParametersMetadata* fields = metadata->getTriggerFields(status); @@ -890,12 +888,8 @@ inSqlDa), statusVector); } -private: - void initialize(ExternalContext* context) + FB_UDR_INITIALIZE { - if (initialized) - return; - ISC_STATUS_ARRAY statusVector = {0}; isc_db_handle dbHandle = getIscDbHandle(context); isc_tr_handle trHandle = getIscTrHandle(context); Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2012-06-05 10:06:31 UTC (rev 54607) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2012-06-05 15:31:32 UTC (rev 54608) @@ -52,7 +52,10 @@ \ class FB_UDR_FUNCTION(name) : public ::Firebird::Udr::Function<FB_UDR_FUNCTION(name)> \ { \ - public: + public: \ + void initialize(::Firebird::Error* error, void*) \ + { \ + } #define FB_UDR_END_FUNCTION \ }; @@ -89,21 +92,10 @@ { \ internalExecute(error, context, (InMessage*) inMsg, (OutMessage*) outMsg); \ } \ - catch (const ::Firebird::Udr::ThrowError::Exception& e) \ - { \ - e.stuff(error); \ - } \ - catch (...) \ - { \ - error->addCode(isc_arg_gds); \ - error->addCode(isc_random); \ - error->addString( \ - FB_UDR_UNRECOGNIZED_EXCEPTION, \ - strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ - } \ + FB_UDR__CATCH \ } \ \ - void FB_CALL internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + void internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ InMessage* in, OutMessage* out) @@ -115,7 +107,11 @@ class FB_UDR_PROCEDURE(name) : public ::Firebird::Udr::Procedure<FB_UDR_PROCEDURE(name)> \ { \ public: \ - typedef FB_UDR_PROCEDURE(name) This; + typedef FB_UDR_PROCEDURE(name) This; \ + \ + void initialize(::Firebird::Error* error, void*) \ + { \ + } #define FB_UDR_END_PROCEDURE \ }; \ @@ -161,18 +157,7 @@ { \ return new ResultSet(error, context, this, (InMessage*) inMsg, (OutMessage*) outMsg); \ } \ - catch (const ::Firebird::Udr::ThrowError::Exception& e) \ - { \ - e.stuff(error); \ - } \ - catch (...) \ - { \ - error->addCode(isc_arg_gds); \ - error->addCode(isc_random); \ - error->addString( \ - FB_UDR_UNRECOGNIZED_EXCEPTION, \ - strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ - } \ + FB_UDR__CATCH \ \ return 0; \ } \ @@ -192,23 +177,12 @@ { \ return internalFetch(error); \ } \ - catch (const ::Firebird::Udr::ThrowError::Exception& e) \ - { \ - e.stuff(error); \ - } \ - catch (...) \ - { \ - error->addCode(isc_arg_gds); \ - error->addCode(isc_random); \ - error->addString( \ - FB_UDR_UNRECOGNIZED_EXCEPTION, \ - strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ - } \ + FB_UDR__CATCH \ \ return 0; \ } \ \ - bool FB_CALL internalFetch(::Firebird::Error* error) + bool internalFetch(::Firebird::Error* error) #define FB_UDR_BEGIN_TRIGGER(name) \ @@ -218,7 +192,11 @@ \ class FB_UDR_TRIGGER(name) : public ::Firebird::Udr::Trigger<FB_UDR_TRIGGER(name)> \ { \ - public: + public: \ + \ + void initialize(::Firebird::Error* error, void*) \ + { \ + } #define FB_UDR_END_TRIGGER \ }; @@ -234,25 +212,39 @@ { \ internalExecute(error, context, action, oldMsg, newMsg); \ } \ - catch (const ::Firebird::Udr::ThrowError::Exception& e) \ + FB_UDR__CATCH \ + } \ + \ + void internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ + ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) + + +#define FB_UDR_INITIALIZE \ + void initialize(::Firebird::Error* error, ExternalContext* context) \ + { \ + try \ { \ - e.stuff(error); \ + internalInitialize(error, context); \ } \ - catch (...) \ - { \ - error->addCode(isc_arg_gds); \ - error->addCode(isc_random); \ - error->addString( \ - FB_UDR_UNRECOGNIZED_EXCEPTION, \ - strlen(FB_UDR_UNRECOGNIZED_EXCEPTION)); \ - } \ + FB_UDR__CATCH \ } \ \ - void FB_CALL internalExecute(::Firebird::Error* error, ::Firebird::ExternalContext* context, \ - ::Firebird::ExternalTrigger::Action action, void* oldMsg, void* newMsg) + void internalInitialize(::Firebird::Error* error, ::Firebird::ExternalContext* context) -#define FB_UDR_UNRECOGNIZED_EXCEPTION "Unrecognized C++ exception" +#define FB_UDR__CATCH \ + catch (const ::Firebird::Udr::ThrowError::Exception& e) \ + { \ + e.stuff(error); \ + } \ + catch (...) \ + { \ + const char exceptionText[] = "Unrecognized C++ exception"; \ + \ + error->addCode(isc_arg_gds); \ + error->addCode(isc_random); \ + error->addString(exceptionText, sizeof(exceptionText) - 1); \ + } class ThrowError : public Error @@ -627,15 +619,19 @@ fbUdrRegFunction(name, this); } - virtual void setup(const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) + virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) { setBlr(inBlr, (typename T::InMessage*) 0); setBlr(outBlr, (typename T::OutMessage*) 0); } - virtual ExternalFunction* FB_CALL newItem(const IRoutineMetadata* metadata) + virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) { - return new(metadata) Routine<T>; + T* obj = new(metadata) Routine<T>; + obj->initialize(error, context); + return obj; } private: @@ -659,15 +655,19 @@ fbUdrRegProcedure(name, this); } - virtual void setup(const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) + virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + const IRoutineMetadata* /*metadata*/, BlrMessage* inBlr, BlrMessage* outBlr) { setBlr(inBlr, (typename T::InMessage*) 0); setBlr(outBlr, (typename T::OutMessage*) 0); } - virtual ExternalProcedure* FB_CALL newItem(const IRoutineMetadata* metadata) + virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) { - return new(metadata) Routine<T>; + T* obj = new(metadata) Routine<T>; + obj->initialize(error, context); + return obj; } private: @@ -691,13 +691,17 @@ fbUdrRegTrigger(name, this); } - virtual void setup(const IRoutineMetadata* /*metadata*/) + virtual void setup(Error* /*error*/, ExternalContext* /*context*/, + const IRoutineMetadata* /*metadata*/) { } - virtual ExternalTrigger* FB_CALL newItem(const IRoutineMetadata* metadata) + virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) { - return new(metadata) Routine<T>; + T* obj = new(metadata) Routine<T>; + obj->initialize(error, context); + return obj; } }; Modified: firebird/trunk/src/include/firebird/UdrEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrEngine.h 2012-06-05 10:06:31 UTC (rev 54607) +++ firebird/trunk/src/include/firebird/UdrEngine.h 2012-06-05 15:31:32 UTC (rev 54608) @@ -39,22 +39,27 @@ class FunctionFactory { public: - virtual void setup(const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) = 0; - virtual ExternalFunction* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; + virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + BlrMessage* inBlr, BlrMessage* outBlr) = 0; + virtual ExternalFunction* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) = 0; }; class ProcedureFactory { public: - virtual void setup(const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) = 0; - virtual ExternalProcedure* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; + virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, + BlrMessage* inBlr, BlrMessage* outBlr) = 0; + virtual ExternalProcedure* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) = 0; }; class TriggerFactory { public: - virtual void setup(const IRoutineMetadata* metadata) = 0; - virtual ExternalTrigger* FB_CALL newItem(const IRoutineMetadata* metadata) = 0; + virtual void setup(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) = 0; + virtual ExternalTrigger* FB_CALL newItem(Error* error, ExternalContext* context, + const IRoutineMetadata* metadata) = 0; }; Modified: firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp =================================================================== --- firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2012-06-05 10:06:31 UTC (rev 54607) +++ firebird/trunk/src/plugins/udr_engine/UdrEngine.cpp 2012-06-05 15:31:32 UTC (rev 54608) @@ -134,9 +134,9 @@ public: void loadModule(const IRoutineMetadata* metadata, PathName* moduleName, string* entryPoint); template <typename NodeType, typename ObjType, typename SharedObjType> ObjType* getChild( - GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, SharedObjType* sharedObj, - ExternalContext* context, NodeType* nodes, SortedArray<SharedObjType*>& sharedObjs, - const PathName& moduleName); + Error* error, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, + SharedObjType* sharedObj, ExternalContext* context, NodeType* nodes, + SortedArray<SharedObjType*>& sharedObjs, const PathName& moduleName); template <typename ObjType> void deleteChildren( GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children); @@ -144,8 +144,9 @@ const string& entryPoint); private: - template <typename T, typename T2> T2* getNode(T* nodes, const PathName& moduleName, - const IRoutineMetadata* metadata, const string& entryPoint); + template <typename T, typename T2> T2* getNode(Error* error, T* nodes, + const PathName& moduleName, ExternalContext* context, const IRoutineMetadata* metadata, + const string& entryPoint); public: virtual void FB_CALL open(Error* error, ExternalContext* context, Utf8* name, uint nameSize); @@ -205,8 +206,8 @@ class SharedFunction : public ExternalFunction { public: - SharedFunction(Engine* aEngine, const IRoutineMetadata* aMetadata, - BlrMessage* inBlr, BlrMessage* outBlr) + SharedFunction(Error* error, Engine* aEngine, ExternalContext* context, + const IRoutineMetadata* aMetadata, BlrMessage* inBlr, BlrMessage* outBlr) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -216,7 +217,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); FunctionNode* node = engine->findNode<FunctionNode>(registeredFunctions, moduleName, entryPoint); - node->factory->setup(metadata, inBlr, outBlr); + node->factory->setup(error, context, metadata, inBlr, outBlr); } virtual ~SharedFunction() @@ -238,7 +239,7 @@ try { - ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>( + ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(error, children, this, context, registeredFunctions, engine->functions, moduleName); if (function) function->getCharSet(error, context, name, nameSize); @@ -251,7 +252,7 @@ virtual void FB_CALL execute(Error* error, ExternalContext* context, void* inMsg, void* outMsg) { - ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>( + ExternalFunction* function = engine->getChild<FunctionNode, ExternalFunction>(error, children, this, context, registeredFunctions, engine->functions, moduleName); if (function) function->execute(error, context, inMsg, outMsg); @@ -273,8 +274,8 @@ class SharedProcedure : public ExternalProcedure { public: - SharedProcedure(Engine* aEngine, const IRoutineMetadata* aMetadata, - BlrMessage* inBlr, BlrMessage* outBlr) + SharedProcedure(Error* error, Engine* aEngine, ExternalContext* context, + const IRoutineMetadata* aMetadata, BlrMessage* inBlr, BlrMessage* outBlr) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -284,7 +285,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); ProcedureNode* node = engine->findNode<ProcedureNode>(registeredProcedures, moduleName, entryPoint); - node->factory->setup(metadata, inBlr, outBlr); + node->factory->setup(error, context, metadata, inBlr, outBlr); } virtual ~SharedProcedure() @@ -306,7 +307,7 @@ try { - ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>( + ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(error, children, this, context, registeredProcedures, engine->procedures, moduleName); if (procedure) procedure->getCharSet(error, context, name, nameSize); @@ -322,7 +323,7 @@ { try { - ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>( + ExternalProcedure* procedure = engine->getChild<ProcedureNode, ExternalProcedure>(error, children, this, context, registeredProcedures, engine->procedures, moduleName); return procedure ? procedure->open(error, context, inMsg, outMsg) : NULL; } @@ -349,7 +350,8 @@ class SharedTrigger : public ExternalTrigger { public: - SharedTrigger(Engine* aEngine, const IRoutineMetadata* aMetadata) + SharedTrigger(Error* error, Engine* aEngine, ExternalContext* context, + const IRoutineMetadata* aMetadata) : engine(aEngine), metadata(aMetadata), moduleName(*getDefaultMemoryPool()), @@ -359,7 +361,7 @@ { engine->loadModule(metadata, &moduleName, &entryPoint); TriggerNode* node = engine->findNode<TriggerNode>(registeredTriggers, moduleName, entryPoint); - node->factory->setup(metadata); + node->factory->setup(error, context, metadata); } virtual ~SharedTrigger() @@ -381,7 +383,7 @@ try { - ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>( + ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(error, children, this, context, registeredTriggers, engine->triggers, moduleName); if (trigger) trigger->getCharSet(error, context, name, nameSize); @@ -395,7 +397,7 @@ virtual void FB_CALL execute(Error* error, ExternalContext* context, ExternalTrigger::Action action, void* oldMsg, void* newMsg) { - ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>( + ExternalTrigger* trigger = engine->getChild<TriggerNode, ExternalTrigger>(error, children, this, context, registeredTriggers, engine->triggers, moduleName); if (trigger) trigger->execute(error, context, action, oldMsg, newMsg); @@ -564,9 +566,9 @@ template <typename NodeType, typename ObjType, typename SharedObjType> ObjType* Engine::getChild( - GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, SharedObjType* sharedObj, - ExternalContext* context, NodeType* nodes, SortedArray<SharedObjType*>& sharedObjs, - const PathName& moduleName) + Error* error, GenericMap<Pair<NonPooled<ExternalContext*, ObjType*> > >& children, + SharedObjType* sharedObj, ExternalContext* context, NodeType* nodes, + SortedArray<SharedObjType*>& sharedObjs, const PathName& moduleName) { MutexLockGuard guard(childrenMutex); @@ -576,7 +578,9 @@ ObjType* obj; if (!children.get(context, obj)) { - obj = getNode<NodeType, ObjType>(nodes, moduleName, sharedObj->metadata, sharedObj->entryPoint); + obj = getNode<NodeType, ObjType>(error, nodes, moduleName, context, sharedObj->metadata, + sharedObj->entryPoint); + if (obj) children.put(context, obj); } @@ -620,11 +624,12 @@ } -template <typename T, typename T2> T2* Engine::getNode(T* nodes, const PathName& moduleName, - const IRoutineMetadata* metadata, const string& entryPoint) +template <typename T, typename T2> T2* Engine::getNode(Error* error, T* nodes, + const PathName& moduleName, ExternalContext* context, const IRoutineMetadata* metadata, + const string& entryPoint) { T* node = findNode<T>(nodes, moduleName, entryPoint); - return node->factory->newItem(metadata); + return node->factory->newItem(error, context, metadata); } @@ -675,12 +680,12 @@ } -ExternalFunction* FB_CALL Engine::makeFunction(Error* error, ExternalContext* /*context*/, +ExternalFunction* FB_CALL Engine::makeFunction(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) { try { - return new SharedFunction(this, metadata, inBlr, outBlr); + return new SharedFunction(error, this, context, metadata, inBlr, outBlr); } catch (const ThrowError::Exception& e) { @@ -690,12 +695,12 @@ } -ExternalProcedure* FB_CALL Engine::makeProcedure(Error* error, ExternalContext* /*context*/, +ExternalProcedure* FB_CALL Engine::makeProcedure(Error* error, ExternalContext* context, const IRoutineMetadata* metadata, BlrMessage* inBlr, BlrMessage* outBlr) { try { - return new SharedProcedure(this, metadata, inBlr, outBlr); + return new SharedProcedure(error, this, context, metadata, inBlr, outBlr); } catch (const ThrowError::Exception& e) { @@ -705,12 +710,12 @@ } -ExternalTrigger* FB_CALL Engine::makeTrigger(Error* error, ExternalContext* /*context*/, +ExternalTrigger* FB_CALL Engine::makeTrigger(Error* error, ExternalContext* context, const IRoutineMetadata* metadata) { try { - return new SharedTrigger(this, metadata); + return new SharedTrigger(error, this, context, metadata); } catch (const ThrowError::Exception& e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-06-06 11:06:40
|
Revision: 54611 http://firebird.svn.sourceforge.net/firebird/?rev=54611&view=rev Author: alexpeshkoff Date: 2012-06-06 11:06:31 +0000 (Wed, 06 Jun 2012) Log Message: ----------- Implemented CORE-3594: Include expected and actual string length into error message Modified Paths: -------------- firebird/trunk/lang_helpers/gds_codes.ftn firebird/trunk/lang_helpers/gds_codes.pas firebird/trunk/src/common/CharSet.cpp firebird/trunk/src/common/CharSet.h firebird/trunk/src/common/CsConvert.h firebird/trunk/src/common/cvt.cpp firebird/trunk/src/include/gen/codetext.h firebird/trunk/src/include/gen/iberror.h firebird/trunk/src/include/gen/msgs.h firebird/trunk/src/include/gen/sql_code.h firebird/trunk/src/include/gen/sql_state.h firebird/trunk/src/jrd/cvt.cpp firebird/trunk/src/jrd/intl.cpp firebird/trunk/src/jrd/intl_proto.h firebird/trunk/src/msgs/facilities2.sql firebird/trunk/src/msgs/messages2.sql firebird/trunk/src/msgs/system_errors2.sql Modified: firebird/trunk/lang_helpers/gds_codes.ftn =================================================================== --- firebird/trunk/lang_helpers/gds_codes.ftn 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/lang_helpers/gds_codes.ftn 2012-06-06 11:06:31 UTC (rev 54611) @@ -1476,6 +1476,8 @@ PARAMETER (GDS__libtommath_generic = 335545031) INTEGER*4 GDS__wroblrver2 PARAMETER (GDS__wroblrver2 = 335545032) + INTEGER*4 GDS__trunc_limits + PARAMETER (GDS__trunc_limits = 335545033) INTEGER*4 GDS__gfix_db_name PARAMETER (GDS__gfix_db_name = 335740929) INTEGER*4 GDS__gfix_invalid_sw Modified: firebird/trunk/lang_helpers/gds_codes.pas =================================================================== --- firebird/trunk/lang_helpers/gds_codes.pas 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/lang_helpers/gds_codes.pas 2012-06-06 11:06:31 UTC (rev 54611) @@ -745,6 +745,7 @@ gds_protect_sys_tab = 335545030; gds_libtommath_generic = 335545031; gds_wroblrver2 = 335545032; + gds_trunc_limits = 335545033; gds_gfix_db_name = 335740929; gds_gfix_invalid_sw = 335740930; gds_gfix_incmp_sw = 335740932; Modified: firebird/trunk/src/common/CharSet.cpp =================================================================== --- firebird/trunk/src/common/CharSet.cpp 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/common/CharSet.cpp 2012-06-06 11:06:31 UTC (rev 54611) @@ -108,8 +108,8 @@ FixedWidthCharSet(USHORT _id, charset* _cs) : CharSet(_id, _cs) {} virtual ULONG length(ULONG srcLen, const UCHAR* src, bool countTrailingSpaces) const; - virtual ULONG substring(ULONG srcLen, const UCHAR* src, ULONG dstLen, UCHAR* dst, - ULONG startPos, ULONG len) const; + virtual ULONG substring(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, + const ULONG startPos, const ULONG len) const; }; class MultiByteCharSet : public CharSet @@ -118,8 +118,8 @@ MultiByteCharSet(USHORT _id, charset* _cs) : CharSet(_id, _cs) {} virtual ULONG length(ULONG srcLen, const UCHAR* src, bool countTrailingSpaces) const; - virtual ULONG substring(ULONG srcLen, const UCHAR* src, ULONG dstLen, UCHAR* dst, - ULONG startPos, ULONG len) const; + virtual ULONG substring(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, + const ULONG startPos, const ULONG len) const; }; } // namespace @@ -140,8 +140,8 @@ } -ULONG FixedWidthCharSet::substring(ULONG srcLen, const UCHAR* src, ULONG dstLen, UCHAR* dst, - ULONG startPos, ULONG len) const +ULONG FixedWidthCharSet::substring(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, + const ULONG startPos, const ULONG len) const { ULONG result; @@ -162,7 +162,8 @@ } if (result == INTL_BAD_STR_LENGTH) - status_exception::raise(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + status_exception::raise(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dstLen) << Arg::Num(len)); return result; } @@ -191,8 +192,8 @@ } -ULONG MultiByteCharSet::substring(ULONG srcLen, const UCHAR* src, ULONG dstLen, UCHAR* dst, - ULONG startPos, ULONG len) const +ULONG MultiByteCharSet::substring(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, + const ULONG startPos, const ULONG len) const { ULONG result; @@ -228,7 +229,8 @@ } if (result == INTL_BAD_STR_LENGTH) - status_exception::raise(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + status_exception::raise(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dstLen) << Arg::Num(len)); return result; } Modified: firebird/trunk/src/common/CharSet.h =================================================================== --- firebird/trunk/src/common/CharSet.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/common/CharSet.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -123,8 +123,8 @@ } virtual ULONG length(ULONG srcLen, const UCHAR* src, bool countTrailingSpaces) const = 0; - virtual ULONG substring(ULONG srcLen, const UCHAR* src, ULONG dstLen, UCHAR* dst, - ULONG startPos, ULONG length) const = 0; + virtual ULONG substring(const ULONG srcLen, const UCHAR* src, const ULONG dstLen, UCHAR* dst, + const ULONG startPos, const ULONG length) const = 0; private: USHORT id; Modified: firebird/trunk/src/common/CsConvert.h =================================================================== --- firebird/trunk/src/common/CsConvert.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/common/CsConvert.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -101,9 +101,9 @@ } // To be used for arbitrary conversions - ULONG convert(ULONG srcLen, + ULONG convert(const ULONG srcLen, const UCHAR* src, - ULONG dstLen, + const ULONG dstLen, UCHAR* dst, ULONG* badInputPos = NULL, bool ignoreTrailingSpaces = false) @@ -119,7 +119,7 @@ ULONG len = (*cnvt1->csconvert_fn_convert)(cnvt1, srcLen, NULL, 0, NULL, &errCode, &errPos); if (len == INTL_BAD_STR_LENGTH || errCode != 0) - raiseError(isc_string_truncation); + raiseError(dstLen, srcLen); fb_assert(len % sizeof(USHORT) == 0); @@ -164,7 +164,7 @@ if (badInputPos) break; - raiseError(isc_string_truncation); + raiseError(dstLen, srcLen); } } @@ -174,7 +174,7 @@ else { if (!badInputPos) - raiseError(isc_string_truncation); + raiseError(dstLen, srcLen); } if (badInputPos) @@ -221,7 +221,7 @@ break; } - raiseError(isc_string_truncation); + raiseError(dstLen, srcLen); } } } @@ -230,7 +230,7 @@ if (badInputPos) *badInputPos = errPos; else - raiseError(isc_string_truncation); + raiseError(dstLen, srcLen); } else raiseError(isc_transliteration_failed); @@ -275,6 +275,14 @@ Firebird::Arg::Gds(code)); } + void raiseError(ULONG dstLen, ULONG srcLen) + { + Firebird::status_exception::raise(Firebird::Arg::Gds(isc_arith_except) << + Firebird::Arg::Gds(isc_string_truncation) << + Firebird::Arg::Gds(isc_trunc_limits) << + Firebird::Arg::Num(dstLen) << Firebird::Arg::Num(srcLen)); + } + }; } // namespace Jrd Modified: firebird/trunk/src/common/cvt.cpp =================================================================== --- firebird/trunk/src/common/cvt.cpp 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/common/cvt.cpp 2012-06-06 11:06:31 UTC (rev 54611) @@ -123,7 +123,9 @@ #define YESTERDAY "YESTERDAY" #define CVT_COPY_BUFF(from, to, len) \ -{if (len) {memcpy(to, from, len); from += len; to += len; len = 0;} } +{if (len) {memcpy(to, from, len); from += len; to += len;} } +// AP,2012: Look like there is no need making len zero, but I keep old define for a reference. +// {if (len) {memcpy(to, from, len); from += len; to += len; len = 0;} } enum EXPECT_DATETIME { @@ -1456,7 +1458,8 @@ } if (l < from->dsc_length) - cb->err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + cb->err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(l) << Arg::Num(from->dsc_length)); Jrd::CharSet* charSet = cb->getToCharset(to->getCharSet()); cb->validateData(charSet, from->dsc_length, from->dsc_address); @@ -1596,7 +1599,9 @@ do { if (*q++ != fill_char) { - cb->err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + cb->err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << + Arg::Num(to->dsc_length) << Arg::Num(from->dsc_length)); } } while (--l); } Modified: firebird/trunk/src/include/gen/codetext.h =================================================================== --- firebird/trunk/src/include/gen/codetext.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/include/gen/codetext.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -734,6 +734,7 @@ {"protect_sys_tab", 335545030}, {"libtommath_generic", 335545031}, {"wroblrver2", 335545032}, + {"trunc_limits", 335545033}, {"gfix_db_name", 335740929}, {"gfix_invalid_sw", 335740930}, {"gfix_incmp_sw", 335740932}, Modified: firebird/trunk/src/include/gen/iberror.h =================================================================== --- firebird/trunk/src/include/gen/iberror.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/include/gen/iberror.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -768,6 +768,7 @@ const ISC_STATUS isc_protect_sys_tab = 335545030L; const ISC_STATUS isc_libtommath_generic = 335545031L; const ISC_STATUS isc_wroblrver2 = 335545032L; +const ISC_STATUS isc_trunc_limits = 335545033L; const ISC_STATUS isc_gfix_db_name = 335740929L; const ISC_STATUS isc_gfix_invalid_sw = 335740930L; const ISC_STATUS isc_gfix_incmp_sw = 335740932L; @@ -1211,7 +1212,7 @@ const ISC_STATUS isc_trace_switch_param_miss = 337182758L; const ISC_STATUS isc_trace_param_act_notcompat = 337182759L; const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L; -const ISC_STATUS isc_err_max = 1155; +const ISC_STATUS isc_err_max = 1156; #else /* c definitions */ @@ -1949,6 +1950,7 @@ #define isc_protect_sys_tab 335545030L #define isc_libtommath_generic 335545031L #define isc_wroblrver2 335545032L +#define isc_trunc_limits 335545033L #define isc_gfix_db_name 335740929L #define isc_gfix_invalid_sw 335740930L #define isc_gfix_incmp_sw 335740932L @@ -2392,7 +2394,7 @@ #define isc_trace_switch_param_miss 337182758L #define isc_trace_param_act_notcompat 337182759L #define isc_trace_mandatory_switch_miss 337182760L -#define isc_err_max 1155 +#define isc_err_max 1156 #endif Modified: firebird/trunk/src/include/gen/msgs.h =================================================================== --- firebird/trunk/src/include/gen/msgs.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/include/gen/msgs.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -737,6 +737,7 @@ {335545030, "@1 operation is not allowed for system table @2"}, /* protect_sys_tab */ {335545031, "Libtommath error code @1 in function @2"}, /* libtommath_generic */ {335545032, "unsupported BLR version (expected between @1 and @2, encountered @3)"}, /* wroblrver2 */ + {335545033, "expected length @1, actual @2"}, /* trunc_limits */ {335740929, "data base file name (@1) already given"}, /* gfix_db_name */ {335740930, "invalid switch @1"}, /* gfix_invalid_sw */ {335740932, "incompatible switch combination"}, /* gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_code.h =================================================================== --- firebird/trunk/src/include/gen/sql_code.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/include/gen/sql_code.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -733,6 +733,7 @@ {335545030, -902}, /* 710 protect_sys_tab */ {335545031, -901}, /* 711 libtommath_generic */ {335545032, -902}, /* 712 wroblrver2 */ + {335545033, -802}, /* 713 trunc_limits */ {335740929, -901}, /* 1 gfix_db_name */ {335740930, -901}, /* 2 gfix_invalid_sw */ {335740932, -901}, /* 4 gfix_incmp_sw */ Modified: firebird/trunk/src/include/gen/sql_state.h =================================================================== --- firebird/trunk/src/include/gen/sql_state.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/include/gen/sql_state.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -733,6 +733,7 @@ {335545030, "42000"}, // 710 protect_sys_tab {335545031, "2F000"}, // 711 libtommath_generic {335545032, "HY000"}, // 712 wroblrver2 + {335545033, "22001"}, // 713 trunc_limits {335740929, "00000"}, // 1 gfix_db_name {335740930, "00000"}, // 2 gfix_invalid_sw {335740932, "00000"}, // 4 gfix_incmp_sw Modified: firebird/trunk/src/jrd/cvt.cpp =================================================================== --- firebird/trunk/src/jrd/cvt.cpp 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/jrd/cvt.cpp 2012-06-06 11:06:31 UTC (rev 54611) @@ -424,11 +424,15 @@ Jrd::thread_db* tdbb = NULL; SET_TDBB(tdbb); + const ULONG src_len = toCharSet->length(toLength, start, false); + const ULONG dest_len = (ULONG) to_size / toCharSet->maxBytesPerChar(); + if (toCharSet->isMultiByte() && !(toCharSet->getFlags() & CHARSET_LEGACY_SEMANTICS) && - toCharSet->length(toLength, start, false) > (ULONG) to_size / toCharSet->maxBytesPerChar()) + src_len > dest_len) { - err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dest_len) << Arg::Num(src_len)); } } } Modified: firebird/trunk/src/jrd/intl.cpp =================================================================== --- firebird/trunk/src/jrd/intl.cpp 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/jrd/intl.cpp 2012-06-06 11:06:31 UTC (rev 54611) @@ -694,10 +694,10 @@ ULONG INTL_convert_bytes(thread_db* tdbb, CHARSET_ID dest_type, BYTE* dest_ptr, - ULONG dest_len, + const ULONG dest_len, CHARSET_ID src_type, const BYTE* src_ptr, - ULONG src_len, + const ULONG src_len, ErrorFunction err) { /************************************** @@ -758,7 +758,8 @@ if (len == 0 || allSpaces(INTL_charset_lookup(tdbb, src_type), src_ptr, len, 0)) return dest_ptr - start_dest_ptr; - err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dest_len) << Arg::Num(src_len)); } else if (src_len) { @@ -950,19 +951,24 @@ break; } + const ULONG src_len = toCharSet->length(toLength, start, false); + const ULONG dest_len = (ULONG) to_size / toCharSet->maxBytesPerChar(); + if (toCharSet->isMultiByte() && !(toCharSet->getFlags() & CHARSET_LEGACY_SEMANTICS) && toLength != 31 && // allow non CHARSET_LEGACY_SEMANTICS to be used as connection charset - toCharSet->length(toLength, start, false) > to_size / toCharSet->maxBytesPerChar()) + src_len > dest_len) { - err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dest_len) << Arg::Num(src_len)); } if (from_fill) { // Make sure remaining characters on From string are spaces if (!allSpaces(INTL_charset_lookup(tdbb, from_cs), q, from_fill, 0)) - err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation)); + err(Arg::Gds(isc_arith_except) << Arg::Gds(isc_string_truncation) << + Arg::Gds(isc_trunc_limits) << Arg::Num(dest_len) << Arg::Num(src_len)); } return 0; Modified: firebird/trunk/src/jrd/intl_proto.h =================================================================== --- firebird/trunk/src/jrd/intl_proto.h 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/jrd/intl_proto.h 2012-06-06 11:06:31 UTC (rev 54611) @@ -38,8 +38,8 @@ void INTL_adjust_text_descriptor(Jrd::thread_db* tdbb, dsc* desc); CHARSET_ID INTL_charset(Jrd::thread_db*, USHORT); int INTL_compare(Jrd::thread_db*, const dsc*, const dsc*, ErrorFunction); -ULONG INTL_convert_bytes(Jrd::thread_db*, CHARSET_ID, UCHAR*, ULONG, CHARSET_ID, - const BYTE*, ULONG, ErrorFunction); +ULONG INTL_convert_bytes(Jrd::thread_db*, CHARSET_ID, UCHAR*, const ULONG, CHARSET_ID, + const BYTE*, const ULONG, ErrorFunction); Jrd::CsConvert INTL_convert_lookup(Jrd::thread_db*, CHARSET_ID, CHARSET_ID); int INTL_convert_string(dsc*, const dsc*, ErrorFunction); bool INTL_data(const dsc*); Modified: firebird/trunk/src/msgs/facilities2.sql =================================================================== --- firebird/trunk/src/msgs/facilities2.sql 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/msgs/facilities2.sql 2012-06-06 11:06:31 UTC (rev 54611) @@ -1,7 +1,7 @@ /* MAX_NUMBER is the next number to be used, always one more than the highest message number. */ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?); -- -('2012-03-06 02:21:55', 'JRD', 0, 713) +('2012-06-05 15:01:35', 'JRD', 0, 714) ('2012-01-23 20:10:30', 'QLI', 1, 532) ('2009-07-16 05:26:11', 'GFIX', 3, 121) ('1996-11-07 13:39:40', 'GPRE', 4, 1) Modified: firebird/trunk/src/msgs/messages2.sql =================================================================== --- firebird/trunk/src/msgs/messages2.sql 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/msgs/messages2.sql 2012-06-06 11:06:31 UTC (rev 54611) @@ -820,6 +820,7 @@ ('protect_sys_tab', NULL, 'vio.cpp', NULL, 0, 710, NULL, '@1 operation is not allowed for system table @2', NULL, NULL) ('libtommath_generic', 'check', 'BigInteger.cpp', NULL, 0, 711, NULL, 'Libtommath error code @1 in function @2', NULL, NULL) ('wroblrver2', NULL, NULL, NULL, 0, 712, NULL, 'unsupported BLR version (expected between @1 and @2, encountered @3)', NULL, NULL); +('trunc_limits', NULL, NULL, NULL, 0, 713, NULL, 'expected length @1, actual @2', NULL, NULL); -- QLI (NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL); (NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL); Modified: firebird/trunk/src/msgs/system_errors2.sql =================================================================== --- firebird/trunk/src/msgs/system_errors2.sql 2012-06-06 10:24:18 UTC (rev 54610) +++ firebird/trunk/src/msgs/system_errors2.sql 2012-06-06 11:06:31 UTC (rev 54611) @@ -719,6 +719,7 @@ -- If you have better SQL code for this, change it. (-901, '2F', '000', 0, 711, 'libtommath_generic', NULL, NULL) (-902, 'HY', '000', 0, 712, 'wroblrver2', NULL, NULL) +(-802, '22', '001', 0, 713, 'trunc_limits', NULL, NULL) -- GFIX (-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL) (-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-07 03:37:23
|
Revision: 54614 http://firebird.svn.sourceforge.net/firebird/?rev=54614&view=rev Author: firebirds Date: 2012-06-07 03:37:17 +0000 (Thu, 07 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-06 14:50:53 UTC (rev 54613) +++ firebird/trunk/ChangeLog 2012-06-07 03:37:17 UTC (rev 54614) @@ -1,3 +1,47 @@ + 2012-06-06 14:50 asfernandes + M src/dsql/pass1.cpp +Warning. + + 2012-06-06 13:17 paul_reeves + M builds/win32/make_examples.bat +Use FB_ prefix for environment variables + + 2012-06-06 11:06 alexpeshkoff + M lang_helpers/gds_codes.ftn + M lang_helpers/gds_codes.pas + M src/common/CharSet.cpp + M src/common/CharSet.h + M src/common/CsConvert.h + M src/common/cvt.cpp + M src/include/gen/codetext.h + M src/include/gen/iberror.h + M src/include/gen/msgs.h + M src/include/gen/sql_code.h + M src/include/gen/sql_state.h + M src/jrd/cvt.cpp + M src/jrd/intl.cpp + M src/jrd/intl_proto.h + M src/msgs/facilities2.sql + M src/msgs/messages2.sql + M src/msgs/system_errors2.sql +Implemented CORE-3594: Include expected and actual string length into error message + + 2012-06-05 15:31 asfernandes + M examples/udr/UdrCppExample.cpp + M src/include/firebird/UdrCppEngine.h + M src/include/firebird/UdrEngine.h + M src/plugins/udr_engine/UdrEngine.cpp +Improvements to the UDR engines. + + 2012-06-05 10:06 alexpeshkoff + M src/jrd/CryptoManager.cpp + M src/jrd/CryptoManager.h + M src/jrd/cch.cpp + M src/jrd/nbak.cpp + M src/jrd/pag.cpp + M src/jrd/sdw.cpp +Some changes in CryptoManager, discussed with Vlad and Adriano + 2012-06-04 16:53 alexpeshkoff M src/utilities/fbsvcmgr/fbsvcmgr.cpp M src/utilities/fbtracemgr/traceMgrMain.cpp Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-06 14:50:53 UTC (rev 54613) +++ firebird/trunk/src/jrd/build_no.h 2012-06-07 03:37:17 UTC (rev 54614) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29990 + FORMAL BUILD NUMBER:29995 */ -#define PRODUCT_VER_STRING "3.0.0.29990" -#define FILE_VER_STRING "WI-T3.0.0.29990" -#define LICENSE_VER_STRING "WI-T3.0.0.29990" -#define FILE_VER_NUMBER 3, 0, 0, 29990 +#define PRODUCT_VER_STRING "3.0.0.29995" +#define FILE_VER_STRING "WI-T3.0.0.29995" +#define LICENSE_VER_STRING "WI-T3.0.0.29995" +#define FILE_VER_NUMBER 3, 0, 0, 29995 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29990" +#define FB_BUILD_NO "29995" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-06 14:50:53 UTC (rev 54613) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-07 03:37:17 UTC (rev 54614) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29990 +BuildNum=29995 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ale...@us...> - 2012-06-07 11:43:53
|
Revision: 54617 http://firebird.svn.sourceforge.net/firebird/?rev=54617&view=rev Author: alexpeshkoff Date: 2012-06-07 11:43:41 +0000 (Thu, 07 Jun 2012) Log Message: ----------- Cleanup - no more separate classic/super builds support Modified Paths: -------------- firebird/trunk/builds/install/arch-specific/aix/Makefile.in firebird/trunk/builds/install/arch-specific/aix/classic/rpmheader.txt.in firebird/trunk/builds/install/arch-specific/aix/misc/postinstall.sh.in firebird/trunk/builds/install/arch-specific/aix/misc/tarmaininstall.sh.in firebird/trunk/builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in firebird/trunk/builds/install/arch-specific/hpux/Makefile.in firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainInstall.sh.in firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainUninstall.sh.in firebird/trunk/builds/install/arch-specific/linux/Makefile.in firebird/trunk/builds/install/arch-specific/linux/misc/postinstall.sh.in firebird/trunk/builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in firebird/trunk/builds/install/arch-specific/solaris/CS/pkginfo.in firebird/trunk/builds/install/arch-specific/solaris/Makefile.in firebird/trunk/builds/install/arch-specific/solaris/SS/pkginfo.in firebird/trunk/builds/install/arch-specific/solx86gcc/Makefile.in firebird/trunk/builds/posix/make.defaults firebird/trunk/configure.in Modified: firebird/trunk/builds/install/arch-specific/aix/Makefile.in =================================================================== --- firebird/trunk/builds/install/arch-specific/aix/Makefile.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/aix/Makefile.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -63,12 +63,12 @@ Version=$(BuildVersion)-$(PackageVersion) # This means something like: FirebirdCS-2.0.0-1.i386.tar -TarDir= Firebird$(ArchPrefix)-$(Version).$(CpuType) -TarFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).tar -DepotFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).depot -RPMFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).rpm -DebugDir=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType) -DebugFile=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType).tar +TarDir= Firebird-$(Version).$(CpuType) +TarFile=Firebird-$(Version).$(CpuType).tar +DepotFile=Firebird-$(Version).$(CpuType).depot +RPMFile=Firebird-$(Version).$(CpuType).rpm +DebugDir=Firebird-debuginfo-$(Version).$(CpuType) +DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar PkgSrcDir=$(InstallRoot)/$(ArchType) ScriptDir=$(GEN_ROOT)/install/scripts/ Modified: firebird/trunk/builds/install/arch-specific/aix/classic/rpmheader.txt.in =================================================================== --- firebird/trunk/builds/install/arch-specific/aix/classic/rpmheader.txt.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/aix/classic/rpmheader.txt.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -1,5 +1,5 @@ Summary: Firebird Relational Database Server and Client tools. -Name: Firebird@ARCH_TYPE_SUFFIX@ +Name: Firebird Version: @FIREBIRD_VERSION@.@FB_BUILD_NUM@ Release: @FIREBIRD_PACKAGE_VERSION@ License: Distributable Modified: firebird/trunk/builds/install/arch-specific/aix/misc/postinstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/aix/misc/postinstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/aix/misc/postinstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -62,7 +62,7 @@ fixFilePermissions # Install script in /etc/init.d (exact location is distro dependent) -installInitdScript @FIREBIRD_ARCH_TYPE@ +installInitdScript # Create libgds.so links createLinksForBackCompatibility @@ -77,7 +77,7 @@ resetInetdServer # start the db server so we can change the password -startService @FIREBIRD_ARCH_TYPE@ +startService # Change sysdba password changeDBAPassword Modified: firebird/trunk/builds/install/arch-specific/aix/misc/tarmaininstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/aix/misc/tarmaininstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/aix/misc/tarmaininstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -52,7 +52,7 @@ cat <<EOF -Firebird @FIREBIRD_ARCH_TYPE@ $Version Installation +Firebird $Version Installation EOF Modified: firebird/trunk/builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -50,7 +50,7 @@ cat <<EOF -Firebird @FIREBIRD_ARCH_TYPE@ $Version Uninstall program +Firebird $Version Uninstall program Are you sure you want to proceed? Modified: firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/freebsd/install.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -56,7 +56,7 @@ rm -f $libTarget touch $libTarget - for i in posixLibrary.sh @FIR...@Li... freebsdLibrary.sh + for i in posixLibrary.sh freebsdLibrary.sh do echo "# $i" >>$libTarget cat $libSdir/$i >>$libTarget Modified: firebird/trunk/builds/install/arch-specific/hpux/Makefile.in =================================================================== --- firebird/trunk/builds/install/arch-specific/hpux/Makefile.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/hpux/Makefile.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -73,14 +73,14 @@ # This means something like: FirebirdCS-2.0.0-1.i386.tar -TarDir= Firebird$(ArchPrefix)-$(Version).$(CpuType) -TarFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).tar +TarDir= Firebird-$(Version).$(CpuType) +TarFile=Firebird-$(Version).$(CpuType).tar TgzFile=$(TarFile).gz -DepotFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).depot -RPMFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).rpm -#DebugDir=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType) -#DebugFile=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType).tar -psfFile=firebird$(ArchPrefix).psf +DepotFile=Firebird-$(Version).$(CpuType).depot +RPMFile=Firebird-$(Version).$(CpuType).rpm +#DebugDir=Firebird-debuginfo-$(Version).$(CpuType) +#DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar +psfFile=firebird.psf PkgSrcDir=$(InstallRoot)/$(ArchType) ScriptDir=$(GEN_ROOT)/install/scripts/ Modified: firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainInstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainInstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainInstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -50,7 +50,7 @@ cat <<EOF -Firebird @FIREBIRD_ARCH_TYPE@ $Version Installation +Firebird $Version Installation EOF Modified: firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainUninstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainUninstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/hpux/classic/tarmainUninstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -50,7 +50,7 @@ cat <<EOF -Firebird @FIREBIRD_ARCH_TYPE@ $Version Uninstall program +Firebird $Version Uninstall program Are you sure you want to proceed? Modified: firebird/trunk/builds/install/arch-specific/linux/Makefile.in =================================================================== --- firebird/trunk/builds/install/arch-specific/linux/Makefile.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/linux/Makefile.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -53,10 +53,10 @@ # This means something like: FirebirdCS-2.0.0-1.i386.tar.gz -TarDir= Firebird$(ArchPrefix)-$(Version).$(CpuType) -TarFile=Firebird$(ArchPrefix)-$(Version).$(CpuType).tar.gz -DebugDir=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType) -DebugFile=Firebird$(ArchPrefix)-debuginfo-$(Version).$(CpuType).tar.gz +TarDir= Firebird-$(Version).$(CpuType) +TarFile=Firebird-$(Version).$(CpuType).tar.gz +DebugDir=Firebird-debuginfo-$(Version).$(CpuType) +DebugFile=Firebird-debuginfo-$(Version).$(CpuType).tar.gz PkgSrcDir=$(InstallRoot)/$(ArchType) Modified: firebird/trunk/builds/install/arch-specific/linux/misc/postinstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/linux/misc/postinstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/linux/misc/postinstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -44,7 +44,7 @@ fixFilePermissions # Install script in /etc/init.d (exact location is distro dependent) -installInitdScript @FIREBIRD_ARCH_TYPE@ +installInitdScript # Create libgds.so links createLinksForBackCompatibility @@ -62,4 +62,4 @@ resetInetdServer # start the RDBMS server -startService @FIREBIRD_ARCH_TYPE@ +startService Modified: firebird/trunk/builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in =================================================================== --- firebird/trunk/builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -39,7 +39,7 @@ then cat <<EOF -Firebird @FIREBIRD_ARCH_TYPE@ $Version Uninstall program +Firebird $Version Uninstall program Are you sure you want to proceed? Modified: firebird/trunk/builds/install/arch-specific/solaris/CS/pkginfo.in =================================================================== --- firebird/trunk/builds/install/arch-specific/solaris/CS/pkginfo.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/solaris/CS/pkginfo.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -1,5 +1,5 @@ PKG="Firebird2" -NAME="Firebird2 Relational Database Server @ARCH_TYPE_SUFFIX@" +NAME="Firebird2 Relational Database Server" ARCH="@CPU_TYPE@" VERSION="@FIREBIRD_VERSION@" LOAD="@FIREBIRD_PACKAGE_VERSION@" Modified: firebird/trunk/builds/install/arch-specific/solaris/Makefile.in =================================================================== --- firebird/trunk/builds/install/arch-specific/solaris/Makefile.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/solaris/Makefile.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -40,7 +40,7 @@ PGK_FILES=pkginfo prototype preinstall postinstall postremove PKG_DIR=$(GEN_ROOT)/install -PKG_NAME=Firebird@ARCH_TYPE_SUFFIX@-$(FirebirdVersion).$(BuildNum)-$(PackageVersion)-Solaris10-@CPU_TYPE@.pkg +PKG_NAME=Firebird-$(FirebirdVersion).$(BuildNum)-$(PackageVersion)-Solaris10-@CPU_TYPE@.pkg GCC_PKG_NAME=Firebird-libgcc-Solaris10-@CPU_TYPE@.pkg install package packages dist: Modified: firebird/trunk/builds/install/arch-specific/solaris/SS/pkginfo.in =================================================================== --- firebird/trunk/builds/install/arch-specific/solaris/SS/pkginfo.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/solaris/SS/pkginfo.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -1,5 +1,5 @@ PKG="Firebird2" -NAME="Firebird2 Relational Database Server @ARCH_TYPE_SUFFIX@" +NAME="Firebird2 Relational Database Server" ARCH="@CPU_TYPE@" VERSION="@FIREBIRD_VERSION@" LOAD="@FIREBIRD_PACKAGE_VERSION@" Modified: firebird/trunk/builds/install/arch-specific/solx86gcc/Makefile.in =================================================================== --- firebird/trunk/builds/install/arch-specific/solx86gcc/Makefile.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/install/arch-specific/solx86gcc/Makefile.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -40,7 +40,7 @@ PGK_FILES=pkginfo prototype preinstall postinstall postremove PKG_DIR=$(RealFirebirdPath)/../install -PKG_NAME=Firebird-@ARCH_TYPE_SUFFIX@-$(FirebirdVersion).$(BuildNum)-$(PackageVersion)-SolX86.pkg +PKG_NAME=Firebird-$(FirebirdVersion).$(BuildNum)-$(PackageVersion)-SolX86.pkg LGCC_PKG_NAME=LibGCC-3.x.FB-runtime-SolX86.pkg install package packages dist: Modified: firebird/trunk/builds/posix/make.defaults =================================================================== --- firebird/trunk/builds/posix/make.defaults 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/builds/posix/make.defaults 2012-06-07 11:43:41 UTC (rev 54617) @@ -99,14 +99,7 @@ IsDeveloper = @DEVEL_FLG@ CpuType=@CPU_TYPE@ - PLATFORM=@PLATFORM@ -ifeq (@FIREBIRD_ARCH_TYPE@,classic) - ArchPrefix=CS -else - ArchPrefix=SS -endif - SFIO_EXAMPLES=@SFIO_EXAMPLES@ # link with readline libraries - set by configure Modified: firebird/trunk/configure.in =================================================================== --- firebird/trunk/configure.in 2012-06-07 10:08:46 UTC (rev 54616) +++ firebird/trunk/configure.in 2012-06-07 11:43:41 UTC (rev 54617) @@ -438,21 +438,7 @@ dnl Some controllable options -FIREBIRD_ARCH_TYPE=classic -AC_ARG_ENABLE(superserver, - [ --enable-superserver build SuperServer architecture (default=no)], - [case "$enableval" in - yes) FIREBIRD_ARCH_TYPE=super;; - no) FIREBIRD_ARCH_TYPE=classic;; - *) AC_MSG_ERROR(bad value '${enableval}' for --enable-superserver);; - esac]) -AC_SUBST(FIREBIRD_ARCH_TYPE) -case $FIREBIRD_ARCH_TYPE in - super) AC_SUBST(ARCH_TYPE_SUFFIX,SS);; - classic) AC_SUBST(ARCH_TYPE_SUFFIX,CS);; -esac - AC_ARG_ENABLE(developer, [ --enable-developer use developer mode rules (default=no)], [case "$enableval" in @@ -1142,7 +1128,7 @@ mkdir -p gen/install/scripts mkdir -p gen/install/misc]) - INSTALL_SRC_DIR=builds/install/arch-specific/linux/${FIREBIRD_ARCH_TYPE} + INSTALL_SRC_DIR=builds/install/arch-specific/linux AC_CONFIG_FILES([ gen/install/makeInstallImage.sh:builds/install/arch-specific/linux/misc/makeInstallImage.sh.in gen/install/misc/firebird.xinetd:builds/install/arch-specific/linux/misc/firebird.xinetd.in @@ -1159,7 +1145,7 @@ ;; HPUX) - HP_INSTALL_SRC_DIR=builds/install/arch-specific/hpux/${FIREBIRD_ARCH_TYPE} + HP_INSTALL_SRC_DIR=builds/install/arch-specific/hpux AC_CONFIG_FILES([gen/install/makeinstallImage.sh:${HP_INSTALL_SRC_DIR}/makeinstallImage.sh.in gen/firebirdCS.psf:${HP_INSTALL_SRC_DIR}/firebirdCS.psf.in gen/firebird/bin/preInstall.sh:${HP_INSTALL_SRC_DIR}/preInstall.sh.in @@ -1177,7 +1163,7 @@ ;; AIX) - AIX_INSTALL_SRC_DIR=builds/install/arch-specific/aix/${FIREBIRD_ARCH_TYPE} + AIX_INSTALL_SRC_DIR=builds/install/arch-specific/aix AC_CONFIG_FILES([gen/install/scripts/rpmheader.aix.txt:${AIX_INSTALL_SRC_DIR}/rpmheader.txt.in gen/install/scripts/rpmfiles.aix.txt:${AIX_INSTALL_SRC_DIR}/rpmfiles.txt.in gen/install/makeInstallImage.aix.sh:${AIX_INSTALL_SRC_DIR}/makeInstallImage.sh.in @@ -1212,11 +1198,11 @@ solx86|SOLARIS) - AC_CONFIG_FILES([gen/install/Pkginfo:builds/install/arch-specific/solaris/${ARCH_TYPE_SUFFIX}/pkginfo.in - gen/install/prototype.main:builds/install/arch-specific/solaris/${ARCH_TYPE_SUFFIX}/prototype.in - gen/install/Preinstall:builds/install/arch-specific/solaris/${ARCH_TYPE_SUFFIX}/preinstall.in - gen/install/Postinstall:builds/install/arch-specific/solaris/${ARCH_TYPE_SUFFIX}/postinstall.in - gen/install/Postremove:builds/install/arch-specific/solaris/${ARCH_TYPE_SUFFIX}/postremove.in + AC_CONFIG_FILES([gen/install/Pkginfo:builds/install/arch-specific/solaris/pkginfo.in + gen/install/prototype.main:builds/install/arch-specific/solaris/prototype.in + gen/install/Preinstall:builds/install/arch-specific/solaris/preinstall.in + gen/install/Postinstall:builds/install/arch-specific/solaris/postinstall.in + gen/install/Postremove:builds/install/arch-specific/solaris/postremove.in gen/install/prototypelg:builds/install/arch-specific/solaris/libgcc/prototypelg.in gen/install/pkginfolg:builds/install/arch-specific/solaris/libgcc/pkginfolg.in ],[chmod a+x gen/install/Pre* gen/install/Post* 2>/dev/null]) @@ -1277,11 +1263,6 @@ echo The Firebird2 package has been configured with the following options: echo -case $FIREBIRD_ARCH_TYPE in - super) echo " Architecture : SuperServer";; - classic) echo " Architecture : ClassicServer";; -esac - case $DEVEL_FLG in Y) echo " Developer mode : enabled";; N) echo " Developer mode : disabled";; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-08 03:29:20
|
Revision: 54618 http://firebird.svn.sourceforge.net/firebird/?rev=54618&view=rev Author: firebirds Date: 2012-06-08 03:29:12 +0000 (Fri, 08 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-07 11:43:41 UTC (rev 54617) +++ firebird/trunk/ChangeLog 2012-06-08 03:29:12 UTC (rev 54618) @@ -1,3 +1,32 @@ + 2012-06-07 11:43 alexpeshkoff + M builds/install/arch-specific/aix/Makefile.in + M builds/install/arch-specific/aix/classic/rpmheader.txt.in + M builds/install/arch-specific/aix/misc/postinstall.sh.in + M builds/install/arch-specific/aix/misc/tarmaininstall.sh.in + M builds/install/arch-specific/aix/misc/tarmainuninstall.sh.in + M builds/install/arch-specific/freebsd/install.sh.in + M builds/install/arch-specific/hpux/Makefile.in + M builds/install/arch-specific/hpux/classic/tarmainInstall.sh.in + M builds/install/arch-specific/hpux/classic/tarmainUninstall.sh.in + M builds/install/arch-specific/linux/Makefile.in + M builds/install/arch-specific/linux/misc/postinstall.sh.in + M builds/install/arch-specific/linux/misc/tarMainUninstall.sh.in + M builds/install/arch-specific/solaris/CS/pkginfo.in + M builds/install/arch-specific/solaris/Makefile.in + M builds/install/arch-specific/solaris/SS/pkginfo.in + M builds/install/arch-specific/solx86gcc/Makefile.in + M builds/posix/make.defaults + M configure.in +Cleanup - no more separate classic/super builds support + + 2012-06-07 10:08 paul_reeves + M builds/win32/run_all.bat +Add option to just build (default is to do make packages after build.) + + 2012-06-07 10:06 paul_reeves + M builds/win32/make_examples.bat +Build employee database with newly built embedded engine. + 2012-06-06 14:50 asfernandes M src/dsql/pass1.cpp Warning. Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-07 11:43:41 UTC (rev 54617) +++ firebird/trunk/src/jrd/build_no.h 2012-06-08 03:29:12 UTC (rev 54618) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29995 + FORMAL BUILD NUMBER:29998 */ -#define PRODUCT_VER_STRING "3.0.0.29995" -#define FILE_VER_STRING "WI-T3.0.0.29995" -#define LICENSE_VER_STRING "WI-T3.0.0.29995" -#define FILE_VER_NUMBER 3, 0, 0, 29995 +#define PRODUCT_VER_STRING "3.0.0.29998" +#define FILE_VER_STRING "WI-T3.0.0.29998" +#define LICENSE_VER_STRING "WI-T3.0.0.29998" +#define FILE_VER_NUMBER 3, 0, 0, 29998 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29995" +#define FB_BUILD_NO "29998" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-07 11:43:41 UTC (rev 54617) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-08 03:29:12 UTC (rev 54618) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29995 +BuildNum=29998 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-12 03:27:19
|
Revision: 54624 http://firebird.svn.sourceforge.net/firebird/?rev=54624&view=rev Author: firebirds Date: 2012-06-12 03:27:12 +0000 (Tue, 12 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-11 09:34:03 UTC (rev 54623) +++ firebird/trunk/ChangeLog 2012-06-12 03:27:12 UTC (rev 54624) @@ -1,3 +1,11 @@ + 2012-06-11 09:34 paul_reeves + M builds/install/arch-specific/win32/FirebirdInstall_30.iss +Pass correct param to gsec + + 2012-06-11 09:04 paul_reeves + D builds/install/arch-specific/win32/FirebirdInstall_20.iss +remove redundant file + 2012-06-07 11:43 alexpeshkoff M builds/install/arch-specific/aix/Makefile.in M builds/install/arch-specific/aix/classic/rpmheader.txt.in Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-11 09:34:03 UTC (rev 54623) +++ firebird/trunk/src/jrd/build_no.h 2012-06-12 03:27:12 UTC (rev 54624) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:29998 + FORMAL BUILD NUMBER:30000 */ -#define PRODUCT_VER_STRING "3.0.0.29998" -#define FILE_VER_STRING "WI-T3.0.0.29998" -#define LICENSE_VER_STRING "WI-T3.0.0.29998" -#define FILE_VER_NUMBER 3, 0, 0, 29998 +#define PRODUCT_VER_STRING "3.0.0.30000" +#define FILE_VER_STRING "WI-T3.0.0.30000" +#define LICENSE_VER_STRING "WI-T3.0.0.30000" +#define FILE_VER_NUMBER 3, 0, 0, 30000 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "29998" +#define FB_BUILD_NO "30000" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-11 09:34:03 UTC (rev 54623) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-12 03:27:12 UTC (rev 54624) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=29998 +BuildNum=30000 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-13 03:32:52
|
Revision: 54628 http://firebird.svn.sourceforge.net/firebird/?rev=54628&view=rev Author: firebirds Date: 2012-06-13 03:32:45 +0000 (Wed, 13 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-12 14:32:08 UTC (rev 54627) +++ firebird/trunk/ChangeLog 2012-06-13 03:32:45 UTC (rev 54628) @@ -1,3 +1,16 @@ + 2012-06-12 14:32 paul_reeves + M builds/install/arch-specific/win32/FirebirdInstall_30.iss +Validate sysdba password entry + + 2012-06-12 14:29 paul_reeves + M builds/install/arch-specific/win32/FirebirdInstallGUIFunctions.inc + M builds/install/arch-specific/win32/FirebirdInstallSupportFunctions.inc +Misc + + 2012-06-12 14:27 paul_reeves + M builds/install/arch-specific/win32/custom_messages.inc +Add a couple of new i18n strings for the innosetup installer. + 2012-06-11 09:34 paul_reeves M builds/install/arch-specific/win32/FirebirdInstall_30.iss Pass correct param to gsec Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-12 14:32:08 UTC (rev 54627) +++ firebird/trunk/src/jrd/build_no.h 2012-06-13 03:32:45 UTC (rev 54628) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30000 + FORMAL BUILD NUMBER:30003 */ -#define PRODUCT_VER_STRING "3.0.0.30000" -#define FILE_VER_STRING "WI-T3.0.0.30000" -#define LICENSE_VER_STRING "WI-T3.0.0.30000" -#define FILE_VER_NUMBER 3, 0, 0, 30000 +#define PRODUCT_VER_STRING "3.0.0.30003" +#define FILE_VER_STRING "WI-T3.0.0.30003" +#define LICENSE_VER_STRING "WI-T3.0.0.30003" +#define FILE_VER_NUMBER 3, 0, 0, 30003 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30000" +#define FB_BUILD_NO "30003" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-12 14:32:08 UTC (rev 54627) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-13 03:32:45 UTC (rev 54628) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30000 +BuildNum=30003 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-14 03:28:18
|
Revision: 54630 http://firebird.svn.sourceforge.net/firebird/?rev=54630&view=rev Author: firebirds Date: 2012-06-14 03:28:11 +0000 (Thu, 14 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-13 07:59:09 UTC (rev 54629) +++ firebird/trunk/ChangeLog 2012-06-14 03:28:11 UTC (rev 54630) @@ -1,3 +1,8 @@ + 2012-06-13 07:59 hvlad + M builds/win32/msvc10/engine.vcxproj + M builds/win32/msvc10/engine.vcxproj.filters +Update msvc10 build + 2012-06-12 14:32 paul_reeves M builds/install/arch-specific/win32/FirebirdInstall_30.iss Validate sysdba password entry Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-13 07:59:09 UTC (rev 54629) +++ firebird/trunk/src/jrd/build_no.h 2012-06-14 03:28:11 UTC (rev 54630) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30003 + FORMAL BUILD NUMBER:30004 */ -#define PRODUCT_VER_STRING "3.0.0.30003" -#define FILE_VER_STRING "WI-T3.0.0.30003" -#define LICENSE_VER_STRING "WI-T3.0.0.30003" -#define FILE_VER_NUMBER 3, 0, 0, 30003 +#define PRODUCT_VER_STRING "3.0.0.30004" +#define FILE_VER_STRING "WI-T3.0.0.30004" +#define LICENSE_VER_STRING "WI-T3.0.0.30004" +#define FILE_VER_NUMBER 3, 0, 0, 30004 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30003" +#define FB_BUILD_NO "30004" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-13 07:59:09 UTC (rev 54629) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-14 03:28:11 UTC (rev 54630) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30003 +BuildNum=30004 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-15 03:33:38
|
Revision: 54632 http://firebird.svn.sourceforge.net/firebird/?rev=54632&view=rev Author: firebirds Date: 2012-06-15 03:33:32 +0000 (Fri, 15 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-14 09:31:24 UTC (rev 54631) +++ firebird/trunk/ChangeLog 2012-06-15 03:33:32 UTC (rev 54632) @@ -1,3 +1,9 @@ + 2012-06-14 09:31 paul_reeves + M builds/install/arch-specific/win32 + M builds/install/arch-specific/win32/FirebirdInstallSupportFunctions.inc + M builds/install/arch-specific/win32/FirebirdInstall_30.iss +Modify firebird.conf at install time according to choice of server architecture. + 2012-06-13 07:59 hvlad M builds/win32/msvc10/engine.vcxproj M builds/win32/msvc10/engine.vcxproj.filters Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-14 09:31:24 UTC (rev 54631) +++ firebird/trunk/src/jrd/build_no.h 2012-06-15 03:33:32 UTC (rev 54632) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30004 + FORMAL BUILD NUMBER:30005 */ -#define PRODUCT_VER_STRING "3.0.0.30004" -#define FILE_VER_STRING "WI-T3.0.0.30004" -#define LICENSE_VER_STRING "WI-T3.0.0.30004" -#define FILE_VER_NUMBER 3, 0, 0, 30004 +#define PRODUCT_VER_STRING "3.0.0.30005" +#define FILE_VER_STRING "WI-T3.0.0.30005" +#define LICENSE_VER_STRING "WI-T3.0.0.30005" +#define FILE_VER_NUMBER 3, 0, 0, 30005 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30004" +#define FB_BUILD_NO "30005" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-14 09:31:24 UTC (rev 54631) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-15 03:33:32 UTC (rev 54632) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30004 +BuildNum=30005 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <fir...@us...> - 2012-06-19 03:30:44
|
Revision: 54634 http://firebird.svn.sourceforge.net/firebird/?rev=54634&view=rev Author: firebirds Date: 2012-06-19 03:30:37 +0000 (Tue, 19 Jun 2012) Log Message: ----------- nightly update Modified Paths: -------------- firebird/trunk/ChangeLog firebird/trunk/src/jrd/build_no.h firebird/trunk/src/misc/writeBuildNum.sh Modified: firebird/trunk/ChangeLog =================================================================== --- firebird/trunk/ChangeLog 2012-06-18 16:51:30 UTC (rev 54633) +++ firebird/trunk/ChangeLog 2012-06-19 03:30:37 UTC (rev 54634) @@ -1,3 +1,8 @@ + 2012-06-18 16:51 dimitr + M src/common/isc_s_proto.h + M src/common/isc_sync.cpp +Removed the faulty debug break and reworked the code a bit to be more useful. + 2012-06-14 09:31 paul_reeves M builds/install/arch-specific/win32 M builds/install/arch-specific/win32/FirebirdInstallSupportFunctions.inc Modified: firebird/trunk/src/jrd/build_no.h =================================================================== --- firebird/trunk/src/jrd/build_no.h 2012-06-18 16:51:30 UTC (rev 54633) +++ firebird/trunk/src/jrd/build_no.h 2012-06-19 03:30:37 UTC (rev 54634) @@ -3,16 +3,16 @@ *** DO NOT EDIT *** TO CHANGE ANY INFORMATION IN HERE PLEASE EDIT src/misc/writeBuildNum.sh - FORMAL BUILD NUMBER:30005 + FORMAL BUILD NUMBER:30006 */ -#define PRODUCT_VER_STRING "3.0.0.30005" -#define FILE_VER_STRING "WI-T3.0.0.30005" -#define LICENSE_VER_STRING "WI-T3.0.0.30005" -#define FILE_VER_NUMBER 3, 0, 0, 30005 +#define PRODUCT_VER_STRING "3.0.0.30006" +#define FILE_VER_STRING "WI-T3.0.0.30006" +#define LICENSE_VER_STRING "WI-T3.0.0.30006" +#define FILE_VER_NUMBER 3, 0, 0, 30006 #define FB_MAJOR_VER "3" #define FB_MINOR_VER "0" #define FB_REV_NO "0" -#define FB_BUILD_NO "30005" +#define FB_BUILD_NO "30006" #define FB_BUILD_TYPE "T" #define FB_BUILD_SUFFIX "Firebird 3.0 Unstable" Modified: firebird/trunk/src/misc/writeBuildNum.sh =================================================================== --- firebird/trunk/src/misc/writeBuildNum.sh 2012-06-18 16:51:30 UTC (rev 54633) +++ firebird/trunk/src/misc/writeBuildNum.sh 2012-06-19 03:30:37 UTC (rev 54634) @@ -9,7 +9,7 @@ MajorVer=3 MinorVer=0 RevNo=0 -BuildNum=30005 +BuildNum=30006 NowAt=`pwd` cd `dirname $0` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |