Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libmd/Makefile
# $FreeBSD$ | # $FreeBSD$ | ||||
PACKAGE=lib${LIB} | PACKAGE=lib${LIB} | ||||
LIB= md | LIB= md | ||||
SHLIB_MAJOR= 6 | SHLIB_MAJOR= 6 | ||||
SHLIBDIR?= /lib | SHLIBDIR?= /lib | ||||
SRCS= md4c.c md5c.c md4hl.c md5hl.c \ | SRCS= md4c.c md5c.c md4hl.c md5hl.c \ | ||||
rmd160c.c rmd160hl.c \ | rmd160c.c rmd160hl.c \ | ||||
sha0c.c sha0hl.c sha1c.c sha1hl.c \ | sha0c.c sha0hl.c sha1c.c sha1hl.c \ | ||||
sha256c.c sha256hl.c \ | sha256c.c sha256hl.c \ | ||||
sha384hl.c \ | sha384hl.c \ | ||||
sha512c.c sha512hl.c | sha512c.c sha512hl.c sha512thl.c | ||||
INCS= md4.h md5.h ripemd.h sha.h sha256.h sha384.h sha512.h | INCS= md4.h md5.h ripemd.h sha.h sha256.h sha384.h sha512.h sha512t.h | ||||
WARNS?= 0 | WARNS?= 0 | ||||
MAN+= md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3 | MAN+= md4.3 md5.3 ripemd.3 sha.3 sha256.3 sha512.3 | ||||
MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Final.3 | MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Final.3 | ||||
MLINKS+=md4.3 MD4End.3 md4.3 MD4File.3 md4.3 MD4FileChunk.3 | MLINKS+=md4.3 MD4End.3 md4.3 MD4File.3 md4.3 MD4FileChunk.3 | ||||
MLINKS+=md4.3 MD4Data.3 | MLINKS+=md4.3 MD4Data.3 | ||||
MLINKS+=md5.3 MD5Init.3 md5.3 MD5Update.3 md5.3 MD5Final.3 | MLINKS+=md5.3 MD5Init.3 md5.3 MD5Update.3 md5.3 MD5Final.3 | ||||
Show All 16 Lines | |||||
MLINKS+=sha512.3 SHA384_Init.3 sha512.3 SHA384_Update.3 | MLINKS+=sha512.3 SHA384_Init.3 sha512.3 SHA384_Update.3 | ||||
MLINKS+=sha512.3 SHA384_Final.3 sha512.3 SHA384_End.3 | MLINKS+=sha512.3 SHA384_Final.3 sha512.3 SHA384_End.3 | ||||
MLINKS+=sha512.3 SHA384_File.3 sha512.3 SHA384_FileChunk.3 | MLINKS+=sha512.3 SHA384_File.3 sha512.3 SHA384_FileChunk.3 | ||||
MLINKS+=sha512.3 SHA384_Data.3 sha512.3 sha384.3 | MLINKS+=sha512.3 SHA384_Data.3 sha512.3 sha384.3 | ||||
MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3 | MLINKS+=sha512.3 SHA512_Init.3 sha512.3 SHA512_Update.3 | ||||
MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3 | MLINKS+=sha512.3 SHA512_Final.3 sha512.3 SHA512_End.3 | ||||
MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3 | MLINKS+=sha512.3 SHA512_File.3 sha512.3 SHA512_FileChunk.3 | ||||
MLINKS+=sha512.3 SHA512_Data.3 | MLINKS+=sha512.3 SHA512_Data.3 | ||||
MLINKS+=sha512.3 SHA512_256_Init.3 sha512.3 SHA512_256_Update.3 | |||||
MLINKS+=sha512.3 SHA512_256_Final.3 sha512.3 SHA512_256_End.3 | |||||
MLINKS+=sha512.3 SHA512_256_File.3 sha512.3 SHA512_256_FileChunk.3 | |||||
MLINKS+=sha512.3 SHA512_256_Data.3 | |||||
CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ | CLEANFILES+= md[245]hl.c md[245].ref md[245].3 mddriver \ | ||||
rmd160.ref rmd160hl.c rmddriver \ | rmd160.ref rmd160hl.c rmddriver \ | ||||
sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \ | sha0.ref sha0hl.c sha1.ref sha1hl.c shadriver \ | ||||
sha256.ref sha256hl.c sha384hl.c sha384.ref \ | sha256.ref sha256hl.c sha384hl.c sha384.ref \ | ||||
sha512.ref sha512hl.c | sha512.ref sha512hl.c sha512t256.ref sha512thl.c | ||||
# Define WEAK_REFS to provide weak aliases for libmd symbols | # Define WEAK_REFS to provide weak aliases for libmd symbols | ||||
# | # | ||||
# Note that the same sources are also used internally by libcrypt, | # Note that the same sources are also used internally by libcrypt, | ||||
# in which case: | # in which case: | ||||
# * macros are used to rename symbols to libcrypt internal names | # * macros are used to rename symbols to libcrypt internal names | ||||
# * no weak aliases are generated | # * no weak aliases are generated | ||||
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys/crypto/sha2 | CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../../sys/crypto/sha2 | ||||
▲ Show 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | (echo '#define LENGTH 48'; \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
sha512hl.c: mdXhl.c | sha512hl.c: mdXhl.c | ||||
(echo '#define LENGTH 64'; \ | (echo '#define LENGTH 64'; \ | ||||
sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g' \ | sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g' \ | ||||
-e 's/SHA512__/SHA512_/g' \ | -e 's/SHA512__/SHA512_/g' \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
sha512thl.c: mdXhl.c | |||||
(echo '#define LENGTH 32'; \ | |||||
sed -e 's/mdX/sha512t/g' -e 's/MDX/SHA512_256_/g' \ | |||||
-e 's/SHA512_256__/SHA512_256_/g' \ | |||||
-e 's/SHA512_256_CTX/SHA512_CTX/g' \ | |||||
${.ALLSRC}) > ${.TARGET} | |||||
rmd160hl.c: mdXhl.c | rmd160hl.c: mdXhl.c | ||||
(echo '#define LENGTH 20'; \ | (echo '#define LENGTH 20'; \ | ||||
sed -e 's/mdX/ripemd/g' -e 's/MDX/RIPEMD160_/g' \ | sed -e 's/mdX/ripemd/g' -e 's/MDX/RIPEMD160_/g' \ | ||||
-e 's/RIPEMD160__/RIPEMD160_/g' \ | -e 's/RIPEMD160__/RIPEMD160_/g' \ | ||||
${.ALLSRC}) > ${.TARGET} | ${.ALLSRC}) > ${.TARGET} | ||||
.for i in 2 4 5 | .for i in 2 4 5 | ||||
md${i}.3: ${.CURDIR}/mdX.3 | md${i}.3: ${.CURDIR}/mdX.3 | ||||
▲ Show 20 Lines • Show All 88 Lines • ▼ Show 20 Lines | @echo 'SHA-512 ("message digest") =' \ | ||||
'107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} | '107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET} | ||||
@echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \ | @echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") =' \ | ||||
'4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET} | '4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET} | ||||
@echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | @echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | ||||
'1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET} | '1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET} | ||||
@echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | @echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | ||||
'72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET} | '72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET} | ||||
sha512t256.ref: | |||||
echo 'SHA-512256 test suite:' > ${.TARGET} | |||||
@echo 'SHA-512256 ("") =' \ | |||||
'c672b8d1ef56ed28ab87c3622c5114069bdd3ad7b8f9737498d0c01ecef0967a' >> ${.TARGET} | |||||
@echo 'SHA-512256 ("abc") =' \ | |||||
'53048e2681941ef99b2e29b76b4c7dabe4c2d0c634fc6d46e0e2f13107e7af23' >> ${.TARGET} | |||||
@echo 'SHA-512256 ("message digest") =' \ | |||||
'0cf471fd17ed69d990daf3433c89b16d63dec1bb9cb42a6094604ee5d7b4e9fb' >> ${.TARGET} | |||||
@echo 'SHA-512256 ("abcdefghijklmnopqrstuvwxyz") =' \ | |||||
'fc3189443f9c268f626aea08a756abe7b726b05f701cb08222312ccfd6710a26' >> ${.TARGET} | |||||
@echo 'SHA-512256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | |||||
'cdf1cc0effe26ecc0c13758f7b4a48e000615df241284185c39eb05d355bb9c8' >> ${.TARGET} | |||||
@echo 'SHA-512256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | |||||
'2c9fdbc0c90bdd87612ee8455474f9044850241dc105b1e8b94b8ddf5fac9148' >> ${.TARGET} | |||||
rmd160.ref: | rmd160.ref: | ||||
echo 'RIPEMD160 test suite:' > ${.TARGET} | echo 'RIPEMD160 test suite:' > ${.TARGET} | ||||
@echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET} | @echo 'RIPEMD160 ("") = 9c1185a5c5e9fc54612808977ee8f548b2258d31' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET} | @echo 'RIPEMD160 ("abc") = 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("message digest") =' \ | @echo 'RIPEMD160 ("message digest") =' \ | ||||
'5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} | '5d0689ef49d2fae572b881b123a85ffa21595f36' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ | @echo 'RIPEMD160 ("abcdefghijklmnopqrstuvwxyz") =' \ | ||||
'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} | 'f71c27109c692c1b56bbdceb5b9d2865b3708dbc' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | @echo 'RIPEMD160 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \ | ||||
'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} | 'b0e20b6e3116640286ed3a87a5713079b21f5189' >> ${.TARGET} | ||||
@echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | @echo 'RIPEMD160 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \ | ||||
'9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} | '9b752e45573d4b39f4dbd3323cab82bf63326bfb' >> ${.TARGET} | ||||
test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha384.ref \ | test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha384.ref \ | ||||
sha512.ref | sha512.ref sha512t256.ref | ||||
@${ECHO} if any of these test fail, the code produces wrong results | @${ECHO} if any of these test fail, the code produces wrong results | ||||
@${ECHO} and should NOT be used. | @${ECHO} and should NOT be used. | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ||||
./mddriver | cmp md4.ref - | ./mddriver | cmp md4.ref - | ||||
@${ECHO} MD4 passed test | @${ECHO} MD4 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c libmd.a | ||||
./mddriver | cmp md5.ref - | ./mddriver | cmp md5.ref - | ||||
@${ECHO} MD5 passed test | @${ECHO} MD5 passed test | ||||
Show All 12 Lines | test: md4.ref md5.ref sha0.ref rmd160.ref sha1.ref sha256.ref sha384.ref \ | ||||
./shadriver | cmp sha256.ref - | ./shadriver | cmp sha256.ref - | ||||
@${ECHO} SHA-256 passed test | @${ECHO} SHA-256 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=384 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=384 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha384.ref - | ./shadriver | cmp sha384.ref - | ||||
@${ECHO} SHA-384 passed test | @${ECHO} SHA-384 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c libmd.a | ||||
./shadriver | cmp sha512.ref - | ./shadriver | cmp sha512.ref - | ||||
@${ECHO} SHA-512 passed test | @${ECHO} SHA-512 passed test | ||||
${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512256 -o shadriver ${.CURDIR}/shadriver.c libmd.a | |||||
./shadriver | cmp sha512t256.ref - | |||||
@${ECHO} SHA-512t256 passed test | |||||
-rm -f shadriver | -rm -f shadriver | ||||
.include <bsd.lib.mk> | .include <bsd.lib.mk> |