diff --git a/packages/hash/namespaced/System.Hash.Crc.pas b/packages/hash/namespaced/System.Hash.Crc.pas new file mode 100644 index 0000000000..4960ca7c06 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Crc.pas @@ -0,0 +1,3 @@ +unit System.Hash.Crc; +{$DEFINE FPC_DOTTEDUNITS} +{$i crc.pas} diff --git a/packages/hash/namespaced/System.Hash.Hmac.pp b/packages/hash/namespaced/System.Hash.Hmac.pp new file mode 100644 index 0000000000..cc911f6344 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Hmac.pp @@ -0,0 +1,3 @@ +unit System.Hash.Hmac; +{$DEFINE FPC_DOTTEDUNITS} +{$i hmac.pp} diff --git a/packages/hash/namespaced/System.Hash.Md5.pp b/packages/hash/namespaced/System.Hash.Md5.pp new file mode 100644 index 0000000000..eaebfb68d3 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Md5.pp @@ -0,0 +1,3 @@ +unit System.Hash.Md5; +{$DEFINE FPC_DOTTEDUNITS} +{$i md5.pp} diff --git a/packages/hash/namespaced/System.Hash.Ntlm.pas b/packages/hash/namespaced/System.Hash.Ntlm.pas new file mode 100644 index 0000000000..3e637e7637 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Ntlm.pas @@ -0,0 +1,3 @@ +unit System.Hash.Ntlm; +{$DEFINE FPC_DOTTEDUNITS} +{$i ntlm.pas} diff --git a/packages/hash/namespaced/System.Hash.Sha1.pp b/packages/hash/namespaced/System.Hash.Sha1.pp new file mode 100644 index 0000000000..cdd3acd1f0 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Sha1.pp @@ -0,0 +1,3 @@ +unit System.Hash.Sha1; +{$DEFINE FPC_DOTTEDUNITS} +{$i sha1.pp} diff --git a/packages/hash/namespaced/System.Hash.Unixcrypt.pas b/packages/hash/namespaced/System.Hash.Unixcrypt.pas new file mode 100644 index 0000000000..1283ae4109 --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Unixcrypt.pas @@ -0,0 +1,3 @@ +unit System.Hash.Unixcrypt; +{$DEFINE FPC_DOTTEDUNITS} +{$i unixcrypt.pas} diff --git a/packages/hash/namespaced/System.Hash.Uuid.pas b/packages/hash/namespaced/System.Hash.Uuid.pas new file mode 100644 index 0000000000..fa75c8265c --- /dev/null +++ b/packages/hash/namespaced/System.Hash.Uuid.pas @@ -0,0 +1,3 @@ +unit System.Hash.Uuid; +{$DEFINE FPC_DOTTEDUNITS} +{$i uuid.pas} diff --git a/packages/hash/namespaces.lst b/packages/hash/namespaces.lst new file mode 100644 index 0000000000..8f60fb1d93 --- /dev/null +++ b/packages/hash/namespaces.lst @@ -0,0 +1,9 @@ +src/crc.pas=namespaced/System.Hash.Crc.pas +{s*:src/}=namespaced/ +{i+:src/} +src/sha1.pp=namespaced/System.Hash.Sha1.pp +src/unixcrypt.pas=namespaced/System.Hash.Unixcrypt.pas +src/uuid.pas=namespaced/System.Hash.Uuid.pas +src/ntlm.pas=namespaced/System.Hash.Ntlm.pas +src/hmac.pp=namespaced/System.Hash.Hmac.pp +src/md5.pp=namespaced/System.Hash.Md5.pp diff --git a/packages/hash/src/crc.pas b/packages/hash/src/crc.pas index 59ef472582..960f2a00e1 100644 --- a/packages/hash/src/crc.pas +++ b/packages/hash/src/crc.pas @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit crc; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc} diff --git a/packages/hash/src/hmac.pp b/packages/hash/src/hmac.pp index a19a971bbc..cae2a5e0f4 100644 --- a/packages/hash/src/hmac.pp +++ b/packages/hash/src/hmac.pp @@ -12,14 +12,21 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. } +{$IFNDEF FPC_DOTTEDUNITS} unit HMAC; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc}{$H+} interface +{$IFDEF FPC_DOTTEDUNITS} +uses + System.Hash.Md5, System.Hash.Sha1; +{$ELSE FPC_DOTTEDUNITS} uses MD5, SHA1; +{$ENDIF FPC_DOTTEDUNITS} type THMACMD5Digest = TMD5Digest; diff --git a/packages/hash/src/md5.pp b/packages/hash/src/md5.pp index 007c955146..94851d2f83 100644 --- a/packages/hash/src/md5.pp +++ b/packages/hash/src/md5.pp @@ -49,7 +49,9 @@ documentation and/or software. {$DEFINE MD5PASCAL} {$endif darwin} +{$IFNDEF FPC_DOTTEDUNITS} unit md5; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc} {$inline on} @@ -189,7 +191,11 @@ function MD5Match(const Digest1, Digest2: TMD5Digest): Boolean; inline; implementation +{$IFDEF FPC_DOTTEDUNITS} +uses System.SysUtils; +{$ELSE FPC_DOTTEDUNITS} uses sysutils; +{$ENDIF FPC_DOTTEDUNITS} // inverts the bytes of (Count div 4) cardinals from source to target. procedure Invert(Source, Dest: Pointer; Count: PtrUInt); diff --git a/packages/hash/src/ntlm.pas b/packages/hash/src/ntlm.pas index 490cba4b37..6a9f12b5a3 100644 --- a/packages/hash/src/ntlm.pas +++ b/packages/hash/src/ntlm.pas @@ -13,14 +13,21 @@ **********************************************************************} +{$IFNDEF FPC_DOTTEDUNITS} unit ntlm; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc} interface +{$IFDEF FPC_DOTTEDUNITS} +uses + System.Math, System.Strings, System.Hash.Md5; +{$ELSE FPC_DOTTEDUNITS} uses Math, Strings, md5; +{$ENDIF FPC_DOTTEDUNITS} function LMGenerate(const Password: PAnsiChar): TMDDigest; diff --git a/packages/hash/src/sha1.pp b/packages/hash/src/sha1.pp index bbbc6404cf..e165f1fdad 100644 --- a/packages/hash/src/sha1.pp +++ b/packages/hash/src/sha1.pp @@ -20,7 +20,9 @@ {$DEFINE SHA1PASCAL} {$endif} +{$IFNDEF FPC_DOTTEDUNITS} unit sha1; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc}{$h+} interface @@ -51,7 +53,11 @@ function SHA1Match(const Digest1, Digest2: TSHA1Digest): Boolean; implementation +{$IFDEF FPC_DOTTEDUNITS} +uses System.SysUtils,System.SysConst; +{$ELSE FPC_DOTTEDUNITS} uses sysutils,sysconst; +{$ENDIF FPC_DOTTEDUNITS} // inverts the bytes of (Count div 4) cardinals from source to target. procedure Invert(Source, Dest: Pointer; Count: PtrUInt); diff --git a/packages/hash/src/unixcrypt.pas b/packages/hash/src/unixcrypt.pas index 15050b1145..3393b4e7c6 100644 --- a/packages/hash/src/unixcrypt.pas +++ b/packages/hash/src/unixcrypt.pas @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit unixcrypt; +{$ENDIF FPC_DOTTEDUNITS} {$mode objfpc} {$linklib crypt} @@ -6,8 +8,13 @@ unit unixcrypt; interface +{$IFDEF FPC_DOTTEDUNITS} +uses + System.CTypes; +{$ELSE FPC_DOTTEDUNITS} uses ctypes; +{$ENDIF FPC_DOTTEDUNITS} function crypt(const key: PAnsiChar; const salt: PAnsiChar): PAnsiChar; cdecl; external; diff --git a/packages/hash/src/uuid.pas b/packages/hash/src/uuid.pas index 8d790273f4..4adbb584ee 100644 --- a/packages/hash/src/uuid.pas +++ b/packages/hash/src/uuid.pas @@ -13,15 +13,22 @@ **********************************************************************} +{$IFNDEF FPC_DOTTEDUNITS} unit uuid; +{$ENDIF FPC_DOTTEDUNITS} interface {$mode objfpc} {$h+} +{$IFDEF FPC_DOTTEDUNITS} +uses + System.SysUtils, System.DateUtils, System.Hash.Md5, System.Hash.Sha1; +{$ELSE FPC_DOTTEDUNITS} uses SysUtils, DateUtils, md5, sha1; +{$ENDIF FPC_DOTTEDUNITS}