mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 13:09:32 +02:00
* renamed md5test.pp to mdtest.pas
* extended mdtest.pas with rfc tests * added md2 hash support to md5.pp git-svn-id: trunk@5648 -
This commit is contained in:
parent
301b13f887
commit
c8d60373b0
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -1403,7 +1403,7 @@ packages/base/hash/fpmake.inc svneol=native#text/plain
|
||||
packages/base/hash/fpmake.pp svneol=native#text/plain
|
||||
packages/base/hash/md5.pp svneol=native#text/plain
|
||||
packages/base/hash/md5.ref -text
|
||||
packages/base/hash/md5test.pp svneol=native#text/plain
|
||||
packages/base/hash/mdtest.pas svneol=native#text/plain
|
||||
packages/base/hash/ntlm.pas svneol=native#text/plain
|
||||
packages/base/hash/unixcrypt.pas -text
|
||||
packages/base/hash/uuid.pas svneol=native#text/plain
|
||||
|
@ -1,8 +1,8 @@
|
||||
#
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/12/01]
|
||||
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/12/19]
|
||||
#
|
||||
default: all
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince arm-gba powerpc64-linux
|
||||
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-wince arm-gba arm-nds arm-embedded powerpc64-linux powerpc64-embedded
|
||||
BSDs = freebsd netbsd openbsd darwin
|
||||
UNIXs = linux $(BSDs) solaris qnx
|
||||
LIMIT83fs = go32v2 os2 emx watcom
|
||||
@ -233,250 +233,298 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages/base $(FPCDIR)/packages/ext
|
||||
override PACKAGE_NAME=hash
|
||||
override PACKAGE_VERSION=2.0.0
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_UNITS+=md5 crc ntlm
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_UNITS+=md5 crc ntlm unixcrypt
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid unixcrypt
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_UNITS+=md5 crc ntlm uuid
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-go32v2)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-win32)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-os2)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-freebsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-beos)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-solaris)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-qnx)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netware)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-openbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wdosx)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-darwin)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-emx)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-watcom)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-netwlibc)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-freebsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-netbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-amiga)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-atari)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-openbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-netbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-amiga)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-macos)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-darwin)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-netbsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-freebsd)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-palmos)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-wince)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
override TARGET_EXAMPLES+=md5test
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
override TARGET_EXAMPLES+=mdtest
|
||||
endif
|
||||
override INSTALL_FPCPACKAGE=y
|
||||
ifdef REQUIRE_UNITSDIR
|
||||
@ -1274,6 +1322,9 @@ endif
|
||||
ifeq ($(FULL_TARGET),i386-wince)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),i386-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
@ -1295,6 +1346,9 @@ endif
|
||||
ifeq ($(FULL_TARGET),m68k-palmos)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),m68k-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
@ -1313,6 +1367,9 @@ endif
|
||||
ifeq ($(FULL_TARGET),powerpc-morphos)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
@ -1322,6 +1379,9 @@ endif
|
||||
ifeq ($(FULL_TARGET),sparc-solaris)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),sparc-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
@ -1331,6 +1391,9 @@ endif
|
||||
ifeq ($(FULL_TARGET),x86_64-win64)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),x86_64-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
@ -1343,9 +1406,18 @@ endif
|
||||
ifeq ($(FULL_TARGET),arm-gba)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-nds)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),arm-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-linux)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifeq ($(FULL_TARGET),powerpc64-embedded)
|
||||
REQUIRE_PACKAGES_RTL=1
|
||||
endif
|
||||
ifdef REQUIRE_PACKAGES_RTL
|
||||
PACKAGEDIR_RTL:=$(firstword $(subst /Makefile.fpc,,$(strip $(wildcard $(addsuffix /rtl/Makefile.fpc,$(PACKAGESDIR))))))
|
||||
ifneq ($(PACKAGEDIR_RTL),)
|
||||
@ -1423,7 +1495,7 @@ ifeq ($(CPU_TARGET),powerpc)
|
||||
FPCCPUOPT:=-O1r
|
||||
endif
|
||||
else
|
||||
FPCCPUOPT:=-O1r
|
||||
FPCCPUOPT:=-O2
|
||||
endif
|
||||
override FPCOPT+=-Ur -Xs $(FPCCPUOPT) -n
|
||||
override FPCOPTDEF+=RELEASE
|
||||
|
@ -7,9 +7,9 @@ name=hash
|
||||
version=2.0.0
|
||||
|
||||
[target]
|
||||
units=md5 crc ntlm
|
||||
units=md5 crc ntlm uuid
|
||||
units_linux=unixcrypt
|
||||
examples=md5test
|
||||
examples=mdtest
|
||||
|
||||
[install]
|
||||
fpcpackage=y
|
||||
|
@ -2,7 +2,9 @@
|
||||
This file is part of the Free Pascal packages.
|
||||
Copyright (c) 1999-2006 by the Free Pascal development team
|
||||
|
||||
Implements a MD5 digest algorithm.
|
||||
Implements a MD2 digest algorithm (RFC 1319)
|
||||
Implements a MD4 digest algorithm (RFC 1320)
|
||||
Implements a MD5 digest algorithm (RFC 1321)
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
@ -13,11 +15,6 @@
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
{
|
||||
Implements a MD4 digest algorithm (RFC 1320)
|
||||
Implements a MD5 digest algorithm (RFC 1321)
|
||||
}
|
||||
|
||||
unit md5;
|
||||
|
||||
{$mode objfpc}
|
||||
@ -35,6 +32,7 @@ const
|
||||
|
||||
type
|
||||
TMDVersion = (
|
||||
MD_VERSION_2,
|
||||
MD_VERSION_4,
|
||||
MD_VERSION_5
|
||||
);
|
||||
@ -44,10 +42,13 @@ type
|
||||
|
||||
TMDContext = record
|
||||
Version : TMDVersion;
|
||||
Align : PtrUInt;
|
||||
State : array[0..3] of Cardinal;
|
||||
Length : PtrUInt;
|
||||
BufCnt : PtrUInt;
|
||||
Buffer : array[0..63] of Byte;
|
||||
case Integer of
|
||||
0: (Length : PtrUInt);
|
||||
1: (Checksum : array[0..15] of Byte);
|
||||
end;
|
||||
|
||||
|
||||
@ -99,6 +100,68 @@ begin
|
||||
end;
|
||||
|
||||
|
||||
procedure MD2Transform(var Context: TMDContext; Buffer: Pointer);
|
||||
const
|
||||
PI_SUBST: array[0..255] of Byte = (
|
||||
41, 46, 67, 201, 162, 216, 124, 1, 61, 54, 84, 161, 236, 240, 6,
|
||||
19, 98, 167, 5, 243, 192, 199, 115, 140, 152, 147, 43, 217, 188,
|
||||
76, 130, 202, 30, 155, 87, 60, 253, 212, 224, 22, 103, 66, 111, 24,
|
||||
138, 23, 229, 18, 190, 78, 196, 214, 218, 158, 222, 73, 160, 251,
|
||||
245, 142, 187, 47, 238, 122, 169, 104, 121, 145, 21, 178, 7, 63,
|
||||
148, 194, 16, 137, 11, 34, 95, 33, 128, 127, 93, 154, 90, 144, 50,
|
||||
39, 53, 62, 204, 231, 191, 247, 151, 3, 255, 25, 48, 179, 72, 165,
|
||||
181, 209, 215, 94, 146, 42, 172, 86, 170, 198, 79, 184, 56, 210,
|
||||
150, 164, 125, 182, 118, 252, 107, 226, 156, 116, 4, 241, 69, 157,
|
||||
112, 89, 100, 113, 135, 32, 134, 91, 207, 101, 230, 45, 168, 2, 27,
|
||||
96, 37, 173, 174, 176, 185, 246, 28, 70, 97, 105, 52, 64, 126, 15,
|
||||
85, 71, 163, 35, 221, 81, 175, 58, 195, 92, 249, 206, 186, 197,
|
||||
234, 38, 44, 83, 13, 110, 133, 40, 132, 9, 211, 223, 205, 244, 65,
|
||||
129, 77, 82, 106, 220, 55, 200, 108, 193, 171, 250, 36, 225, 123,
|
||||
8, 12, 189, 177, 74, 120, 136, 149, 139, 227, 99, 232, 109, 233,
|
||||
203, 213, 254, 59, 0, 29, 57, 242, 239, 183, 14, 102, 88, 208, 228,
|
||||
166, 119, 114, 248, 235, 117, 75, 10, 49, 68, 80, 180, 143, 237,
|
||||
31, 26, 219, 153, 141, 51, 159, 17, 131, 20
|
||||
);
|
||||
var
|
||||
i: Integer;
|
||||
j: Integer;
|
||||
t: Cardinal;
|
||||
x: array[0..47] of Byte;
|
||||
begin
|
||||
{ Form encryption block from state, block, state ^ block }
|
||||
Move(Context.State, x[0], 16);
|
||||
Move(Buffer^, x[16], 16);
|
||||
for i := 0 to 15 do
|
||||
x[i+32] := PByte(@Context.State)[i] xor PByte(Buffer)[i];
|
||||
|
||||
{ Encrypt block (18 rounds) }
|
||||
t := 0;
|
||||
for i := 0 to 17 do
|
||||
begin
|
||||
for j := 0 to 47 do
|
||||
begin
|
||||
x[j] := x[j] xor PI_SUBST[t];
|
||||
t := x[j];
|
||||
end;
|
||||
t := (t + i) and $FF;
|
||||
end;
|
||||
|
||||
{ Save new state }
|
||||
Move(x[0], Context.State, 16);
|
||||
|
||||
{ Update checksum }
|
||||
t := Context.Checksum[15];
|
||||
for i := 0 to 15 do
|
||||
begin
|
||||
Context.Checksum[i] := Context.Checksum[i] xor PI_SUBST[PByte(Buffer)[i] xor t];
|
||||
t := Context.Checksum[i];
|
||||
end;
|
||||
|
||||
{ Zeroize sensitive information. }
|
||||
FillChar(x, Sizeof(x), 0);
|
||||
end;
|
||||
|
||||
|
||||
procedure MD4Transform(var Context: TMDContext; Buffer: Pointer);
|
||||
|
||||
procedure R1(var a: Cardinal; b,c,d,x: Cardinal; s: Byte);
|
||||
@ -225,29 +288,49 @@ end;
|
||||
|
||||
procedure MDInit(var Context: TMDContext; const Version: TMDVersion);
|
||||
begin
|
||||
FillChar(Context, Sizeof(TMDContext), 0);
|
||||
Context.Version := Version;
|
||||
Context.State[0] := $67452301;
|
||||
Context.State[1] := $efcdab89;
|
||||
Context.State[2] := $98badcfe;
|
||||
Context.State[3] := $10325476;
|
||||
Context.Length := 0;
|
||||
Context.BufCnt := 0;
|
||||
|
||||
case Version of
|
||||
|
||||
MD_VERSION_4, MD_VERSION_5:
|
||||
begin
|
||||
Context.Align := 64;
|
||||
Context.State[0] := $67452301;
|
||||
Context.State[1] := $efcdab89;
|
||||
Context.State[2] := $98badcfe;
|
||||
Context.State[3] := $10325476;
|
||||
Context.Length := 0;
|
||||
Context.BufCnt := 0;
|
||||
end;
|
||||
|
||||
MD_VERSION_2:
|
||||
begin
|
||||
Context.Align := 16;
|
||||
end;
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure MDUpdate(var Context: TMDContext; var Buf; const BufLen: PtrUInt);
|
||||
var
|
||||
Align: PtrUInt;
|
||||
Src: Pointer;
|
||||
Num: PtrUInt;
|
||||
begin
|
||||
if BufLen = 0 then
|
||||
Exit;
|
||||
|
||||
Align := Context.Align;
|
||||
Src := @Buf;
|
||||
Num := 0;
|
||||
|
||||
// 1. Transform existing data in buffer
|
||||
if Context.BufCnt > 0 then
|
||||
begin
|
||||
// 1.1 Try to fill buffer to 64 bytes
|
||||
Num := 64 - Context.BufCnt;
|
||||
// 1.1 Try to fill buffer to "Align" bytes
|
||||
Num := Align - Context.BufCnt;
|
||||
if Num > BufLen then
|
||||
Num := BufLen;
|
||||
|
||||
@ -255,10 +338,11 @@ begin
|
||||
Context.BufCnt := Context.BufCnt + Num;
|
||||
Src := Pointer(PtrUInt(Src) + Num);
|
||||
|
||||
// 1.2 If buffer contains 64 bytes, transform it
|
||||
if Context.BufCnt = 64 then
|
||||
// 1.2 If buffer contains "Align" bytes, transform it
|
||||
if Context.BufCnt = Align then
|
||||
begin
|
||||
case Context.Version of
|
||||
MD_VERSION_2: MD2Transform(Context, @Context.Buffer);
|
||||
MD_VERSION_4: MD4Transform(Context, @Context.Buffer);
|
||||
MD_VERSION_5: MD5Transform(Context, @Context.Buffer);
|
||||
end;
|
||||
@ -266,19 +350,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
// 2. Transform 64-Byte blocks of Buf
|
||||
// 2. Transform "Align"-Byte blocks of Buf
|
||||
Num := BufLen - Num;
|
||||
while Num >= 64 do
|
||||
while Num >= Align do
|
||||
begin
|
||||
case Context.Version of
|
||||
MD_VERSION_2: MD2Transform(Context, Src);
|
||||
MD_VERSION_4: MD4Transform(Context, Src);
|
||||
MD_VERSION_5: MD5Transform(Context, Src);
|
||||
end;
|
||||
Src := Pointer(PtrUInt(Src) + 64);
|
||||
Num := Num - 64;
|
||||
Src := Pointer(PtrUInt(Src) + Align);
|
||||
Num := Num - Align;
|
||||
end;
|
||||
|
||||
// 3. If there's a block smaller than 64 Bytes left, add it to buffer
|
||||
// 3. If there's a block smaller than "Align" Bytes left, add it to buffer
|
||||
if Num > 0 then
|
||||
begin
|
||||
Context.BufCnt := Num;
|
||||
@ -289,26 +374,47 @@ end;
|
||||
|
||||
procedure MDFinal(var Context: TMDContext; var Digest: TMDDigest);
|
||||
const
|
||||
Padding: array[0..15] of Cardinal = ($80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||
PADDING_MD45: array[0..15] of Cardinal = ($80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
|
||||
var
|
||||
Length: QWord;
|
||||
Pads: Cardinal;
|
||||
begin
|
||||
// 1. Compute length of the whole stream in bits
|
||||
Length := 8 * (Context.Length + Context.BufCnt);
|
||||
case Context.Version of
|
||||
|
||||
// 2. Append padding bits
|
||||
Pads := (120 - Context.BufCnt) mod 64;
|
||||
if Pads > 0 then
|
||||
MDUpdate(Context, Padding, Pads) else
|
||||
MDUpdate(Context, Padding, 56);
|
||||
MD_VERSION_4, MD_VERSION_5:
|
||||
begin
|
||||
// 1. Compute length of the whole stream in bits
|
||||
Length := 8 * (Context.Length + Context.BufCnt);
|
||||
|
||||
// 3. Append length of the stream
|
||||
Invert(@Length, @Length, 8);
|
||||
MDUpdate(Context, Length, 8);
|
||||
// 2. Append padding bits
|
||||
Pads := (120 - Context.BufCnt) mod 64;
|
||||
if Pads > 0 then
|
||||
MDUpdate(Context, PADDING_MD45, Pads) else
|
||||
MDUpdate(Context, PADDING_MD45, 56);
|
||||
|
||||
// 3. Append length of the stream
|
||||
Invert(@Length, @Length, 8);
|
||||
MDUpdate(Context, Length, 8);
|
||||
|
||||
// 4. Invert state to digest
|
||||
Invert(@Context.State, @Digest, 16);
|
||||
end;
|
||||
|
||||
MD_VERSION_2:
|
||||
begin
|
||||
Pads := 16 - Context.BufCnt;
|
||||
Length := Pads;
|
||||
while Pads > 0 do
|
||||
begin
|
||||
MDUpdate(Context, Length, 1);
|
||||
Dec(Pads);
|
||||
end;
|
||||
MDUpdate(Context, Context.Checksum, 16);
|
||||
Move(Context.State, Digest, 16);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
// 4. Invert state to digest
|
||||
Invert(@Context.State, @Digest, 16);
|
||||
FillChar(Context, SizeOf(TMDContext), 0);
|
||||
end;
|
||||
|
||||
|
@ -1,55 +0,0 @@
|
||||
{
|
||||
This file is part of the Free Pascal packages.
|
||||
Copyright (c) 1999-2000 by the Free Pascal development team
|
||||
|
||||
Tests the MD5 program.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
program md5test;
|
||||
|
||||
{$h+}
|
||||
|
||||
uses md5, ntlm;
|
||||
|
||||
var
|
||||
I: byte;
|
||||
|
||||
const
|
||||
Suite: array[1..7] of string = (
|
||||
'',
|
||||
'a',
|
||||
'abc',
|
||||
'message digest',
|
||||
'abcdefghijklmnopqrstuvwxyz',
|
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
|
||||
'12345678901234567890123456789012345678901234567890123456789012345678901234567890'
|
||||
);
|
||||
|
||||
begin
|
||||
Writeln('Executing RFC 1320 test suite ...');
|
||||
for I := 1 to 7 do
|
||||
Writeln('MD4 ("',Suite[i],'") = ',MDPrint(MDString(Suite[I], 4)));
|
||||
Writeln();
|
||||
Writeln('md4file (50) : ',MDPrint(MDFile('md5test.pp',4,50)));
|
||||
Writeln('md4file (def) : ',MDPrint(MDFile('md5test.pp',4)));
|
||||
Writeln;
|
||||
|
||||
Writeln('Executing RFC 1321 test suite ...');
|
||||
for I := 1 to 7 do
|
||||
Writeln('MD5 ("',Suite[i],'") = ',MDPrint(MDString(Suite[I], 5)));
|
||||
Writeln();
|
||||
Writeln('md5file (50) : ',MDPrint(MDFile('md5test.pp',5,50)));
|
||||
Writeln('md5file (def) : ',MDPrint(MDFile('md5test.pp',5)));
|
||||
Writeln;
|
||||
|
||||
Writeln('nt-password : ',MDPrint(NTGenerate('foobar')));
|
||||
Writeln('lm-password : ',MDPrint(LMGenerate('foobar')));
|
||||
end.
|
90
packages/base/hash/mdtest.pas
Normal file
90
packages/base/hash/mdtest.pas
Normal file
@ -0,0 +1,90 @@
|
||||
{
|
||||
This file is part of the Free Pascal packages.
|
||||
Copyright (c) 1999-2000 by the Free Pascal development team
|
||||
|
||||
Tests the MD5 program.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************}
|
||||
|
||||
program mdtest;
|
||||
|
||||
{$h+}
|
||||
|
||||
uses
|
||||
md5;
|
||||
|
||||
const
|
||||
Suite: array[1..7] of string = (
|
||||
'',
|
||||
'a',
|
||||
'abc',
|
||||
'message digest',
|
||||
'abcdefghijklmnopqrstuvwxyz',
|
||||
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
|
||||
'12345678901234567890123456789012345678901234567890123456789012345678901234567890'
|
||||
);
|
||||
|
||||
Results: array[TMDVersion, Low(Suite)..High(Suite)] of string = (
|
||||
// MD_VERSION_2
|
||||
('8350e5a3e24c153df2275c9f80692773',
|
||||
'32ec01ec4a6dac72c0ab96fb34c0b5d1',
|
||||
'da853b0d3f88d99b30283a69e6ded6bb',
|
||||
'ab4f496bfb2a530b219ff33031fe06b0',
|
||||
'4e8ddff3650292ab5a4108c3aa47940b',
|
||||
'da33def2a42df13975352846c30338cd',
|
||||
'd5976f79d83d3a0dc9806c3c66f3efd8'),
|
||||
|
||||
// MD_VERSION_4
|
||||
('31d6cfe0d16ae931b73c59d7e0c089c0',
|
||||
'bde52cb31de33e46245e05fbdbd6fb24',
|
||||
'a448017aaf21d8525fc10ae87aa6729d',
|
||||
'd9130a8164549fe818874806e1c7014b',
|
||||
'd79e1c308aa5bbcdeea8ed63df412da9',
|
||||
'043f8582f241db351ce627e153e7f0e4',
|
||||
'e33b4ddc9c38f2199c3e7b164fcc0536'),
|
||||
|
||||
// MD_VERSION_5
|
||||
('d41d8cd98f00b204e9800998ecf8427e',
|
||||
'0cc175b9c0f1b6a831c399e269772661',
|
||||
'900150983cd24fb0d6963f7d28e17f72',
|
||||
'f96b697d7cb7938d525a2f31aaf161d0',
|
||||
'c3fcd3d76192e4007dfb496cca67e13b',
|
||||
'd174ab98d277d9f5a5611c2c9f419d9f',
|
||||
'57edf4a22be3c955ac49da2e2107b67a')
|
||||
);
|
||||
|
||||
procedure performTest(const Ver: TMDVersion);
|
||||
var
|
||||
I: Integer;
|
||||
S: String;
|
||||
begin
|
||||
for I := Low(Suite) to High(Suite) do
|
||||
begin
|
||||
S := LowerCase(MDPrint(MDString(Suite[I], Ver)));
|
||||
if S = Results[Ver, I] then
|
||||
Write('passed ') else
|
||||
Write('failed ');
|
||||
WriteLn(' "', Suite[I], '" = ', S);
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
Writeln('Executing RFC 1319 test suite ...');
|
||||
performTest(MD_VERSION_2);
|
||||
Writeln;
|
||||
|
||||
Writeln('Executing RFC 1320 test suite ...');
|
||||
performTest(MD_VERSION_4);
|
||||
Writeln;
|
||||
|
||||
Writeln('Executing RFC 1321 test suite ...');
|
||||
performTest(MD_VERSION_5);
|
||||
Writeln;
|
||||
end.
|
@ -185,9 +185,9 @@ begin
|
||||
(* put name space ID in network byte order so it hashes the same
|
||||
no matter what endian machine we're on *)
|
||||
net_nsid := nsid;
|
||||
// net_nsid.time_low := htonl(net_nsid.time_low);
|
||||
// net_nsid.time_mid := htons(net_nsid.time_mid);
|
||||
// net_nsid.time_hi_and_version := htons(net_nsid.time_hi_and_version);
|
||||
net_nsid.time_low := ntobe(net_nsid.time_low);
|
||||
net_nsid.time_mid := ntobe(net_nsid.time_mid);
|
||||
net_nsid.time_hi_and_version := ntobe(net_nsid.time_hi_and_version);
|
||||
|
||||
MDInit(c, MD_VERSION_4);
|
||||
MDUpdate(c, net_nsid, sizeof(net_nsid));
|
||||
@ -202,19 +202,17 @@ end;
|
||||
{ uuid_create_sha1_from_name }
|
||||
|
||||
procedure uuid_create_sha1_from_name(var uuid: uuid_t; const nsid: uuid_t; const name: string);
|
||||
begin
|
||||
end;
|
||||
{var
|
||||
var
|
||||
net_nsid: uuid_t;
|
||||
c: TMDContext;
|
||||
hash: TMDDigest;
|
||||
{ c: TMDContext;
|
||||
hash: TMDDigest;}
|
||||
begin
|
||||
(* put name space ID in network byte order so it hashes the same
|
||||
no matter what endian machine we're on *)
|
||||
// net_nsid := nsid;
|
||||
// net_nsid.time_low := htonl(net_nsid.time_low);
|
||||
// net_nsid.time_mid := htons(net_nsid.time_mid);
|
||||
// net_nsid.time_hi_and_version := htons(net_nsid.time_hi_and_version);
|
||||
net_nsid := nsid;
|
||||
net_nsid.time_low := ntobe(net_nsid.time_low);
|
||||
net_nsid.time_mid := ntobe(net_nsid.time_mid);
|
||||
net_nsid.time_hi_and_version := ntobe(net_nsid.time_hi_and_version);
|
||||
|
||||
{SHAInit(c, SHA_VERSION_1);
|
||||
SHAUpdate(c, net_nsid, sizeof(net_nsid));
|
||||
@ -223,7 +221,7 @@ begin
|
||||
|
||||
(* the hash is in network byte order at this point *)
|
||||
format_uuid_v3or5(uuid, @hash, UUID_VERSION_5);
|
||||
end;}
|
||||
end;
|
||||
|
||||
|
||||
{ uuid_compare }
|
||||
@ -283,9 +281,9 @@ procedure format_uuid_v3or5(var uuid: uuid_t; const hash: pointer; const v: inte
|
||||
begin
|
||||
(* convert UUID to local byte order *)
|
||||
move(hash^, uuid, sizeof(uuid));
|
||||
// uuid.time_low := ntohl(uuid.time_low);
|
||||
// uuid.time_mid := ntohs(uuid.time_mid);
|
||||
// uuid.time_hi_and_version := ntohs(uuid.time_hi_and_version);
|
||||
uuid.time_low := beton(uuid.time_low);
|
||||
uuid.time_mid := beton(uuid.time_mid);
|
||||
uuid.time_hi_and_version := beton(uuid.time_hi_and_version);
|
||||
|
||||
(* put in the variant and version bits *)
|
||||
uuid.time_hi_and_version := uuid.time_hi_and_version and $0FFF;
|
||||
|
Loading…
Reference in New Issue
Block a user