mORMot and Open Source friends
File History
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History of SynCrypto.pas

2017-04-18
09:20
[3dfd317cec] part of check-in [4d65b9a861] {3610} new TAESAbstract.SimpleEncryptFile overloaded methods (user: ab branch: trunk)
2017-03-28
09:19
[d2b5115448] part of check-in [8df2228d65] {3552} slightly enhanced TAESPRNG.GetEntropy (user: ab branch: trunk)
2017-03-17
07:39
[98b0ffa4d7] part of check-in [c883b0a70a] {3502} introducing Random32 and Random32Seed functions will use RDRAND Intel x86/x64 opcode if available, or fast gsl_rng_taus2 generator by Pierre L'Ecuyer (period is 2^88, i.e. about 10^26) - not to be used for cryptographic level randomness, but much better than Random(maxInt) RTL function (user: ab branch: trunk)
2017-03-13
12:34
[7ddcab63f3] part of check-in [7c2adc4cb9] {3488} new overloaded PBKDF2_HMAC_SHA256() function returning as many bits of output as needed (user: ab branch: trunk)
2017-03-04
10:02
[e5512c0494] part of check-in [2a1459f31a] {3459} avoid enless lock in TSynBackgroundThreadProcess.Destroy (user: ab branch: trunk)
2017-03-03
11:10
[4d01d7b6ff] part of check-in [bcc99982f2] {3452} new TMD5/TSHA1/TSHA256.Update overloaded methods (user: ab branch: trunk)
2017-03-01
17:44
[0bc044cce7] part of check-in [1aaa49b3f9] {3449} circumvent FPC bug about @ClassNameShort(...)[2] syntax (user: ab branch: trunk)
2017-02-28
15:33
[f1f5e1a292] part of check-in [8ac6246390] {3443} small enhancements to THMAC_CRC32C (user: ab branch: trunk)
10:42
[90b4c17032] part of check-in [4a57dd5b17] {3441} tune Linux/POSIX process of CryptDataForCurrentUser (user: ab branch: trunk)
10:11
[18a2a493db] part of check-in [3370c10e8c] {3440} introducing ClassNameShort/ToText(TClass) overloaded functions (user: ab branch: trunk)
2017-02-27
11:34
[dceaf3c0f8] part of check-in [ed771f78da] {3432} secured CryptDataForCurrentUser local key storage (user: ab branch: trunk)
11:33
[02795e6cbd] part of check-in [9db4fa7f94] {3431} new TAESAbstract.MACEquals/Create methods (user: ab branch: trunk)
2017-02-26
20:04
[9f7da444f8] part of check-in [e47b81911c] {3430} enhanced CryptDataForCurrentUser() function to be used as safe cross-platform process and introduced CryptDataForCurrentUserDPAPI (user: ab branch: trunk)
19:59
[57dcd95ebc] part of check-in [716570f2bf] {3429} new TAESPRNG.AFSplit overloaded method (user: ab branch: trunk)
2017-02-25
20:11
[8a57918c87] part of check-in [27a94cd824] {3426} new CryptDataForCurrentUser and CryptDataForCurrentUserAES functions (user: ab branch: trunk)
2017-02-17
20:28
[276f4c501f] part of check-in [a9b6a6d223] {3417} new TAESPRNG.FillRandomHex method (user: ab branch: trunk)
2017-02-14
09:11
[50a4606f58] part of check-in [b4d81e03bf] {3406} new overloaded THMAC_CRC32C.Update method (user: ab branch: trunk)
2017-02-09
10:55
[c3d8be4420] part of check-in [3f563f73be] {3400} new TSynPicture.CreateFromBuffer constructor (user: ab branch: trunk)
2017-02-07
14:01
[b11adf9e8c] part of check-in [af1fd2586a] {3397} ensure JWTForUnauthenticatedRequest works as expected (user: ab branch: trunk)
11:19
[545cf7d4ad] part of check-in [93a18df948] {3396} new TJWTAbstract.Verify overloaded method (user: ab branch: trunk)
2017-01-22
20:05
[19fb7cf3d5] part of check-in [65505aa594] {3348} added cache for TSQLRestServerURIContext.AuthenticationBearerToken method (user: ab branch: trunk)
2017-01-19
09:33
[1fab206006] part of check-in [b32f6a4110] {3336} modified all links to https://synopse.info - since our web site is now HTTPS + HTTP/2 and rated A+ on https://www.ssllabs.com/ssltest/analyze.html?d=synopse.info (user: ab branch: trunk)
2017-01-18
12:53
[ab1d5632bc] part of check-in [e57e131826] {3331} avoid endless loop in TAESPRNG.RandomPassword if len is < 3 (user: ab branch: trunk)
2017-01-17
08:35
[8dcd1fa27f] part of check-in [130875cf13] {3325} introducing mrBtn# and mrRad1# constants (user: ab branch: trunk)
2017-01-01
15:05
[6fddb6b13b] part of check-in [8f71b8aaf0] {3305} we reached 2017 ! HAPPY MORMOT YEAR FOR EVERYONE! (user: ab branch: trunk)
2016-12-23
15:49
[96a8c7b351] part of check-in [31519a006f] {3288} new ESynException.CreateLastOSError constructor (user: ab branch: trunk)
10:48
[4e6ee881d9] part of check-in [916c530392] {3287} refactored SynSQlite3Static encryption no functional change (user: ab branch: trunk)
09:59
[c0f2f12a35] part of check-in [e0b918eb29] {3285} code refactoring for consistent THash128Rec/THash256Rec use (user: ab branch: trunk)
2016-12-22
21:21
[9736cc6bbf] part of check-in [c0649ed04c] {3283} introducing THash128Rec and THash256Rec mapping structures (user: ab branch: trunk)
2016-12-19
20:50
[c9f6539803] part of check-in [ded4d061a8] {3261} on TSQLRestServerURIContext.AuthenticationCheck failure returns 401 HTTP_UNAUTHORIZED as error context (user: ab branch: trunk)
20:31
[464985b2d1] part of check-in [c220fb6552] {3257} enhanced documentation about JWT (user: ab branch: trunk)
09:57
[344eb387a9] part of check-in [31989787bd] {3254} enhanced JWT to return jwtNoToken result - also fixed optional caching of invalid signatures (user: ab branch: trunk)
2016-12-10
10:59
[6009d614fe] part of check-in [348c33e14b] {3235} SynCrypto enhancements about security, documentation and a new overload Update method for HMAC_SHA256 (user: ab branch: trunk)
2016-12-09
21:19
[7cc77c2af0] part of check-in [fe9cfdadeb] {3229} new THMAC_CRC32C.Compute method - also include some refactoring of HMAC process (user: ab branch: trunk)
12:41
[f6a7a7efdb] part of check-in [2a735aa48c] {3225} enhanced JWT implementation via code review and new joHeaderParse option (user: ab branch: trunk)
2016-12-08
13:32
[729d0260f3] part of check-in [c3950e9ab8] {3223} new TJWTAbstract.ComputeAuthorizationHeader method (user: ab branch: trunk)
11:38
[0ab773a796] part of check-in [9164ad1bfb] {3220} enhanced TJWTAbstract process and documentation (user: ab branch: trunk)
2016-12-07
21:17
[682e98c771] part of check-in [3967db239d] {3219} fixed Delphi 5 and FPC compilation - also updated documentation (user: ab branch: trunk)
20:39
[e54da9d553] part of check-in [0409ed0492] {3217} introducing JWT support for "none" and "HS256" algorithms via TJWTAbstract / TJWTNone / TJWTHS256 classes with associated regression tests (user: ab branch: trunk)
2016-12-01
21:50
[d6a093f233] part of check-in [e6f603369f] {3209} let SynCommons compile with PUREPASCAL on Delphi 7 (user: ab branch: trunk)
2016-11-23
18:46
[dc8214499f] part of check-in [6345cec3bc] {3186} introduced a new TAESPRNGSystem class (user: ab branch: trunk)
18:45
[06e43c803c] part of check-in [7a2266e193] {3185} new MainAESPRNG global class instance (user: ab branch: trunk)
2016-11-14
18:09
[fe43cf6e9e] part of check-in [c4af554637] {3180} FreeBSD preliminary support via FPC - thanks a lot ALF for the patches! (user: ab branch: trunk)
2016-11-01
19:55
[c63e5101be] part of check-in [c032b3a0bd] {3164} refactoring of TSQLRest.MultiRedirect implementation - no functional change (user: ab branch: trunk)
2016-10-24
18:46
[b00b5b0ddb] part of check-in [50292d64d0] {3135} slight performance enhancement to PBKDF2_HMAC_SHA1 and PBKDF2_HMAC_SHA256 (user: ab branch: trunk)
18:45
[e480a599ac] part of check-in [0b5d3d353a] {3134} TAESPRNG.GetEntropy will use safer HMAC-SHA256 instead of plain SHA256 (user: ab branch: trunk)
2016-10-19
19:25
[4ff4badcf8] part of check-in [f21003c50c] {3119} small enhancement of TSQLRestServerAuthenticationHttpBasic - also preparing upcoming root/safe URI to encrypt all content using plain HTTP/HTTPS link (user: ab branch: trunk)
2016-10-17
18:34
[2235a17e14] part of check-in [7c72a251cc] {3111} new TAESPRNG.AFUnsplit overloaded method (user: ab branch: trunk)
15:34
[e6c08a6a17] part of check-in [696ab6575a] {3108} ensure TAESPRNG.RandomPassword method excludes ;,= chars to allow direct use in CSV content (user: ab branch: trunk)
10:42
[2cd9993e12] part of check-in [5a41ee44ac] {3103} introducing IProtocol.ProcessHandshake method (user: ab branch: trunk)
2016-10-16
18:33
[95ff64e334] part of check-in [651a596ddd] {3097} new Random32 function (user: ab branch: trunk)
18:32
[c4685427e2] part of check-in [51b2e4df3f] {3096} new TAESAbstractAEAD.MACCheckError() method renaming TAESAbstractMAC class and MACSetKey as MACSetNonce method (user: ab branch: trunk)
2016-10-14
10:03
[e93e7dd330] part of check-in [df04833b6f] {3091} fixed and enhanced TAESCFBCRC and TAESOFBCRC implementation (user: ab branch: trunk)
2016-10-13
19:48
[2cfa043a2e] part of check-in [e644c3712e] {3089} new TAESOFBCRC class (user: ab branch: trunk)
14:42
[78906a4fed] part of check-in [a6dd375c0e] {3087} enhanced performance of TAESCFBCRC (user: ab branch: trunk)
12:38
[0076ab4727] part of check-in [e7167ffe75] {3084} new TAESCFBCRC class implementing AES-CFB encryption with on-the-fly cryptographic secure 256-bit MAC using AES-NI and SSE4.2 hardware acceleration, if available (user: ab branch: trunk)
12:36
[414840cd5a] part of check-in [ad70d34e87] {3083} introducing TAESAbstract.MACSetKey/MACGetLast virtual methods to implement MAC during encryption (e.g. for AES-GCM or AES-CRC) (user: ab branch: trunk)
2016-10-12
07:23
[d6ca9989cc] part of check-in [fcf42a62fd] {3081} added regression tests and Linux x64 asm compatibility for xxHash32() (user: ab branch: trunk)
2016-10-11
13:57
[2770d85567] part of check-in [8e4998856c] {3078} introducing TECDHEProtocol regression tests (user: ab branch: trunk)
2016-10-10
18:11
[46fa44b699] part of check-in [a7ce08fe03] {3074} new TProtocolAES class and IProtocol.Clone method (user: ab branch: trunk)
11:48
[408c036f87] part of check-in [4712e66aeb] {3072} introducing IProtocol interface and TProtocolNone void implementation class (user: ab branch: trunk)
10:59
[676a63ad10] part of check-in [5f97ac4bf6] {3071} introducing TAESAbstract.CloneEncryptDecrypt method (user: ab branch: trunk)
2016-10-09
19:43
[eea3b8b464] part of check-in [d8b7a946b2] {3068} new overloaded THMAC_SHA256.Update methods (user: ab branch: trunk)
13:34
[8b3f77ece8] part of check-in [b7234874e2] {3067} refactored overloaded IsZero() and IsEqual() functions (user: ab branch: trunk)
08:19
[780a92c2e3] part of check-in [9bc387f29e] {3065} enhanced TAESAbstract.IVReplayAttackCheck implementation and documentation (user: ab branch: trunk)
2016-10-08
19:02
[e27dc7df21] part of check-in [4e37b86646] {3063} new TAESAbstract.IVReplayAttackCheck property - if set, the IV used by EncryptPKCS7 will be in fact a CTR encoded value, which will be checked as increasing, and detect replay attack attempts (user: ab branch: trunk)
2016-10-07
19:09
[2d34de3e92] part of check-in [7c250f7f4a] {3053} new TAESAbstract.IVHistory property to avoid replay attacks on PKCS7 encryption (user: ab branch: trunk)
2016-09-29
12:45
[5ce2fe5920] part of check-in [52fe19a24b] {3024} another pass of SynCrypto code review to ensure no temporary binary context is left on stack after process (user: ab branch: trunk)
2016-09-27
19:00
[23d7154d5c] part of check-in [6efa5859f7] {3016} introducing THMAC_SHA256, THMAC_SHA1 and THMAC_CRC32C objects for progressive MAC encoding by message chunks - also slight performance improvement of PBKDF2_HMAC_SHA256/PBKDF2_HMAC_SHA1 (user: ab branch: trunk)
15:09
[e96c9a2e05] part of check-in [1be21ef2e6] {3014} introducing HMAC_CRC256C and HMAC_CRC32C functions - HMAC over a non cryptographic hash function like crc32c/crc256c is known to be a safe enough MAC, if the supplied key comes e.g. from cryptographic HMAC_SHA256 (user: ab branch: trunk)
2016-09-22
19:38
[a61f611e8b] part of check-in [bf30b0199d] {2990} enhanced TCommandLine and other minor improvements (user: ab branch: trunk)
14:31
[9cf0873edd] part of check-in [873bcba5d6] {2987} FPC compatibility fix of SynDBOracle (user: ab branch: trunk)
2016-09-16
19:49
[e07dba65e0] part of check-in [733114696e] {2958} refactored TSynBackgroundTimer to work also as a queue for background process of UTF-8 messages as a FIFO using Enqueue() and ExecuteNow() new methods (user: ab branch: trunk)
2016-09-15
12:50
[5745aa2633] part of check-in [be00d49dc5] {2954} new optional aContinueOnException parameter to ObjArrayClear and ObjArrayDelete functions (user: ab branch: trunk)
2016-09-11
13:33
[c7a1d1d42f] part of check-in [aaba99adf6] {2937} small enhancements to TAESPRNG.Seed when gathering entropy and initializing the PRNG (user: ab branch: trunk)
2016-09-05
10:04
[0b296dfde7] part of check-in [3f97936daa] {2926} optimization of vli_cmp function in SynEcc32asm.inc (user: ab branch: trunk)
2016-08-29
13:38
[97fe47a48b] part of check-in [7583eb3b78] {2898} new TAESPRNG.Fill() overloaded class methods (user: ab branch: trunk)
2016-08-18
10:34
[9c8a2e930c] part of check-in [401aba4c38] {2879} new SHA1StringToDigest and SHA256StringToDigest functions (user: ab branch: trunk)
2016-08-15
17:56
[42d28851c9] part of check-in [f8c34d8486] {2855} new TAESPRNG.RandomPassword method (user: ab branch: trunk)
2016-08-12
16:13
[a8f9ebfb8d] part of check-in [b3888062a8] {2846} new TAESAbstract.DecryptPKCS7Buffer method (user: ab branch: trunk)
16:13
[aac0985328] part of check-in [f0e2cf992e] {2845} renamed previously introduced Equals() overloaded functions as IsEqual() to avoid a name colision with TObject.Equals method - also introducing FillZero() overloaded functions for THash128 and THash256 (user: ab branch: trunk)
2016-08-11
11:53
[6fb1b61ca2] part of check-in [38757df690] {2843} included fixes for FixInsight (user: ab branch: trunk)
10:42
[983a1ae981] part of check-in [04030242bc] {2842} new overloaded Base64ToBin() function (user: ab branch: trunk)
2016-08-08
10:34
[79474202fe] part of check-in [6b54b381d7] {2834} new MD5StringToDigest() function (user: ab branch: trunk)
2016-06-13
12:34
[565a296b39] part of check-in [ebe5ab1da8] {2745} small x86 asm refactoring to use "rep ret" opcodes - gain a few cycles under AMD (user: ab branch: trunk)
2016-05-29
10:39
[0d7046ce8e] part of check-in [a22528b5e8] {2698} enhanced TAESPRNG.GetEntropy to gather from more sources (including Intel's RdRand opcode, if available) (user: ab branch: trunk)
2016-05-28
11:07
[d752d6d9df] part of check-in [6348a14d82] {2696} TAESPRNG.GetEntropy will use NIST SP 800-90A compliant RDRAND Intel x86/x64 opcode (if available) (user: ab branch: trunk)
2016-05-16
07:19
[dc1fa25a4e] part of check-in [530f68b5c5] {2656} applied a patch set for Linux 64 support, under both x64 and ARM64 platforms - thanks Alf for the input - still some more modifications pending, especially at mORMot.pas level (user: ab branch: trunk)
2016-05-14
20:00
[5e6ed963c8] part of check-in [1db4b64a14] {2652} new SocketLoopPeriod option in TDDDSocketThreadSettings for proper tuning of the incoming data main loop (user: ab branch: trunk)
08:41
[f53932f042] part of check-in [41bc882fae] {2650} small refactoring of TAESPRNG.AFSplit/AFUnsplit to conform to TKS1/LUKS reference implementation (user: ab branch: trunk)
2016-05-13
13:53
[37cf06b470] part of check-in [b313224d1a] {2648} introducing TAESPRNG.AFSplit/AFUnsplit methods to handle anti-forensic representation of a private bkey for safe storage - implements TKS1 with SHA-256 as diffusion element, as defined for LUKS (user: ab branch: trunk)
2016-05-05
14:38
[f929e4f375] part of check-in [30a2d1ee0f] {2632} new overloaded AESBlockToShortString() function (user: ab branch: trunk)
2016-05-03
07:41
[ee3b3ce6ad] part of check-in [5b66e32602] {2624} ensure TAESPRNG.Main is thread-safe (user: ab branch: trunk)
2016-05-01
10:50
[8e8085d4e2] part of check-in [be083df434] {2618} new AESBlockToShortString() function (user: ab branch: trunk)
2016-04-27
17:13
[6a272c94be] part of check-in [a314d9eebc] {2603} fixed small typos in documentation (user: ab branch: trunk)
2016-04-25
22:14
[353fdb8f65] part of check-in [4f43e09d0c] {2599} new GetSetNameCSV() function (user: ab branch: trunk)
2016-04-24
19:24
[a537f788ac] part of check-in [2ffa7e41b5] {2597} small refactoring - no functional change (user: ab branch: trunk)
2016-04-19
16:52
[fe0656534f] part of check-in [0cd148942e] {2581} added known system information to TAESPRNG.GetEntropy minimal source (user: ab branch: trunk)
2016-04-14
20:43
[b294ba8b76] part of check-in [5131a3c90d] {2562} introducing TBlockingProcessPool to manage a pool of TBlockingProcess instances with an unique call identifier - to be used to emulate e.g. blocking execution from an asynchronous event-driven DDD process (user: ab branch: trunk)
2016-04-12
18:55
[a8ba5d6b3f] part of check-in [88ce740b60] {2549} fixed SynCrypto compilation under FPC for Win64 target (user: ab branch: trunk)
2016-04-11
13:48
[89f6ba8d20] part of check-in [e79ea3eeea] {2536} let AesNiEncrypt/AesNiDecrypt use the additional xmm8..xmm15 registers available on the x64 ABI (user: ab branch: trunk)
12:35
[5b4f980e45] part of check-in [a2e080ac77] {2535} ensure cypher classes would always erase any secret key stored in memory ASAP (user: ab branch: trunk)
09:59
[1d6d96e50d] part of check-in [0c22264ce9] {2534} let TAESPRNG.GetEntropy XOR some minimal entropy directly retrieved from high-level OS calls - so even if the OS API is compromised (e.g. /dev/urandom has been has been replaced by a named pipe by some bad guy), we try to have some changing input (user: ab branch: trunk)
2016-04-10
20:33
[b52f7390a0] part of check-in [7ea8e4ef24] {2533} AES-NI implemented for Win64 under Delphi - starting from Johann [a4125717b0bcc71d] initial proposal: thanks for pushing us and sharing your input! (user: ab branch: trunk)
2016-04-09
10:37
[c8109d80b7] part of check-in [c114c0b906] {2525} regression tests would compress TAESPRNG output to validate (somehow) its randomness (user: ab branch: trunk)
2016-04-08
20:39
[2a529b2818] part of check-in [50c8bf0abb] {2524} fixed TAESCTR.Encrypt process of big-endian CTR increment (user: ab branch: trunk)
18:00
[23b3457bd7] part of check-in [ceb55b4eea] {2522} introducing TAESPRNG class as a cryptographic pseudorandom number generators (CSPRNG) based on AES-256 and OS returned entropy (user: ab branch: trunk)
2016-04-06
16:18
[317190c064] part of check-in [6397213b64] {2514} get rid of CONDITIONALEXPRESSIONS as reported by [9a59e7e93ea] (user: ab branch: trunk)
2016-02-24
13:59
[ae8a087d8a] part of check-in [b90dd296e0] {2428} small refactoring of ComputeAesStaticTables (user: ab branch: trunk)
2016-01-27
13:15
[909879ec05] part of check-in [fb42e47d72] {2311} we eventually reached end of 2015... time to run inc(Year) over all copyright notices! (user: ab branch: trunk)
2015-12-22
20:09
[989186b9f4] part of check-in [b6201d3ab2] {2209} fixed HMAC_SHA1() and HMAC_SHA256() functions when KeyLen > 64 - thanks EvaF for the feedback!c (user: ab branch: trunk)
2015-10-13
06:51
[095bb58cda] part of check-in [ae1ca6628c] {1989} search for libcurl.so.3 if plain libcurl.so did not exist on the Linux system (user: ab branch: trunk)
2015-10-12
15:15
[d7ea32fdad] part of check-in [0a9487ef69] {1987} re-enabled PADLOCK support for SynCrypto for corresponding CPUs - under Linux / Kylix only (user: ab branch: trunk)
2015-08-27
09:34
[0781ae0911] part of check-in [159e9a2d96] {1834} defined TAESAbstractSyn.CV property as public (may be used to customize the encoding, e.g. with an evolving CTR) (user: ab branch: trunk)
2015-08-12
09:52
[f76d16c044] part of check-in [42a83028a8] {1767} fixed Win64 compilation issue (user: ab branch: trunk)
09:42
[a92aa3bb08] part of check-in [5e20a06246] {1763} defined XorBlock16 and XorBlockN functions as public (user: ab branch: trunk)
2015-08-10
15:16
[9269438b12] part of check-in [a36628606f] {1758} small comments and code refactoring - no functional change (user: ab branch: trunk)
2015-08-09
18:46
[a7add0e684] part of check-in [55d251085c] {1756} enhanced TMD5.Full implementation (user: ab branch: trunk)
10:56
[f2f6e3514e] part of check-in [06e7acea23] {1754} made TMD5.buf public, and introduced TMD5.Finalize method (user: ab branch: trunk)
2015-08-07
13:10
[b386983fc8] part of check-in [724471280f] {1752} new optimized x86 asm version for MD5 in SynCrypto.pas (user: ab branch: trunk)
2015-07-18
18:21
[4f5478af2c] part of check-in [d9dc460693] {1658} added overloaded HMAC_SHA1/SHA256 and PBKDF2_HMAC_SHA1/SHA256 functions (user: ab branch: trunk)
11:24
[702918c1ce] part of check-in [b9cb67a026] {1657} introducing HMAC_SHA256 and PBKDF2_HMAC_SHA256 functions (user: ab branch: trunk)
11:05
[952f0a28a3] part of check-in [87ea6b33b1] {1656} introducing HMAC_SHA1 and PBKDF2_HMAC_SHA1 functions (user: ab branch: trunk)
2015-07-12
10:30
[3805d3268a] part of check-in [9ecb7d203c] {1631} fixed random GPF in TAES.DoBlocksThread with our enhanced RTL (user: ab branch: trunk)
2015-06-30
12:49
[0dc261251e] part of check-in [6f761b495d] {1583} StrLen() function will now use SSE4.2 instructions on supported CPUs (user: ab branch: trunk)
2015-06-20
16:39
[cab6de1149] part of check-in [6adf1e93d0] {1515} introduced FillcharFast() and MoveFast() global function variables, pointing to optimized x86/SSE2 asm versions, depending on the CPU abilities (user: ab branch: trunk)
2015-06-18
17:46
[48ccaa9c50] part of check-in [a8bacbdc09] {1500} small documentation and comment updates - no functional change (user: ab branch: trunk)
2015-06-16
07:57
[34e030d985] part of check-in [681c49d8b9] {1481} enhanced FPC 64 bit compatibility as requested by [6ce82c6baf] and [cbdf9ce74d7] (with some variations for Linux 64 target) (user: ab branch: trunk)
2015-05-15
10:57
[c67d4354b2] part of check-in [ab1fd53635] {1355} comments and spaces clean-up of almost all source code files of the framework - no functional change, just code formatting uniformization (user: ab branch: trunk)
2015-05-13
15:03
[dcd6ecd60b] part of check-in [f61e47fe87] {1349} added TLogSettings.StackTraceViaAPI new option (user: ab branch: trunk)
2015-05-06
12:22
[655dedcc08] part of check-in [bebd2b95a8] {1304} restrained paranoid exception when a TSQLRecord field name may match a SQLite3 keyword (user: ab branch: trunk)
12:07
[601ed7fc47] part of check-in [b8381f31f0] {1303} enhanced and fixed PKCS7 support for TAesAbstract (user: ab branch: trunk)
2015-05-05
15:23
[4ffc747fa1] part of check-in [cd3c7ac4c7] {1302} added overloaded TAESAbstract.EncryptPKCS7 and TAESAbstract.DecryptPKCS7 methods, using TBytes as input/output kind of parameters (user: ab branch: trunk)
2015-04-22
17:28
[bc1f80fb13] part of check-in [7eb26a59c0] {1239} added new constructor TAESAbstract.CreateFromSha256 (user: ab branch: trunk)
2015-03-25
14:29
[0f1144f6a3] part of check-in [45eebe5b78] {1134} introducing TSQLRestURIParams.LowLevelConnectionID parameter instead of hazardous previous TSQLRestURIParams.LowLevelConnection: TObject which did trigger some random Access Violation issues when notifications were pushed on a closed connection - will also make it http.sys and IOCP ready for future implementations (user: ab branch: trunk)
2015-03-23
08:15
[f0a5c09af8] part of check-in [e98412224a] {1120} fixed potential memory buffer read overflow when executing FillRandom(IV) - identified under Linux (user: ab branch: trunk)
2015-03-20
13:40
[2fee1b16fa] part of check-in [ede319e804] {1112} enhanced FillRandom() content randomness (user: ab branch: trunk)
2015-03-19
17:07
[e40c1fc9b6] part of check-in [915aa80de9] {1107} now binary and JSON WebSockets could be used for client REST requests - also include several fixes and enhancements on both client and server sides (user: ab branch: trunk)
2015-03-18
14:58
[cf4e1d2bff] part of check-in [278cad19ce] {1102} get rid of the unsafe IV parameter for TAES* classes constructors (user: ab branch: trunk)
10:01
[ea47be4e71] part of check-in [8b20c5eec2] {1097} small SynDB / variant fixes and enhancements (user: ab branch: trunk)
2015-03-17
15:28
[66617dcda2] part of check-in [baf3360d8d] {1091} optimized AES-NI implementation for TAESCFB / TAESOFB + PKC7 encryption (user: ab branch: trunk)
11:16
[8c5850c1b0] part of check-in [fe981a42b3] {1090} support SSE2 instructions for TAESCFB + PKC7 encryption (user: ab branch: trunk)
2015-03-10
08:19
[6c10d58492] part of check-in [2628091c76] {1067} small security enhancement for TSQLRestServerAuthenticationActiveDirectory (user: ab branch: trunk)
2015-03-09
21:06
[d5ee166b23] part of check-in [6a1f5ee118] {1066} enhanced TSQLRestServerAuthenticationActiveDirectory processing - thanks EgorovAlex for the patch! (user: ab branch: trunk)
20:48
[b6740e0074] part of check-in [5bdae63a9a] {1064} added optional IVAtBeginning parameter to EncryptPKCS7/DecryptPKC7 methods (user: ab branch: trunk)
19:37
[2ad6704d37] part of check-in [24d27e3ca0] {1063} fixed TAESAbstractSyn.Clone method, and enhanced WebSockets regression tests coverage (user: ab branch: trunk)
19:07
[d2a63dd29e] part of check-in [35eaf67acf] {1061} several speed optimizations for SynCrypto process (user: ab branch: trunk)
2015-03-06
14:44
[6124396625] part of check-in [122f1daec8] {1047} added class function TAESAbstract.SimpleEncrypt() (user: ab branch: trunk)
2015-03-05
22:16
[a5b62e9fdb] part of check-in [629dffc3d7] {1043} introducing new SynBidirSock.pas unit to implement bidirectional client and server protocol, e.g. WebSockets - not finished nor tested yet, but first step for feature request [aa230e5299] (user: ab branch: trunk)
2015-02-27
08:32
[b95633c007] part of check-in [9cc20b356d] {986} RawByteString is now defined in SynCommons as "= type AnsiString" under non Unicode Delphi so that it would be recognized with its own encoding (via a pseudo code page 65535) just with Unicode Delphi revision - introducing SockString and ZipString types for data storage at SynCrtSock and SynZip units, which does not depend on SynCommons and its new RawByteString type (user: ab branch: trunk)
2015-02-26
19:49
[83cbc05e2e] part of check-in [861ced11ad] {979} under Win64, SHA256 will fallback to pascal version if SSE4 is available but the memory manager did not provide aligned memory buffer for the internal working tables (user: ab branch: trunk)
2015-02-23
13:35
[41ec57abbd] part of check-in [49e187cbed] {968} removed FillChar+Move patches if DOPATCHTRTL conditional is not defined - to please [a48f30a7cc1c8a06ae41] request (user: ab branch: trunk)
13:08
[b5c27d5eec] part of check-in [542d17be34] {967} small refactoring of ComputeAesStaticTables (user: ab branch: trunk)
11:48
[e8d7ea2696] part of check-in [dfd2248028] {966} SynCrypto's AES encryption will compute its own set of tables, to get rid of 4KB of hexadecimal constants in the source code (user: ab branch: trunk)
2015-02-21
11:45
[79b51cd1be] part of check-in [b7ba18e682] {946} added SSE4 x64 optimized asm for SHA-256 on Win64
  • under Win32, with a Core i7 CPU: pure pascal: 152ms - x86: 112ms
  • under Win64, with a Core i7 CPU: pure pascal: 202ms - SSE4: 78ms
(user: ab branch: trunk)
2015-02-15
06:59
[490c76dc5d] part of check-in [b38f4de17d] {901} added TDocVariantData.SortByName method (user: ab branch: trunk)
2015-01-20
08:56
[f9884fd239] part of check-in [62568309c6] {740} ensure SynCrypto compiles with FPC + ARM (user: ab branch: trunk)
2015-01-19
19:55
[8db4489afe] part of check-in [96d86d8f19] {737} SynCrypto.pas now supports AES-NI and low-level x86 asm with FPC under Win32 and Linux (user: ab branch: trunk)
2015-01-15
17:52
[59931aadba] part of check-in [4b79a0d89e] {714} added AES-NI hardware support on newer CPUs in SynCrypto unit for huge performance boost and enhanced security (user: ab branch: trunk)
2015-01-02
12:08
[baf8fb6c80] part of check-in [e08c81ec40] {668} happy new year 2015! (user: ab branch: trunk)
2014-12-29
19:17
[432df16f2c] part of check-in [276162186f] {661} added SetThreadName/SetCurrentThreadName functions for feature request [6acfd0a3d3] (user: ab branch: trunk)
2014-09-30
09:59
[e059965d7c] part of check-in [2a40fe0a0f] {299} FPC compilation under Linux ! thanks Alf for the patches (user: User branch: trunk)
2014-08-09
10:12
[3a001fcba9] part of check-in [6fbde1524b] minor comments changes (user: User branch: trunk)
2014-07-28
10:32
[47d513b8d7] part of check-in [3687bb78b1] minor fixes about VIA PadLock 64 bit support and also enhanced documentation to be more explicit (user: User branch: trunk)
2014-07-25
14:31
[12d9f1803b] part of check-in [179ad88e87] fixed some potential 64bit pointer arithmetic bugs (user: User branch: trunk)
2014-05-12
07:43
[0ee599c608] part of check-in [fd20a67fc6] fixed typos and some compilation warnings (user: User branch: trunk)
2014-03-29
09:15
[748e056818] part of check-in [affcdaf718] try to circumvent some weird XE5 compiler regression (user: User branch: trunk)
2014-01-31
16:13
[06b6dbc618] part of check-in [8e1e3ce7d3] added overloaded function SHA256() (user: abouchez branch: trunk)
2014-01-15
23:26
[3ee04773a0] part of check-in [554058a048] moved swap32() function from SynCrypto to SynCommons (user: User branch: trunk)
2014-01-10
12:09
[b7c7289d11] part of check-in [f725e0d823] fixed Delphi 5 compilation (user: abouchez branch: trunk)
2014-01-08
17:30
[e7c2d20326] part of check-in [6182b5149a] added AES encryption using official Microsoft AES Cryptographic Provider (CryptoAPI) via TAESECB_API, TAESCBC_API, TAESCFB_API and TAESOFB_API - our optimized asm version is faster, so is still our default/preferred (user: abouchez branch: trunk)
2014-01-05
16:51
[081786851f] part of check-in [f9b04a46c8]
  • introduce ESynCrypto exception class dedicated to the SynCrypto.pas unit
  • added optional aCompressMinSize parameter to RegisterCompress() methods
  • added CompressShaAes() and global CompressShaAesKey, CompressShaAesIV and CompressShaAesClass variables to be used by THttpSocket.RegisterCompress
  • added aHttpServerSecurity: TSQLHttpServerSecurity parameter to TSQLHttpServer.Create(), allowing HTTPS secure content publishing, when using the http.sys kind of server, or our proprietary SHA-256 / AES-256-CTR encryption identified as "ACCEPT-ENCODING: synshaaes"
  • added hcSynShaAes encoding for TSQLHttpClientGeneric.Compression property
  • updated documentation about new optional AES encryption over HTTP
(user: User branch: trunk)
2014-01-01
13:31
[c92bb648f9] part of check-in [44147954e2] The little mORMot wishes you an happy new year 2014! (user: User branch: trunk)
2013-06-20
06:17
[ffa8ef74b7] part of check-in [383bc8f6c0] added TGdiPages.ExportPDFEncryptionLevel/User/OwnerPassword/Permissions properties to optionally export report as 40 bit or 128 bit encrypted pdf (user: abouchez branch: trunk)
2013-06-19
13:43
[246bdd5653] part of check-in [2411745168] fixed RC4 encryption (user: abouchez branch: trunk)
2013-05-16
14:23
[4d2d05566d] part of check-in [d5e77d3d47] removed several compilation hints when assertions are set to off (user: abouchez branch: trunk)
2013-05-15
08:27
[c8d260b047] part of check-in [59eb20700d] Delphi XE4 compatibility (Windows target platform only for Win32/Win64) (user: abouchez branch: trunk)
2013-04-20
11:16
[4d987f7b27] part of check-in [4962cf790c] introduce new TRC4 object for RC4 encryption algorithm (this implementation should be faster than other Delphi versions around, especially at key initialization) (user: ab branch: trunk)
2013-01-02
14:19
[b5367105a2] part of check-in [ba0438e17f] enhanced FPC/Lazarus Win32/Win64 compilation (user: abouchez branch: trunk)
2012-12-31
14:34
[d948e9bccb] part of check-in [8e74517c2d] preparing new Year's eve ;) (user: ab branch: trunk)
2012-11-28
13:34
[0923015888] part of check-in [1c6fe7a1fd] all former SQLite3\SQLite3*.pas units have been renamed to SQLite3\mORMot*.pas to match the database-agnostic scheme of the mORMot framework - this is a major break change, so all your "uses" clauses in your code is to be change to follow the new naming (user: abouchez branch: trunk)
2012-08-14
12:47
[53b5f534e9] part of check-in [a97c525673] increased internal units version to 1.17 (user: ab branch: trunk)
2012-05-29
18:41
[76a44cd969] part of check-in [c058f55771]
  • fixed naming of framework in units header
  • fixed incorrect call to FormatUTF8() - see [d74020f7c3]
(user: G018869 branch: trunk)
2012-03-28
17:31
[b27bfd819a] part of check-in [160f88b541] most units now compile with Delphi XE2 in 64 Bit mode :) (user: User branch: trunk)
14:43
[fd3d1daf83] part of check-in [94cd1f2487] added pure pascal version (for XE2 64 compilation) of all algorithms of SynCrypto unit (user: G018869 branch: trunk)
2012-03-18
19:18
[4abee9268f] part of check-in [65a95763f7] 64 bit compilation (user: User branch: trunk)
2012-02-21
18:26
[6ae947b445] part of check-in [89647f4248] get rid of duplicated code in AES encryption (user: G018869 branch: trunk)
2012-02-20
09:42
[b767701b6d] part of check-in [ec9a53a44c] TFileBufferWriter.Create now accepts up to 4 MB internal buffer size (user: G018869 branch: trunk)
2012-01-26
17:25
[1aee5b42d9] part of check-in [215558e943]
  • added TAESECB class for ECB mode of copy (not recommended without padding)
  • code refactoring and speed enhancements
(user: G018869 branch: trunk)
15:51
[6b30feec82] part of check-in [8482ce8dda] added TAESCBC, TAESCFB, TAESOFB and TAESCTR classes to handle AES encryption of memory buffers in CBC, CFB, OFB and CTR mode (including PKCS7 padding) (user: G018869 branch: trunk)
2012-01-20
13:33
[ec8418a1ae] part of check-in [d8b446f0b5] changed copyright notice to "(C) 2012" - yes, happy new year ! (user: G018869 branch: trunk)
2012-01-07
12:20
[f35bf5e7a3] part of check-in [ddcf953db5] code refactoring to allow compilation with Delphi XE2 background compiler (e.g. syntax check or code completion) (user: User branch: trunk)
2011-09-17
18:05
[8f08c058a3] part of check-in [40b9886964] Delphi XE2 compatibility: all tests passed (32 Bit) (user: ab branch: trunk)
2011-07-22
09:40
[62f49f62de] part of check-in [75b5b81a88] new SynSQLite3 unit extracting the SQLite3 wrapper from the previous SQLite3 unit: this unit can therefore be used with our SynDB classes, without our mORMot overhead (and features) (user: G018869 branch: trunk)
2011-05-31
14:04
[caec804577] part of check-in [da448f54f0]
code modifications to compile with Delphi 5 compiler (no ORM code compiles yet: so only low-level units like SynCommons / SynCrypto / SynPdf are tested)
(user: ab branch: trunk)
2011-05-20
17:19
[e7395eba99] part of check-in [a08c2c046a] introducing framework security and authentication (user: ab branch: trunk)
2011-02-08
17:07
[b7c75e60a2] part of check-in [b59d83be6d] we reach year 2011 - let's celebrate! (user: ab branch: trunk)
2010-12-05
12:37
[d0adf7a816] part of check-in [1a67c40ae5] new IsWow64 and SystemInfo global variables (user: ab branch: trunk)
2010-10-15
09:22
[affc7a030e] part of check-in [71f0df2253] Version upgraded to 1.10, with internal SQLite3 3.7.3 engine (user: G018869 branch: trunk)
09:10
[c24feaf2a8] part of check-in [9220184843] code update to be compatible with Delphi 6 (Delphi 5 failed due to some obscure compiler bug) (user: G018869 branch: trunk)
2010-08-11
06:04
[35b27d2bac] part of check-in [30731e5983] Wolfgang Ehrhardt explicit (c) added to SynCrypto AES source code (our faster asm version is to be used anyway under Delphi) (user: ab branch: trunk)
2010-08-02
17:28
[c6723a2095] part of check-in [18a8b7abba] add digital signature to SQLite3 Framework MainDemo (user: ab branch: trunk)
2010-07-31
18:16
[4856169e8b] part of check-in [c260d3d0b4] SQLite3 framework updated for the upcoming MainDemo (user: ab branch: trunk)
2010-07-30
19:12
[8f8953f16f] part of check-in [bb9bdca3a1] SQLite3 framework update for new MainDemo sample, including new TSQLRestClientURI.ForceBlobTransfert property and new TSQLRestClientURI.RetrieveBlobFields/UpdateBlobFields methods (user: ab branch: trunk)
2010-07-29
19:06
[7506d533a3] part of check-in [cd738b1c9c] SQLite3 framework user interface update (user: ab branch: trunk)
2010-06-27
12:59
[b6fb71f05b] part of check-in [ac9d2a3f95] Delphi 2009/2010 compatibility fix + new unitary testing class (user: ab branch: trunk)
2010-06-23
14:04
Added [29caf70456] part of check-in [9226a861e3] Initial Check-In of all Synopse components (user: User branch: trunk)