Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Enable easier integration with CEROD. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
d3eb5c0fcc552934ae7c0f15e5bb6be2 |
User & Date: | mistachkin 2015-02-12 18:18:43.414 |
Context
2015-02-12
| ||
18:53 | Corrections to the previous check-in. check-in: 07200719dc user: mistachkin tags: trunk | |
18:18 | Enable easier integration with CEROD. check-in: d3eb5c0fcc user: mistachkin tags: trunk | |
2015-02-09
| ||
23:18 | Another attempt to improve readability of the download page. check-in: 368bd94cb2 user: mistachkin tags: trunk | |
Changes
Changes to SQLite.Interop/src/win/interop.c.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #endif #if defined(SQLITE_OS_WIN) #if defined(INTEROP_CODEC) #include "crypt.c" #elif defined(INTEROP_INCLUDE_SEE) #include "../ext/see.c" #endif #include "interop.h" #define INTEROP_DEBUG_NONE (0x0000) #define INTEROP_DEBUG_CLOSE (0x0001) #define INTEROP_DEBUG_FINALIZE (0x0002) | > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | #endif #if defined(SQLITE_OS_WIN) #if defined(INTEROP_CODEC) #include "crypt.c" #elif defined(INTEROP_INCLUDE_SEE) #include "../ext/see.c" #elif defined(INTEROP_INCLUDE_CEROD) #include "../ext/cerod.c" #endif #include "interop.h" #define INTEROP_DEBUG_NONE (0x0000) #define INTEROP_DEBUG_CLOSE (0x0001) #define INTEROP_DEBUG_FINALIZE (0x0002) |
︙ | ︙ | |||
85 86 87 88 89 90 91 92 93 94 95 96 97 98 | "CODEC", #endif #ifdef INTEROP_DEBUG "DEBUG=" CTIMEOPT_VAL(INTEROP_DEBUG), #endif #ifdef INTEROP_EXTENSION_FUNCTIONS "EXTENSION_FUNCTIONS", #endif #ifdef INTEROP_INCLUDE_SEE "INCLUDE_SEE", #endif #ifdef INTEROP_LEGACY_CLOSE "LEGACY_CLOSE", #endif | > > > | 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | "CODEC", #endif #ifdef INTEROP_DEBUG "DEBUG=" CTIMEOPT_VAL(INTEROP_DEBUG), #endif #ifdef INTEROP_EXTENSION_FUNCTIONS "EXTENSION_FUNCTIONS", #endif #ifdef INTEROP_INCLUDE_CEROD "INCLUDE_CEROD", #endif #ifdef INTEROP_INCLUDE_SEE "INCLUDE_SEE", #endif #ifdef INTEROP_LEGACY_CLOSE "LEGACY_CLOSE", #endif |
︙ | ︙ |
Changes to System.Data.SQLite/SQLite3.cs.
︙ | ︙ | |||
2279 2280 2281 2282 2283 2284 2285 | /// Add a log message via the SQLite sqlite3_log interface. internal static void StaticLogMessage(SQLiteErrorCode iErrCode, string zMessage) { UnsafeNativeMethods.sqlite3_log(iErrCode, ToUTF8(zMessage)); } | | | 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 | /// Add a log message via the SQLite sqlite3_log interface. internal static void StaticLogMessage(SQLiteErrorCode iErrCode, string zMessage) { UnsafeNativeMethods.sqlite3_log(iErrCode, ToUTF8(zMessage)); } #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD internal override void SetPassword(byte[] passwordBytes) { SQLiteErrorCode n = UnsafeNativeMethods.sqlite3_key(_sql, passwordBytes, passwordBytes.Length); if (n != SQLiteErrorCode.Ok) throw new SQLiteException(n, GetLastError()); } internal override void ChangePassword(byte[] newPasswordBytes) |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteBase.cs.
︙ | ︙ | |||
371 372 373 374 375 376 377 | /// <param name="iErrCode">Error code to be logged with the message.</param> /// <param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log() /// interface, this should be pre-formatted. Consider using the /// String.Format() function.</param> /// <returns></returns> internal abstract void LogMessage(SQLiteErrorCode iErrCode, string zMessage); | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | /// <param name="iErrCode">Error code to be logged with the message.</param> /// <param name="zMessage">String to be logged. Unlike the SQLite sqlite3_log() /// interface, this should be pre-formatted. Consider using the /// String.Format() function.</param> /// <returns></returns> internal abstract void LogMessage(SQLiteErrorCode iErrCode, string zMessage); #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD internal abstract void SetPassword(byte[] passwordBytes); internal abstract void ChangePassword(byte[] newPasswordBytes); #endif internal abstract void SetAuthorizerHook(SQLiteAuthorizerCallback func); internal abstract void SetUpdateHook(SQLiteUpdateCallback func); internal abstract void SetCommitHook(SQLiteCommitCallback func); |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteConnection.cs.
︙ | ︙ | |||
469 470 471 472 473 474 475 | /// </summary> internal SQLiteBase _sql; /// <summary> /// The database filename minus path and extension /// </summary> private string _dataSource; | | | 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 | /// </summary> internal SQLiteBase _sql; /// <summary> /// The database filename minus path and extension /// </summary> private string _dataSource; #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD /// <summary> /// Temporary password storage, emptied after the database has been opened /// </summary> private byte[] _password; #endif /// <summary> |
︙ | ︙ | |||
2575 2576 2577 2578 2579 2580 2581 | if (fullUri) flags |= SQLiteOpenFlagsEnum.Uri; _sql.Open(fileName, _flags, flags, maxPoolSize, usePooling); _binaryGuid = SQLiteConvert.ToBoolean(FindKey(opts, "BinaryGUID", DefaultBinaryGUID.ToString())); | | | 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 | if (fullUri) flags |= SQLiteOpenFlagsEnum.Uri; _sql.Open(fileName, _flags, flags, maxPoolSize, usePooling); _binaryGuid = SQLiteConvert.ToBoolean(FindKey(opts, "BinaryGUID", DefaultBinaryGUID.ToString())); #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD string hexPassword = FindKey(opts, "HexPassword", DefaultHexPassword); if (!String.IsNullOrEmpty(hexPassword)) { string error = null; byte[] hexPasswordBytes = FromHexString(hexPassword, ref error); |
︙ | ︙ | |||
3309 3310 3311 3312 3313 3314 3315 | if (_sql == null) throw new InvalidOperationException("Database connection not valid for logging message."); _sql.LogMessage((SQLiteErrorCode)iErrCode, zMessage); } | | | 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 | if (_sql == null) throw new InvalidOperationException("Database connection not valid for logging message."); _sql.LogMessage((SQLiteErrorCode)iErrCode, zMessage); } #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD /// <summary> /// Change the password (or assign a password) to an open database. /// </summary> /// <remarks> /// No readers or writers may be active for this process. The database must already be open /// and if it already was password protected, the existing password must already have been supplied. /// </remarks> |
︙ | ︙ |
Changes to System.Data.SQLite/SQLiteDefineConstants.cs.
︙ | ︙ | |||
31 32 33 34 35 36 37 38 39 40 41 42 43 44 | #if INTEROP_DEBUG "INTEROP_DEBUG", #endif #if INTEROP_EXTENSION_FUNCTIONS "INTEROP_EXTENSION_FUNCTIONS", #endif #if INTEROP_INCLUDE_SEE "INTEROP_INCLUDE_SEE", #endif #if INTEROP_LEGACY_CLOSE "INTEROP_LEGACY_CLOSE", | > > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #if INTEROP_DEBUG "INTEROP_DEBUG", #endif #if INTEROP_EXTENSION_FUNCTIONS "INTEROP_EXTENSION_FUNCTIONS", #endif #if INTEROP_INCLUDE_CEROD "INTEROP_INCLUDE_CEROD", #endif #if INTEROP_INCLUDE_SEE "INTEROP_INCLUDE_SEE", #endif #if INTEROP_LEGACY_CLOSE "INTEROP_LEGACY_CLOSE", |
︙ | ︙ |
Changes to System.Data.SQLite/Targets/System.Data.SQLite.Properties.targets.
︙ | ︙ | |||
160 161 162 163 164 165 166 167 168 169 170 171 172 173 | NOTE: Enable support (in the managed assemblies) for encrypted databases using SEE? --> <PropertyGroup Condition="'$(InteropIncludeSee)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_SEE</DefineConstants> </PropertyGroup> <!-- NOTE: Enable extra diagnostics from the custom built interop DLL (see the "SQLite.NET.Settings.targets" file for more information)? --> <PropertyGroup Condition="'$(InteropDebug)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_DEBUG</DefineConstants> </PropertyGroup> | > > > > > > > > | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | NOTE: Enable support (in the managed assemblies) for encrypted databases using SEE? --> <PropertyGroup Condition="'$(InteropIncludeSee)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_SEE</DefineConstants> </PropertyGroup> <!-- NOTE: Enable support (in the managed assemblies) for compressed and encrypted databases using CEROD? --> <PropertyGroup Condition="'$(InteropIncludeCerod)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_INCLUDE_CEROD</DefineConstants> </PropertyGroup> <!-- NOTE: Enable extra diagnostics from the custom built interop DLL (see the "SQLite.NET.Settings.targets" file for more information)? --> <PropertyGroup Condition="'$(InteropDebug)' != 'false'"> <DefineConstants>$(DefineConstants);INTEROP_DEBUG</DefineConstants> </PropertyGroup> |
︙ | ︙ |
Changes to System.Data.SQLite/UnsafeNativeMethods.cs.
︙ | ︙ | |||
2086 2087 2088 2089 2090 2091 2092 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] #else [DllImport(SQLITE_DLL, CharSet = CharSet.Unicode)] #endif internal static extern void sqlite3_result_text16(IntPtr context, string strName, int nLen, IntPtr pvReserved); | | | 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 | #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Unicode)] #else [DllImport(SQLITE_DLL, CharSet = CharSet.Unicode)] #endif internal static extern void sqlite3_result_text16(IntPtr context, string strName, int nLen, IntPtr pvReserved); #if INTEROP_CODEC || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD #if !PLATFORM_COMPACTFRAMEWORK [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)] #else [DllImport(SQLITE_DLL)] #endif internal static extern SQLiteErrorCode sqlite3_key(IntPtr db, byte[] key, int keylen); |
︙ | ︙ |
Changes to Targets/SQLite.NET.Settings.targets.
︙ | ︙ | |||
352 353 354 355 356 357 358 359 360 361 362 363 364 365 | "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeSee Condition="'$(InteropIncludeSee)' == ''">false</InteropIncludeSee> <!-- NOTE: Enable extra diagnostics from the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is enabled in the Debug build configuration. If this is disabled, no extra diagnostics will be emitted. If this is enabled, it must also be enabled via the "INTEROP_DEBUG=XX" preprocessor define being present in the "INTEROP_DEBUG_DEFINES" macro in the build properties file: | > > > > > > > > > > > > > > > > > > > > | 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 | "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeSee Condition="'$(InteropIncludeSee)' == ''">false</InteropIncludeSee> <!-- NOTE: Enable including CEROD with the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is disabled. If this is enabled, the "cerod.c" file will be included from the extensions directory. If this is enabled, it must also be enabled via the "SQLITE_HAS_CODEC=1" preprocessor define being present in the "SQLITE_EXTRA_DEFINES" macro in the build properties file: "SQLite.Interop\props\sqlite3.[vs]props" AND via the "INTEROP_INCLUDE_CEROD=1" preprocessor define being present in the "INTEROP_EXTRA_DEFINES" macro in the build properties file: "SQLite.Interop\props\SQLite.Interop.20YY.[vs]props" both for the corresponding version(s) of Visual Studio. --> <InteropIncludeCerod Condition="'$(InteropIncludeCerod)' == ''">false</InteropIncludeCerod> <!-- NOTE: Enable extra diagnostics from the custom built interop DLL (i.e. "SQLite.Interop.dll")? By default, this is enabled in the Debug build configuration. If this is disabled, no extra diagnostics will be emitted. If this is enabled, it must also be enabled via the "INTEROP_DEBUG=XX" preprocessor define being present in the "INTEROP_DEBUG_DEFINES" macro in the build properties file: |
︙ | ︙ |
Changes to Tests/common.eagle.
︙ | ︙ | |||
3152 3153 3154 3155 3156 3157 3158 | # are some compile-time options that must also have been enabled # for the interop assembly in order to be effective. For those # options, it will be assumed that it was enabled for the interop # assembly if it was enabled for the managed assembly. # foreach defineConstant [list \ CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ | | | | | | | > | | | 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 | # are some compile-time options that must also have been enabled # for the interop assembly in order to be effective. For those # options, it will be assumed that it was enabled for the interop # assembly if it was enabled for the managed assembly. # foreach defineConstant [list \ CHECK_STATE COUNT_HANDLE DEBUG INTEROP_CODEC INTEROP_DEBUG \ INTEROP_EXTENSION_FUNCTIONS INTEROP_INCLUDE_CEROD \ INTEROP_INCLUDE_SEE INTEROP_LEGACY_CLOSE INTEROP_LOG \ INTEROP_TEST_EXTENSION INTEROP_VIRTUAL_TABLE NET_20 NET_35 \ NET_40 NET_45 NET_451 NET_COMPACT_20 PLATFORM_COMPACTFRAMEWORK \ PRELOAD_NATIVE_LIBRARY RETARGETABLE SQLITE_STANDARD \ THROW_ON_DISPOSED TRACE TRACE_CONNECTION TRACE_DETECTION \ TRACE_HANDLE TRACE_PRELOAD TRACE_SHARED TRACE_STATEMENT \ TRACE_WARNING TRACK_MEMORY_BYTES USE_ENTITY_FRAMEWORK_6 \ USE_INTEROP_DLL USE_PREPARE_V2 WINDOWS] { # # NOTE: Check if the compile-time option is listed in the list of # "define constants" kept track of by the managed assembly. # checkForSQLiteDefineConstant $::test_channel $defineConstant } |
︙ | ︙ |
Changes to test/TestCases.cs.
︙ | ︙ | |||
78 79 80 81 82 83 84 | internal void CheckSQLite() { if (_fact.GetType().Name.IndexOf("SQLite", StringComparison.OrdinalIgnoreCase) == -1) throw new InconclusiveException("Not a SQLite database"); } /* | | | > | | 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | internal void CheckSQLite() { if (_fact.GetType().Name.IndexOf("SQLite", StringComparison.OrdinalIgnoreCase) == -1) throw new InconclusiveException("Not a SQLite database"); } /* * NOTE: Using SEE or CEROD for this particular test case is currently * unsupported because we have no easy way of executing the SQL * beforehand that is needed to set it up. */ #if INTEROP_CODEC // || INTEROP_INCLUDE_SEE || INTEROP_INCLUDE_CEROD /// <summary> /// Tests changing password on an encrypted database. /// </summary> [Test] internal void ChangePasswordTest() { if (_fact.GetType().Name.IndexOf("SQLite", StringComparison.OrdinalIgnoreCase) > -1) |
︙ | ︙ |