world: Remove libmd from the base.
authorzrj <rimvydas.jasinskas@gmail.com>
Mon, 17 Jun 2019 06:30:06 +0000 (09:30 +0300)
committerzrj <zrj@dragonflybsd.org>
Mon, 17 Jun 2019 14:21:45 +0000 (17:21 +0300)
Everything in base has been converted to use pure LibreSSL hash API.
The libmd now is moved to dports security/libmd for compatibility.

Also remove lone rmd160.h header that was added directly to include/.

31 files changed:
Makefile_upgrade.inc
include/Makefile
include/rmd160.h [deleted file]
lib/Makefile
lib/libmd/Makefile [deleted file]
lib/libmd/OBSOLETE [deleted file]
lib/libmd/Symbol.map [deleted file]
lib/libmd/md2.copyright [deleted file]
lib/libmd/md2.h [deleted file]
lib/libmd/md2c.c [deleted file]
lib/libmd/md4.copyright [deleted file]
lib/libmd/md4.h [deleted file]
lib/libmd/md4c.c [deleted file]
lib/libmd/md5.copyright [deleted file]
lib/libmd/md5.h [deleted file]
lib/libmd/md5c.c [deleted file]
lib/libmd/mdX.3 [deleted file]
lib/libmd/mdXhl.c [deleted file]
lib/libmd/mddriver.c [deleted file]
lib/libmd/ripemd.h [deleted file]
lib/libmd/rmd_locl.h [deleted file]
lib/libmd/rmdconst.h [deleted file]
lib/libmd/sha.3 [deleted file]
lib/libmd/sha.h [deleted file]
lib/libmd/sha256.3 [deleted file]
lib/libmd/sha256.h [deleted file]
lib/libmd/sha512.3 [deleted file]
lib/libmd/sha512.h [deleted file]
lib/libmd/sha_locl.h [deleted file]
lib/libmd/shadriver.c [deleted file]
share/mk/bsd.libnames.mk

index a8e1656..bde6960 100644 (file)
@@ -3687,6 +3687,64 @@ TO_REMOVE+=/usr/share/man/man5/opiekeys.5.gz
 TO_REMOVE+=/usr/share/man/man8/pam_opie.8.gz
 TO_REMOVE+=/usr/share/man/man8/pam_opieaccess.8.gz
 TO_REMOVE+=/var/spool/opielocks
+TO_REMOVE+=/lib/libmd.so.3
+TO_REMOVE+=/usr/include/md2.h
+TO_REMOVE+=/usr/include/md4.h
+TO_REMOVE+=/usr/include/md5.h
+TO_REMOVE+=/usr/include/ripemd.h
+TO_REMOVE+=/usr/include/rmd160.h
+TO_REMOVE+=/usr/include/sha.h
+TO_REMOVE+=/usr/include/sha256.h
+TO_REMOVE+=/usr/include/sha512.h
+TO_REMOVE+=/usr/lib/profile/libmd.a
+TO_REMOVE+=/usr/lib/libmd.a
+TO_REMOVE+=/usr/lib/libmd.so
+TO_REMOVE+=/usr/share/man/man3/MD2Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2End.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2File.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2Final.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2Init.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2Pad.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD2Update.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4End.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4File.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4Final.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4Init.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4Pad.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD4Update.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5End.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5File.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5Final.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5Init.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5Pad.3.gz
+TO_REMOVE+=/usr/share/man/man3/MD5Update.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA1_Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA1_End.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA1_File.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA1_FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA256_Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA256_End.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA256_File.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA256_FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA512_Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA512_End.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA512_File.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA512_FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA_Data.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA_End.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA_File.3.gz
+TO_REMOVE+=/usr/share/man/man3/SHA_FileChunk.3.gz
+TO_REMOVE+=/usr/share/man/man3/md2.3.gz
+TO_REMOVE+=/usr/share/man/man3/md4.3.gz
+TO_REMOVE+=/usr/share/man/man3/md5.3.gz
+TO_REMOVE+=/usr/share/man/man3/sha.3.gz
+TO_REMOVE+=/usr/share/man/man3/sha256.3.gz
+TO_REMOVE+=/usr/share/man/man3/sha512.3.gz
 
 .if !defined(WANT_INSTALLER)
 TO_REMOVE+=/usr/sbin/dfuibe_installer
index 7183e83..564cf02 100644 (file)
@@ -18,7 +18,7 @@ INCS= a.out.h alloca.h ar.h assert.h bitstring.h cpio.h ctype.h db.h \
        netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h \
        paths.h printf.h pthread.h pthread_np.h pwd.h \
        ranlib.h readpassphrase.h \
-       re_comp.h resolv.h res_update.h rmd160.h runetype.h \
+       re_comp.h resolv.h res_update.h runetype.h \
        search.h semaphore.h setjmp.h signal.h spawn.h \
        stdalign.h stdarg.h stdbool.h \
        stddef.h stdint.h stdio.h stdlib.h stdnoreturn.h \
@@ -45,7 +45,7 @@ LHDRS=        aio.h errno.h fcntl.h linker_set.h poll.h sched.h syslog.h ucontext.h
 # XXX allow these directories to not contain header files.
 LDIRS= net netbt netgraph netgraph7 netinet netinet6 sys vm
 
-# Subdirectories containing header files to copy.  In symlink mode 
+# Subdirectories containing header files to copy.  In symlink mode
 # the subdirectory will be symlinked.  Care must be taken to adjust
 # LSYMSUBDIRS below to remove subdirectories whos parent directories.
 # If you make a mistake, part of your source tree might get overwritten
@@ -145,7 +145,7 @@ INCSLINKS+= ieeefp.h ${INCLUDEDIR}/floatingpoint.h
 # machine/ header files come from the platform architecture and
 # cpu/ header files come from the cpu architecture.  All code outside
 # of the machine header files ALWAYS #include's <machine/blah.h>.  So
-# if the platform architecture is missing a header file we have to 
+# if the platform architecture is missing a header file we have to
 # copy it in from the cpu architecture.  This way we do not have to
 # create dozens of pure forwarding headers for files that platform
 # architecture does not need to enhance.
diff --git a/include/rmd160.h b/include/rmd160.h
deleted file mode 100644 (file)
index c843089..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*     $DragonFly: src/include/rmd160.h,v 1.1 2003/08/30 15:21:57 asmodai Exp $ */
-/*     $OpenBSD: rmd160.h,v 1.9 2003/06/26 19:34:17 avsm Exp $ */
-/*
- * Copyright (c) 2001 Markus Friedl.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-#ifndef  _RMD160_H
-#define  _RMD160_H
-
-/* RMD160 context. */
-typedef struct RMD160Context {
-       u_int32_t state[5];     /* state */
-       u_int64_t count;        /* number of bits, modulo 2^64 */
-       u_char buffer[64];      /* input buffer */
-} RMD160_CTX;
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-void    RMD160Init(RMD160_CTX *);
-void    RMD160Transform(u_int32_t [5], const u_char [64]);
-void    RMD160Update(RMD160_CTX *, const u_char *, u_int32_t);
-void    RMD160Final(u_char [20], RMD160_CTX *);
-char   *RMD160End(RMD160_CTX *, char *);
-char   *RMD160File(char *, char *);
-char   *RMD160Data(const u_char *, size_t, char *)
-               __attribute__((__bounded__(__string__,3,2)));
-__END_DECLS
-
-#endif  /* _RMD160_H */
index ac46a4e..7422194 100644 (file)
@@ -76,7 +76,6 @@ SUBDIR=       ${SUBDIR_ORDERED} \
        libkvm \
        libm \
        libmagic \
-       libmd \
        ${_libnetgraph} \
        libpam \
        libposix1e \
diff --git a/lib/libmd/Makefile b/lib/libmd/Makefile
deleted file mode 100644 (file)
index 36ee8e8..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-# $FreeBSD: src/lib/libmd/Makefile,v 1.42 2005/03/09 19:23:04 cperciva Exp $
-
-LIB=   md
-SHLIBDIR?= /lib
-SRCS=  md2c.c md4c.c md5c.c \
-       md2hl.c md4hl.c md5hl.c rmd160hl.c \
-       sha256hl.c sha512hl.c
-
-#sha0hl.c sha1hl.c
-
-INCS=  md2.h md4.h md5.h sha.h sha256.h sha512.h ripemd.h
-WARNS?=        2
-NO_STRICT_ALIASING=
-
-VERSION_DEF=   ${.CURDIR}/../libc/Versions.def
-SYMBOL_MAPS=   ${.CURDIR}/Symbol.map
-
-MAN+=  md2.3 md4.3 md5.3 sha.3 sha256.3 sha512.3
-MLINKS+=md2.3 MD2Init.3 md2.3 MD2Update.3 md2.3 MD2Pad.3 md2.3 MD2Final.3
-MLINKS+=md2.3 MD2End.3  md2.3 MD2File.3   md2.3 MD2FileChunk.3
-MLINKS+=md2.3 MD2Data.3
-MLINKS+=md4.3 MD4Init.3 md4.3 MD4Update.3 md4.3 MD4Pad.3 md4.3 MD4Final.3
-MLINKS+=md4.3 MD4End.3  md4.3 MD4File.3   md4.3 MD4FileChunk.3
-MLINKS+=md4.3 MD4Data.3
-MLINKS+=md5.3 MD5Init.3 md5.3 MD5Update.3 md5.3 MD5Pad.3 md5.3 MD5Final.3
-MLINKS+=md5.3 MD5End.3  md5.3 MD5File.3   md5.3 MD5FileChunk.3
-MLINKS+=md5.3 MD5Data.3
-MLINKS+=sha.3 SHA_End.3   sha.3 SHA_File.3    sha.3 SHA_FileChunk.3
-MLINKS+=sha.3 SHA_Data.3
-MLINKS+=sha.3 SHA1_End.3  sha.3 SHA1_File.3   sha.3 SHA1_FileChunk.3
-MLINKS+=sha.3 SHA1_Data.3
-MLINKS+=sha256.3 SHA256_End.3
-MLINKS+=sha256.3 SHA256_File.3  sha256.3 SHA256_FileChunk.3
-MLINKS+=sha256.3 SHA256_Data.3
-MLINKS+=sha512.3 SHA512_End.3
-MLINKS+=sha512.3 SHA512_File.3  sha512.3 SHA512_FileChunk.3
-MLINKS+=sha512.3 SHA512_Data.3
-
-CLEANFILES+=   md[245]hl.c md[245].ref md[245].3 mddriver \
-               sha0.ref sha0hl.c rmd160hl.c sha1.ref sha1hl.c shadriver \
-               sha256.ref sha256hl.c sha512.ref sha512hl.c
-CFLAGS+= -I${.CURDIR}
-CFLAGS+= -I${.CURDIR}/../../crypto/libressl/include
-
-md2hl.c: mdXhl.c
-       (echo '#define LENGTH 16'; \
-               sed -e 's/mdX/md2/g' -e 's/MDX/MD2/g' ${.ALLSRC}) > ${.TARGET}
-
-md4hl.c: mdXhl.c
-       (echo '#define LENGTH 16'; \
-               sed -e 's/mdX/md4/g' -e 's/MDX/MD4/g' ${.ALLSRC}) > ${.TARGET}
-
-md5hl.c: mdXhl.c
-       (echo '#define LENGTH 16'; \
-               sed -e 's/mdX/md5/g' -e 's/MDX/MD5/g' ${.ALLSRC}) > ${.TARGET}
-
-rmd160hl.c: mdXhl.c
-       (echo '#define LENGTH 20'; \
-               sed -e 's/mdX/ripemd/g' -e 's/MDX/RIPEMD160_/g' \
-                       -e 's/RIPEMD160__/RIPEMD160_/g' \
-                       ${.ALLSRC}) > ${.TARGET}
-
-#sha0hl.c: mdXhl.c
-#      (echo '#define LENGTH 20'; \
-#              sed -e 's/mdX/sha/g' -e 's/MDX/SHA_/g' -e 's/SHA__/SHA_/g' \
-#              ${.ALLSRC}) > ${.TARGET}
-#
-#sha1hl.c: mdXhl.c
-#      (echo '#define LENGTH 20'; \
-#              sed -e 's/mdX/sha/g' -e 's/MDX/SHA1_/g' -e 's/SHA1__/SHA1_/g' \
-#              ${.ALLSRC}) > ${.TARGET}
-
-sha256hl.c: mdXhl.c
-       (echo '#define LENGTH 32'; \
-               sed -e 's/mdX/sha256/g' -e 's/MDX/SHA256_/g'    \
-                       -e  's/SHA256__/SHA256_/g' \
-               ${.ALLSRC}) > ${.TARGET}
-
-sha512hl.c: mdXhl.c
-       (echo '#define LENGTH 64'; \
-               sed -e 's/mdX/sha512/g' -e 's/MDX/SHA512_/g'    \
-                       -e  's/SHA512__/SHA512_/g' \
-               ${.ALLSRC}) > ${.TARGET}
-
-.for i in 2 4 5
-md${i}.3: ${.CURDIR}/mdX.3
-       sed -e "s/mdX/md${i}/g" -e "s/MDX/MD${i}/g" ${.ALLSRC} > ${.TARGET}
-       cat ${.CURDIR}/md${i}.copyright >> ${.TARGET}
-.endfor
-
-md2.ref:
-       echo 'MD2 test suite:' > ${.TARGET}
-       @echo 'MD2 ("") = 8350e5a3e24c153df2275c9f80692773' >> ${.TARGET}
-       @echo 'MD2 ("a") = 32ec01ec4a6dac72c0ab96fb34c0b5d1' >> ${.TARGET}
-       @echo 'MD2 ("abc") = da853b0d3f88d99b30283a69e6ded6bb' >> ${.TARGET}
-       @echo 'MD2 ("message digest") = ab4f496bfb2a530b219ff33031fe06b0' >> ${.TARGET}
-       @echo 'MD2 ("abcdefghijklmnopqrstuvwxyz") = 4e8ddff3650292ab5a4108c3aa47940b' >> ${.TARGET}
-       @echo 'MD2 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = da33def2a42df13975352846c30338cd' >> ${.TARGET}
-       @echo 'MD2 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = d5976f79d83d3a0dc9806c3c66f3efd8' >> ${.TARGET}
-
-md4.ref:
-       echo 'MD4 test suite:' > ${.TARGET}
-       @echo 'MD4 ("") = 31d6cfe0d16ae931b73c59d7e0c089c0' >> ${.TARGET}
-       @echo 'MD4 ("a") = bde52cb31de33e46245e05fbdbd6fb24' >> ${.TARGET}
-       @echo 'MD4 ("abc") = a448017aaf21d8525fc10ae87aa6729d' >> ${.TARGET}
-       @echo 'MD4 ("message digest") = d9130a8164549fe818874806e1c7014b' >> ${.TARGET}
-       @echo 'MD4 ("abcdefghijklmnopqrstuvwxyz") = d79e1c308aa5bbcdeea8ed63df412da9' >> ${.TARGET}
-       @echo 'MD4 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 043f8582f241db351ce627e153e7f0e4' >> ${.TARGET}
-       @echo 'MD4 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = e33b4ddc9c38f2199c3e7b164fcc0536' >> ${.TARGET}
-
-md5.ref:
-       echo 'MD5 test suite:' > ${.TARGET}
-       @echo 'MD5 ("") = d41d8cd98f00b204e9800998ecf8427e' >> ${.TARGET}
-       @echo 'MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661' >> ${.TARGET}
-       @echo 'MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72' >> ${.TARGET}
-       @echo 'MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0' >> ${.TARGET}
-       @echo 'MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b' >> ${.TARGET}
-       @echo 'MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f' >> ${.TARGET}
-       @echo 'MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a' >> ${.TARGET}
-
-sha0.ref:
-       (echo 'SHA-0 test suite:'; \
-       echo 'SHA-0 ("") = f96cea198ad1dd5617ac084a3d92c6107708c0ef'; \
-       echo 'SHA-0 ("abc") = 0164b8a914cd2a5e74c4f7ff082c4d97f1edf880'; \
-       echo 'SHA-0 ("message digest") =' \
-               'c1b0f222d150ebb9aa36a40cafdc8bcbed830b14'; \
-       echo 'SHA-0 ("abcdefghijklmnopqrstuvwxyz") =' \
-               'b40ce07a430cfd3c033039b9fe9afec95dc1bdcd'; \
-       echo 'SHA-0 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
-               '79e966f7a3a990df33e40e3d7f8f18d2caebadfa'; \
-       echo 'SHA-0 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
-               '4aa29d14d171522ece47bee8957e35a41f3e9cff' ) > ${.TARGET}
-
-sha1.ref:
-       (echo 'SHA-1 test suite:'; \
-       echo 'SHA-1 ("") = da39a3ee5e6b4b0d3255bfef95601890afd80709'; \
-       echo 'SHA-1 ("abc") = a9993e364706816aba3e25717850c26c9cd0d89d'; \
-       echo 'SHA-1 ("message digest") =' \
-               'c12252ceda8be8994d5fa0290a47231c1d16aae3'; \
-       echo 'SHA-1 ("abcdefghijklmnopqrstuvwxyz") =' \
-               '32d10c7b8cf96570ca04ce37f2a19d84240d3a89'; \
-       echo 'SHA-1 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") =' \
-               '761c457bf73b14d27e9e9265c46f4b4dda11f940'; \
-       echo 'SHA-1 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") =' \
-               '50abf5706a150990a08b2c5ea40fa0e585554732' ) > ${.TARGET}
-
-sha256.ref:
-       echo 'SHA-256 test suite:' > ${.TARGET}
-       @echo 'SHA-256 ("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' >> ${.TARGET}
-       @echo 'SHA-256 ("abc") = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >> ${.TARGET}
-       @echo 'SHA-256 ("message digest") = f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650' >> ${.TARGET}
-       @echo 'SHA-256 ("abcdefghijklmnopqrstuvwxyz") = 71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73' >> ${.TARGET}
-       @echo 'SHA-256 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = db4bfcbd4da0cd85a60c3c37d3fbd8805c77f15fc6b1fdfe614ee0a7c8fdb4c0' >> ${.TARGET}
-       @echo 'SHA-256 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = f371bc4a311f2b009eef952dd83ca80e2b60026c8e935592d0f9c308453c813e' >> ${.TARGET}
-
-sha512.ref:
-       echo 'SHA-512 test suite:' > ${.TARGET}
-       @echo 'SHA-512 ("") = cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e' >> ${.TARGET}
-       @echo 'SHA-512 ("abc") = ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f' >> ${.TARGET}
-       @echo 'SHA-512 ("message digest") = 107dbf389d9e9f71a3a95f6c055b9251bc5268c2be16d6c13492ea45b0199f3309e16455ab1e96118e8a905d5597b72038ddb372a89826046de66687bb420e7c' >> ${.TARGET}
-       @echo 'SHA-512 ("abcdefghijklmnopqrstuvwxyz") = 4dbff86cc2ca1bae1e16468a05cb9881c97f1753bce3619034898faa1aabe429955a1bf8ec483d7421fe3c1646613a59ed5441fb0f321389f77f48a879c7b1f1' >> ${.TARGET}
-       @echo 'SHA-512 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = 1e07be23c26a86ea37ea810c8ec7809352515a970e9253c26f536cfc7a9996c45c8370583e0a78fa4a90041d71a4ceab7423f19c71b9d5a3e01249f0bebd5894' >> ${.TARGET}
-       @echo 'SHA-512 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 72ec1ef1124a45b047e8b7c75a932195135bb61de24ec0d1914042246e0aec3a2354e093d76f3048b456764346900cb130d2a4fd5dd16abb5e30bcb850dee843' >> ${.TARGET}
-
-test:  md2.ref md4.ref md5.ref sha0.ref sha1.ref sha256.ref sha512.ref
-       @${ECHO} if any of these test fail, the code produces wrong results
-       @${ECHO} and should NOT be used.
-       ${CC} ${CFLAGS} ${LDFLAGS} -DMD=2 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
-       ./mddriver | cmp md2.ref -
-       @${ECHO} MD2 passed test
-       ${CC} ${CFLAGS} ${LDFLAGS} -DMD=4 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
-       ./mddriver | cmp md4.ref -
-       @${ECHO} MD4 passed test
-       ${CC} ${CFLAGS} ${LDFLAGS} -DMD=5 -o mddriver ${.CURDIR}/mddriver.c -L. -lmd
-       ./mddriver | cmp md5.ref -
-       @${ECHO} MD5 passed test
-       -rm -f mddriver
-       ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=0 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
-       ./shadriver | cmp sha0.ref -
-       @${ECHO} SHA-0 passed test
-       ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=1 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
-       ./shadriver | cmp sha1.ref -
-       @${ECHO} SHA-1 passed test
-       ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=256 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
-       ./shadriver | cmp sha256.ref -
-       @${ECHO} SHA-256 passed test
-       ${CC} ${CFLAGS} ${LDFLAGS} -DSHA=512 -o shadriver ${.CURDIR}/shadriver.c -L. -lmd
-       ./shadriver | cmp sha512.ref -
-       @${ECHO} SHA-512 passed test
-       -rm -f shadriver
-
-.include <bsd.lib.mk>
diff --git a/lib/libmd/OBSOLETE b/lib/libmd/OBSOLETE
deleted file mode 100644 (file)
index 3a7d8e5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-                               LIBMD IS OBSOLETE
-
-    LIBMD contains old crypto hash APIs and is considered obsolete, meaning
-    that it is our desire to vector any remaining code dependencies away
-    from this library.
-
diff --git a/lib/libmd/Symbol.map b/lib/libmd/Symbol.map
deleted file mode 100644 (file)
index 21e4ae2..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-DF306.0 {
-    MD2Data;
-    MD2End;
-    MD2File;
-    MD2FileChunk;
-    MD2Final;
-    MD2Init;
-    MD2Pad;
-    MD2Update;
-    MD4Data;
-    MD4End;
-    MD4File;
-    MD4FileChunk;
-    MD4Final;
-    MD4Init;
-    MD4Pad;
-    MD4Update;
-    MD5Data;
-    MD5End;
-    MD5File;
-    MD5FileChunk;
-    MD5Final;
-    MD5Init;
-    MD5Pad;
-    MD5Update;
-    RIPEMD160_Data;
-    RIPEMD160_End;
-    RIPEMD160_File;
-    RIPEMD160_FileChunk;
-    SHA256_Data;
-    SHA256_End;
-    SHA256_File;
-    SHA256_FileChunk;
-    SHA512_Data;
-    SHA512_End;
-    SHA512_File;
-    SHA512_FileChunk;
-};
diff --git a/lib/libmd/md2.copyright b/lib/libmd/md2.copyright
deleted file mode 100644 (file)
index c438040..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-.\" $FreeBSD: src/lib/libmd/md2.copyright,v 1.5 1999/08/28 00:05:04 peter Exp $
-.\" $DragonFly: src/lib/libmd/md2.copyright,v 1.2 2003/06/17 04:26:50 dillon Exp $
-Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-rights reserved.
-.Pp
-License to copy and use this software is granted for
-non-commercial Internet Privacy-Enhanced Mail provided that it is
-identified as the "RSA Data Security, Inc. MD2 Message Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-.Pp
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-.Pp
-These notices must be retained in any copies of any part of this
-documentation and/or software.
diff --git a/lib/libmd/md2.h b/lib/libmd/md2.h
deleted file mode 100644 (file)
index b3a4605..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/* MD2.H - header file for MD2C.C
- * $FreeBSD: src/lib/libmd/md2.h,v 1.10 2006/01/17 15:35:56 phk Exp $
- * $DragonFly: src/lib/libmd/md2.h,v 1.3 2008/09/11 20:25:34 swildner Exp $
- */
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-   rights reserved.
-
-   License to copy and use this software is granted for
-   non-commercial Internet Privacy-Enhanced Mail provided that it is
-   identified as the "RSA Data Security, Inc. MD2 Message Digest
-   Algorithm" in all material mentioning or referencing this software
-   or this function.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
- */
-
-#ifndef _MD2_H_
-#define _MD2_H_
-
-typedef struct MD2Context {
-  unsigned char state[16];     /* state */
-  unsigned char checksum[16];  /* checksum */
-  unsigned int count;          /* number of bytes, modulo 16 */
-  unsigned char buffer[16];    /* input buffer */
-} MD2_CTX;
-
-#include <sys/cdefs.h>
-
-__BEGIN_DECLS
-int   MD2Init(MD2_CTX *);
-void   MD2Update(MD2_CTX *, const void *, unsigned int);
-void   MD2Pad(MD2_CTX *);
-void   MD2Final(unsigned char [16], MD2_CTX *);
-char * MD2End(MD2_CTX *, char *);
-char * MD2File(const char *, char *);
-char * MD2FileChunk(const char *, char *, off_t, off_t);
-char * MD2Data(const void *, unsigned int, char *);
-__END_DECLS
-
-#endif /* _MD2_H_ */
diff --git a/lib/libmd/md2c.c b/lib/libmd/md2c.c
deleted file mode 100644 (file)
index 6a7fd08..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/* MD2C.C - RSA Data Security, Inc., MD2 message-digest algorithm
- * $FreeBSD: src/lib/libmd/md2c.c,v 1.11 2006/01/17 15:35:56 phk Exp $
- * $DragonFly: src/lib/libmd/md2c.c,v 1.4 2008/09/30 16:57:05 swildner Exp $
- */
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-   rights reserved.
-
-   License to copy and use this software is granted for
-   non-commercial Internet Privacy-Enhanced Mail provided that it is
-   identified as the "RSA Data Security, Inc. MD2 Message Digest
-   Algorithm" in all material mentioning or referencing this software
-   or this function.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
- */
-
-#include <sys/types.h>
-#include <string.h>
-#include "md2.h"
-
-
-typedef unsigned char *POINTER;
-typedef u_int16_t UINT2;
-typedef u_int32_t UINT4;
-
-#define PROTO_LIST(list) list
-
-static void MD2Transform PROTO_LIST
-  ((unsigned char [16], unsigned char [16], const unsigned char [16]));
-
-/* Permutation of 0..255 constructed from the digits of pi. It gives a
-   "random" nonlinear byte substitution operation.
- */
-static unsigned char PI_SUBST[256] = {
-  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
-};
-
-static unsigned char *PADDING[] = {
-  (unsigned char *)"",
-  (unsigned char *)"\001",
-  (unsigned char *)"\002\002",
-  (unsigned char *)"\003\003\003",
-  (unsigned char *)"\004\004\004\004",
-  (unsigned char *)"\005\005\005\005\005",
-  (unsigned char *)"\006\006\006\006\006\006",
-  (unsigned char *)"\007\007\007\007\007\007\007",
-  (unsigned char *)"\010\010\010\010\010\010\010\010",
-  (unsigned char *)"\011\011\011\011\011\011\011\011\011",
-  (unsigned char *)"\012\012\012\012\012\012\012\012\012\012",
-  (unsigned char *)"\013\013\013\013\013\013\013\013\013\013\013",
-  (unsigned char *)"\014\014\014\014\014\014\014\014\014\014\014\014",
-  (unsigned char *)
-    "\015\015\015\015\015\015\015\015\015\015\015\015\015",
-  (unsigned char *)
-    "\016\016\016\016\016\016\016\016\016\016\016\016\016\016",
-  (unsigned char *)
-    "\017\017\017\017\017\017\017\017\017\017\017\017\017\017\017",
-  (unsigned char *)
-    "\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020\020"
-};
-
-/* MD2 initialization. Begins an MD2 operation, writing a new context.
- */
-int
-MD2Init (MD2_CTX *context)
-{
-  context->count = 0;
-  memset ((POINTER)context->state, 0, sizeof (context->state));
-  memset
-    ((POINTER)context->checksum, 0, sizeof (context->checksum));
-  return 1;
-}
-
-/* MD2 block update operation. Continues an MD2 message-digest
-     operation, processing another message block, and updating the
-     context.
- */
-void
-MD2Update (MD2_CTX *context, const void *in, unsigned int inputLen)
-{
-  unsigned int i, idx, partLen;
-  const unsigned char *input = in;
-
-  /* Update number of bytes mod 16 */
-  idx = context->count;
-  context->count = (idx + inputLen) & 0xf;
-
-  partLen = 16 - idx;
-
-  /* Transform as many times as possible.
-    */
-  if (inputLen >= partLen) {
-    memcpy
-      ((POINTER)&context->buffer[idx], (POINTER)input, partLen);
-    MD2Transform (context->state, context->checksum, context->buffer);
-
-    for (i = partLen; i + 15 < inputLen; i += 16)
-      MD2Transform (context->state, context->checksum, &input[i]);
-
-    idx = 0;
-  }
-  else
-    i = 0;
-
-  /* Buffer remaining input */
-  memcpy
-    ((POINTER)&context->buffer[idx], (POINTER)&input[i],
-     inputLen-i);
-}
-
-/* MD2 padding.
- */
-void
-MD2Pad (MD2_CTX *context)
-{
-  unsigned int idx, padLen;
-
-  /* Pad out to multiple of 16.
-   */
-  idx = context->count;
-  padLen = 16 - idx;
-  MD2Update (context, PADDING[padLen], padLen);
-
-  /* Extend with checksum */
-  MD2Update (context, context->checksum, 16);
-}
-
-/* MD2 finalization. Ends an MD2 message-digest operation, writing the
-     message digest and zeroizing the context.
- */
-void
-MD2Final (unsigned char digest[16], MD2_CTX *context)
-{
-  /* Do padding */
-  MD2Pad (context);
-
-  /* Store state in digest */
-  memcpy ((POINTER)digest, (POINTER)context->state, 16);
-
-  /* Zeroize sensitive information.
-   */
-  memset ((POINTER)context, 0, sizeof (*context));
-}
-
-/* MD2 basic transformation. Transforms state and updates checksum
-     based on block.
- */
-static void
-MD2Transform (unsigned char state[16], unsigned char checksum[16],
-    const unsigned char block[16])
-{
-  unsigned int i, j, t;
-  unsigned char x[48];
-
-  /* Form encryption block from state, block, state ^ block.
-   */
-  memcpy ((POINTER)x, (POINTER)state, 16);
-  memcpy ((POINTER)x+16, (POINTER)block, 16);
-  for (i = 0; i < 16; i++)
-    x[i+32] = state[i] ^ block[i];
-
-  /* Encrypt block (18 rounds).
-   */
-  t = 0;
-  for (i = 0; i < 18; i++) {
-    for (j = 0; j < 48; j++)
-      t = x[j] ^= PI_SUBST[t];
-    t = (t + i) & 0xff;
-  }
-
-  /* Save new state */
-  memcpy ((POINTER)state, (POINTER)x, 16);
-
-  /* Update checksum.
-   */
-  t = checksum[15];
-  for (i = 0; i < 16; i++)
-    t = checksum[i] ^= PI_SUBST[block[i] ^ t];
-
-  /* Zeroize sensitive information.
-   */
-  memset ((POINTER)x, 0, sizeof (x));
-}
diff --git a/lib/libmd/md4.copyright b/lib/libmd/md4.copyright
deleted file mode 100644 (file)
index dd7de16..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-.\" $FreeBSD: src/lib/libmd/md4.copyright,v 1.5 1999/08/28 00:05:05 peter Exp $
-.\" $DragonFly: src/lib/libmd/md4.copyright,v 1.2 2003/06/17 04:26:50 dillon Exp $
-Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-.Pp
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD4 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD4 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-.Pp
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-.Pp
-These notices must be retained in any copies of any part of this
-documentation and/or software.
diff --git a/lib/libmd/md4.h b/lib/libmd/md4.h
deleted file mode 100644 (file)
index 62b6766..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-
-#ifndef _MD4_H_
-#define _MD4_H_
-
-#include <sys/cdefs.h>
-#include <openssl/md4.h>
-
-__BEGIN_DECLS
-int MD4Init(MD4_CTX *);
-void MD4Update(MD4_CTX *, const void *, unsigned int);
-void MD4Pad(MD4_CTX *);
-void MD4Final(unsigned char [16], MD4_CTX *);
-char *MD4End(MD4_CTX *, char *);
-char *MD4File(const char *, char *);
-char *MD4FileChunk(const char *, char *, off_t, off_t);
-char *MD4Data(const void *, unsigned int, char *);
-__END_DECLS
-
-#endif /* _MD4_H_ */
diff --git a/lib/libmd/md4c.c b/lib/libmd/md4c.c
deleted file mode 100644 (file)
index 76050af..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/* MD4C.C - RSA Data Security, Inc., MD4 message-digest algorithm
- * $FreeBSD: src/lib/libmd/md4c.c,v 1.10 2006/01/17 15:35:56 phk Exp $
- * $DragonFly: src/lib/libmd/md4c.c,v 1.4 2008/09/30 16:57:05 swildner Exp $
- */
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. All rights reserved.
-
-   License to copy and use this software is granted provided that it
-   is identified as the "RSA Data Security, Inc. MD4 Message-Digest
-   Algorithm" in all material mentioning or referencing this software
-   or this function.
-
-   License is also granted to make and use derivative works provided
-   that such works are identified as "derived from the RSA Data
-   Security, Inc. MD4 Message-Digest Algorithm" in all material
-   mentioning or referencing the derived work.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
- */
-
-#include <sys/types.h>
-#include <string.h>
-#include "md4.h"
-
-typedef unsigned char *POINTER;
-typedef const unsigned char *CONST_POINTER;
-typedef u_int16_t UINT2;
-typedef u_int32_t UINT4;
-
-#define PROTO_LIST(list) list
-
-/* Constants for MD4Transform routine.
- */
-#define S11 3
-#define S12 7
-#define S13 11
-#define S14 19
-#define S21 3
-#define S22 5
-#define S23 9
-#define S24 13
-#define S31 3
-#define S32 9
-#define S33 11
-#define S34 15
-
-static void MD4Transform PROTO_LIST ((UINT4 *, const unsigned char *));
-static void Encode PROTO_LIST
-  ((unsigned char *, UINT4 *, unsigned int));
-static void Decode PROTO_LIST
-  ((UINT4 *, const unsigned char *, unsigned int));
-
-static unsigned char PADDING[64] = {
-  0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G and H are basic MD4 functions.
- */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-
-/* ROTATE_LEFT rotates x left n bits.
- */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/* FF, GG and HH are transformations for rounds 1, 2 and 3 */
-/* Rotation is separate from addition to prevent recomputation */
-#define FF(a, b, c, d, x, s) { \
-    (a) += F ((b), (c), (d)) + (x); \
-    (a) = ROTATE_LEFT ((a), (s)); \
-  }
-#define GG(a, b, c, d, x, s) { \
-    (a) += G ((b), (c), (d)) + (x) + (UINT4)0x5a827999; \
-    (a) = ROTATE_LEFT ((a), (s)); \
-  }
-#define HH(a, b, c, d, x, s) { \
-    (a) += H ((b), (c), (d)) + (x) + (UINT4)0x6ed9eba1; \
-    (a) = ROTATE_LEFT ((a), (s)); \
-  }
-
-/* MD4 initialization. Begins an MD4 operation, writing a new context.
- */
-int
-MD4Init (MD4_CTX *context)
-{
-  context->Nl = context->Nh = 0;
-
-  /* Load magic initialization constants.
-   */
-  context->A = 0x67452301;
-  context->B = 0xefcdab89;
-  context->C = 0x98badcfe;
-  context->D = 0x10325476;
-  return 1;
-}
-
-/* MD4 block update operation. Continues an MD4 message-digest
-     operation, processing another message block, and updating the
-     context.
- */
-void
-MD4Update (MD4_CTX *context, const void *in, unsigned int inputLen)
-{
-  unsigned int i, idx, partLen;
-  const unsigned char *input = in;
-
-  /* Compute number of bytes mod 64 */
-  idx = (unsigned int)((context->Nl >> 3) & 0x3F);
-  /* Update number of bits */
-  if ((context->Nl += ((UINT4)inputLen << 3))
-      < ((UINT4)inputLen << 3))
-    context->Nh++;
-  context->Nh += ((UINT4)inputLen >> 29);
-
-  partLen = 64 - idx;
-  /* Transform as many times as possible.
-   */
-  if (inputLen >= partLen) {
-    memcpy
-      ((POINTER)&((char *)context->data)[idx], (CONST_POINTER)input, partLen);
-    MD4Transform (&context->A, (unsigned char *)context->data);
-
-    for (i = partLen; i + 63 < inputLen; i += 64)
-      MD4Transform (&context->A, &input[i]);
-
-    idx = 0;
-  }
-  else
-    i = 0;
-
-  /* Buffer remaining input */
-  memcpy
-    ((POINTER)&((char *)context->data)[idx], (CONST_POINTER)&input[i],
-     inputLen-i);
-}
-
-/* MD4 padding. */
-void
-MD4Pad (MD4_CTX *context)
-{
-  unsigned char bits[8];
-  unsigned int idx, padLen;
-
-  /* Save number of bits */
-  Encode (bits, &context->Nl, 8);
-
-  /* Pad out to 56 mod 64.
-   */
-  idx = (unsigned int)((context->Nl >> 3) & 0x3f);
-  padLen = (idx < 56) ? (56 - idx) : (120 - idx);
-  MD4Update (context, PADDING, padLen);
-
-  /* Append length (before padding) */
-  MD4Update (context, bits, 8);
-}
-
-/* MD4 finalization. Ends an MD4 message-digest operation, writing the
-     the message digest and zeroizing the context.
- */
-void
-MD4Final (unsigned char digest[16], MD4_CTX *context)
-{
-  /* Do padding */
-  MD4Pad (context);
-
-  /* Store state in digest */
-  Encode (digest, &context->A, 16);
-
-  /* Zeroize sensitive information.
-   */
-  memset ((POINTER)context, 0, sizeof (*context));
-}
-
-/* MD4 basic transformation. Transforms state based on block.
- */
-static void
-MD4Transform (UINT4 *state, const unsigned char *block)
-{
-  UINT4 a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
-  Decode (x, block, 64);
-
-  /* Round 1 */
-  FF (a, b, c, d, x[ 0], S11); /* 1 */
-  FF (d, a, b, c, x[ 1], S12); /* 2 */
-  FF (c, d, a, b, x[ 2], S13); /* 3 */
-  FF (b, c, d, a, x[ 3], S14); /* 4 */
-  FF (a, b, c, d, x[ 4], S11); /* 5 */
-  FF (d, a, b, c, x[ 5], S12); /* 6 */
-  FF (c, d, a, b, x[ 6], S13); /* 7 */
-  FF (b, c, d, a, x[ 7], S14); /* 8 */
-  FF (a, b, c, d, x[ 8], S11); /* 9 */
-  FF (d, a, b, c, x[ 9], S12); /* 10 */
-  FF (c, d, a, b, x[10], S13); /* 11 */
-  FF (b, c, d, a, x[11], S14); /* 12 */
-  FF (a, b, c, d, x[12], S11); /* 13 */
-  FF (d, a, b, c, x[13], S12); /* 14 */
-  FF (c, d, a, b, x[14], S13); /* 15 */
-  FF (b, c, d, a, x[15], S14); /* 16 */
-
-  /* Round 2 */
-  GG (a, b, c, d, x[ 0], S21); /* 17 */
-  GG (d, a, b, c, x[ 4], S22); /* 18 */
-  GG (c, d, a, b, x[ 8], S23); /* 19 */
-  GG (b, c, d, a, x[12], S24); /* 20 */
-  GG (a, b, c, d, x[ 1], S21); /* 21 */
-  GG (d, a, b, c, x[ 5], S22); /* 22 */
-  GG (c, d, a, b, x[ 9], S23); /* 23 */
-  GG (b, c, d, a, x[13], S24); /* 24 */
-  GG (a, b, c, d, x[ 2], S21); /* 25 */
-  GG (d, a, b, c, x[ 6], S22); /* 26 */
-  GG (c, d, a, b, x[10], S23); /* 27 */
-  GG (b, c, d, a, x[14], S24); /* 28 */
-  GG (a, b, c, d, x[ 3], S21); /* 29 */
-  GG (d, a, b, c, x[ 7], S22); /* 30 */
-  GG (c, d, a, b, x[11], S23); /* 31 */
-  GG (b, c, d, a, x[15], S24); /* 32 */
-
-  /* Round 3 */
-  HH (a, b, c, d, x[ 0], S31); /* 33 */
-  HH (d, a, b, c, x[ 8], S32); /* 34 */
-  HH (c, d, a, b, x[ 4], S33); /* 35 */
-  HH (b, c, d, a, x[12], S34); /* 36 */
-  HH (a, b, c, d, x[ 2], S31); /* 37 */
-  HH (d, a, b, c, x[10], S32); /* 38 */
-  HH (c, d, a, b, x[ 6], S33); /* 39 */
-  HH (b, c, d, a, x[14], S34); /* 40 */
-  HH (a, b, c, d, x[ 1], S31); /* 41 */
-  HH (d, a, b, c, x[ 9], S32); /* 42 */
-  HH (c, d, a, b, x[ 5], S33); /* 43 */
-  HH (b, c, d, a, x[13], S34); /* 44 */
-  HH (a, b, c, d, x[ 3], S31); /* 45 */
-  HH (d, a, b, c, x[11], S32); /* 46 */
-  HH (c, d, a, b, x[ 7], S33); /* 47 */
-  HH (b, c, d, a, x[15], S34); /* 48 */
-
-  state[0] += a;
-  state[1] += b;
-  state[2] += c;
-  state[3] += d;
-
-  /* Zeroize sensitive information.
-   */
-  memset ((POINTER)x, 0, sizeof (x));
-}
-
-/* Encodes input (UINT4) into output (unsigned char). Assumes len is
-     a multiple of 4.
- */
-static void
-Encode (unsigned char *output, UINT4 *input, unsigned int len)
-{
-  unsigned int i, j;
-
-  for (i = 0, j = 0; j < len; i++, j += 4) {
-    output[j] = (unsigned char)(input[i] & 0xff);
-    output[j+1] = (unsigned char)((input[i] >> 8) & 0xff);
-    output[j+2] = (unsigned char)((input[i] >> 16) & 0xff);
-    output[j+3] = (unsigned char)((input[i] >> 24) & 0xff);
-  }
-}
-
-/* Decodes input (unsigned char) into output (UINT4). Assumes len is
-     a multiple of 4.
- */
-static void
-Decode (UINT4 *output, const unsigned char *input, unsigned int len)
-{
-  unsigned int i, j;
-
-  for (i = 0, j = 0; j < len; i++, j += 4)
-    output[i] = ((UINT4)input[j]) | (((UINT4)input[j+1]) << 8) |
-      (((UINT4)input[j+2]) << 16) | (((UINT4)input[j+3]) << 24);
-}
diff --git a/lib/libmd/md5.copyright b/lib/libmd/md5.copyright
deleted file mode 100644 (file)
index 4e7be83..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-.\" $FreeBSD: src/lib/libmd/md5.copyright,v 1.5 1999/08/28 00:05:06 peter Exp $
-.\" $DragonFly: src/lib/libmd/md5.copyright,v 1.2 2003/06/17 04:26:50 dillon Exp $
-Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
-rights reserved.
-.Pp
-License to copy and use this software is granted provided that it
-is identified as the "RSA Data Security, Inc. MD5 Message-Digest
-Algorithm" in all material mentioning or referencing this software
-or this function.
-.Pp
-License is also granted to make and use derivative works provided
-that such works are identified as "derived from the RSA Data
-Security, Inc. MD5 Message-Digest Algorithm" in all material
-mentioning or referencing the derived work.
-.Pp
-RSA Data Security, Inc. makes no representations concerning either
-the merchantability of this software or the suitability of this
-software for any particular purpose. It is provided "as is"
-without express or implied warranty of any kind.
-.Pp
-These notices must be retained in any copies of any part of this
-documentation and/or software.
diff --git a/lib/libmd/md5.h b/lib/libmd/md5.h
deleted file mode 100644 (file)
index b5244d1..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-
-#ifndef _MD5_H_
-#define _MD5_H_
-
-#include <sys/md5.h>
-
-#endif
diff --git a/lib/libmd/md5c.c b/lib/libmd/md5c.c
deleted file mode 100644 (file)
index 2dfcf86..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm
- *
- * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All
- * rights reserved.
- *
- * License to copy and use this software is granted provided that it
- * is identified as the "RSA Data Security, Inc. MD5 Message-Digest
- * Algorithm" in all material mentioning or referencing this software
- * or this function.
- *
- * License is also granted to make and use derivative works provided
- * that such works are identified as "derived from the RSA Data
- * Security, Inc. MD5 Message-Digest Algorithm" in all material
- * mentioning or referencing the derived work.
- *
- * RSA Data Security, Inc. makes no representations concerning either
- * the merchantability of this software or the suitability of this
- * software for any particular purpose. It is provided "as is"
- * without express or implied warranty of any kind.
- *
- * These notices must be retained in any copies of any part of this
- * documentation and/or software.
- *
- * $FreeBSD: src/lib/libmd/md5c.c,v 1.17 2006/01/17 15:35:56 phk Exp $
- *
- * This code is the same as the code published by RSA Inc.  It has been
- * edited for clarity and style only.
- */
-
-#include <sys/types.h>
-
-#ifdef _KERNEL
-#include <sys/systm.h>
-#else
-#include <string.h>
-#endif
-
-#include <machine/endian.h>
-#include <sys/endian.h>
-#include <sys/md5.h>
-
-#ifdef _KERNEL
-#define memset(x,y,z)  bzero(x,z);
-#define memcpy(x,y,z)  bcopy(y, x, z)
-#endif
-
-#if (BYTE_ORDER == LITTLE_ENDIAN)
-#define Encode memcpy
-#define Decode memcpy
-#else
-
-/*
- * Encodes input (u_int32_t) into output (unsigned char). Assumes len is
- * a multiple of 4.
- */
-
-static void
-Encode (unsigned char *output, u_int32_t *input, unsigned int len)
-{
-       unsigned int i;
-       u_int32_t *op = (u_int32_t *)output;
-
-       for (i = 0; i < len / 4; i++)
-               op[i] = htole32(input[i]);
-}
-
-/*
- * Decodes input (unsigned char) into output (u_int32_t). Assumes len is
- * a multiple of 4.
- */
-
-static void
-Decode (u_int32_t *output, const unsigned char *input, unsigned int len)
-{
-       unsigned int i;
-       const u_int32_t *ip = (const u_int32_t *)input;
-
-       for (i = 0; i < len / 4; i++)
-               output[i] = le32toh(ip[i]);
-}
-#endif
-
-static unsigned char PADDING[64] = {
-  0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/* F, G, H and I are basic MD5 functions. */
-#define F(x, y, z) (((x) & (y)) | ((~x) & (z)))
-#define G(x, y, z) (((x) & (z)) | ((y) & (~z)))
-#define H(x, y, z) ((x) ^ (y) ^ (z))
-#define I(x, y, z) ((y) ^ ((x) | (~z)))
-
-/* ROTATE_LEFT rotates x left n bits. */
-#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
-
-/*
- * FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4.
- * Rotation is separate from addition to prevent recomputation.
- */
-#define FF(a, b, c, d, x, s, ac) { \
-       (a) += F ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-       (a) = ROTATE_LEFT ((a), (s)); \
-       (a) += (b); \
-       }
-#define GG(a, b, c, d, x, s, ac) { \
-       (a) += G ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-       (a) = ROTATE_LEFT ((a), (s)); \
-       (a) += (b); \
-       }
-#define HH(a, b, c, d, x, s, ac) { \
-       (a) += H ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-       (a) = ROTATE_LEFT ((a), (s)); \
-       (a) += (b); \
-       }
-#define II(a, b, c, d, x, s, ac) { \
-       (a) += I ((b), (c), (d)) + (x) + (u_int32_t)(ac); \
-       (a) = ROTATE_LEFT ((a), (s)); \
-       (a) += (b); \
-       }
-
-/* MD5 initialization. Begins an MD5 operation, writing a new context. */
-
-int
-MD5Init (MD5_CTX *context)
-{
-
-       context->Nl = context->Nh = 0;
-
-       /* Load magic initialization constants.  */
-       context->A = 0x67452301;
-       context->B = 0xefcdab89;
-       context->C = 0x98badcfe;
-       context->D = 0x10325476;
-       return 1;
-}
-
-/* 
- * MD5 block update operation. Continues an MD5 message-digest
- * operation, processing another message block, and updating the
- * context.
- */
-
-void
-MD5Update (MD5_CTX *context, const void *in, unsigned int inputLen)
-{
-       unsigned int i, idx, partLen;
-       const unsigned char *input = in;
-
-       /* Compute number of bytes mod 64 */
-       idx = (unsigned int)((context->Nl >> 3) & 0x3F);
-
-       /* Update number of bits */
-       if ((context->Nl += ((u_int32_t)inputLen << 3))
-           < ((u_int32_t)inputLen << 3))
-               context->Nh++;
-       context->Nh += ((u_int32_t)inputLen >> 29);
-
-       partLen = 64 - idx;
-
-       /* Transform as many times as possible. */
-       if (inputLen >= partLen) {
-               memcpy(&((char *)context->data)[idx], (const void *)input,
-                   partLen);
-               MD5Transform (&context->A, (char *)context->data);
-
-               for (i = partLen; i + 63 < inputLen; i += 64)
-                       MD5Transform (&context->A, &input[i]);
-
-               idx = 0;
-       }
-       else
-               i = 0;
-
-       /* Buffer remaining input */
-       memcpy (&((char *)context->data)[idx], (const void *)&input[i],
-           inputLen-i);
-}
-
-/*
- * MD5 padding. Adds padding followed by original length.
- */
-
-void
-MD5Pad (MD5_CTX *context)
-{
-       unsigned char bits[8];
-       unsigned int idx, padLen;
-
-       /* Save number of bits */
-       Encode (bits, &context->Nl, 8);
-
-       /* Pad out to 56 mod 64. */
-       idx = (unsigned int)((context->Nl >> 3) & 0x3f);
-       padLen = (idx < 56) ? (56 - idx) : (120 - idx);
-       MD5Update (context, PADDING, padLen);
-
-       /* Append length (before padding) */
-       MD5Update (context, bits, 8);
-}
-
-/*
- * MD5 finalization. Ends an MD5 message-digest operation, writing the
- * the message digest and zeroizing the context.
- */
-
-void
-MD5Final (unsigned char digest[16], MD5_CTX *context)
-{
-       /* Do padding. */
-       MD5Pad (context);
-
-       /* Store state in digest */
-       Encode (digest, &context->A, 16);
-
-       /* Zeroize sensitive information. */
-       memset ((void *)context, 0, sizeof (*context));
-}
-
-/* MD5 basic transformation. Transforms state based on block. */
-
-void
-MD5Transform (u_int32_t *state, const unsigned char *block)
-{
-       u_int32_t a = state[0], b = state[1], c = state[2], d = state[3], x[16];
-
-       Decode (x, block, 64);
-
-       /* Round 1 */
-#define S11 7
-#define S12 12
-#define S13 17
-#define S14 22
-       FF (a, b, c, d, x[ 0], S11, 0xd76aa478); /* 1 */
-       FF (d, a, b, c, x[ 1], S12, 0xe8c7b756); /* 2 */
-       FF (c, d, a, b, x[ 2], S13, 0x242070db); /* 3 */
-       FF (b, c, d, a, x[ 3], S14, 0xc1bdceee); /* 4 */
-       FF (a, b, c, d, x[ 4], S11, 0xf57c0faf); /* 5 */
-       FF (d, a, b, c, x[ 5], S12, 0x4787c62a); /* 6 */
-       FF (c, d, a, b, x[ 6], S13, 0xa8304613); /* 7 */
-       FF (b, c, d, a, x[ 7], S14, 0xfd469501); /* 8 */
-       FF (a, b, c, d, x[ 8], S11, 0x698098d8); /* 9 */
-       FF (d, a, b, c, x[ 9], S12, 0x8b44f7af); /* 10 */
-       FF (c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */
-       FF (b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */
-       FF (a, b, c, d, x[12], S11, 0x6b901122); /* 13 */
-       FF (d, a, b, c, x[13], S12, 0xfd987193); /* 14 */
-       FF (c, d, a, b, x[14], S13, 0xa679438e); /* 15 */
-       FF (b, c, d, a, x[15], S14, 0x49b40821); /* 16 */
-
-       /* Round 2 */
-#define S21 5
-#define S22 9
-#define S23 14
-#define S24 20
-       GG (a, b, c, d, x[ 1], S21, 0xf61e2562); /* 17 */
-       GG (d, a, b, c, x[ 6], S22, 0xc040b340); /* 18 */
-       GG (c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */
-       GG (b, c, d, a, x[ 0], S24, 0xe9b6c7aa); /* 20 */
-       GG (a, b, c, d, x[ 5], S21, 0xd62f105d); /* 21 */
-       GG (d, a, b, c, x[10], S22,  0x2441453); /* 22 */
-       GG (c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */
-       GG (b, c, d, a, x[ 4], S24, 0xe7d3fbc8); /* 24 */
-       GG (a, b, c, d, x[ 9], S21, 0x21e1cde6); /* 25 */
-       GG (d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */
-       GG (c, d, a, b, x[ 3], S23, 0xf4d50d87); /* 27 */
-       GG (b, c, d, a, x[ 8], S24, 0x455a14ed); /* 28 */
-       GG (a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */
-       GG (d, a, b, c, x[ 2], S22, 0xfcefa3f8); /* 30 */
-       GG (c, d, a, b, x[ 7], S23, 0x676f02d9); /* 31 */
-       GG (b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */
-
-       /* Round 3 */
-#define S31 4
-#define S32 11
-#define S33 16
-#define S34 23
-       HH (a, b, c, d, x[ 5], S31, 0xfffa3942); /* 33 */
-       HH (d, a, b, c, x[ 8], S32, 0x8771f681); /* 34 */
-       HH (c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */
-       HH (b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */
-       HH (a, b, c, d, x[ 1], S31, 0xa4beea44); /* 37 */
-       HH (d, a, b, c, x[ 4], S32, 0x4bdecfa9); /* 38 */
-       HH (c, d, a, b, x[ 7], S33, 0xf6bb4b60); /* 39 */
-       HH (b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */
-       HH (a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */
-       HH (d, a, b, c, x[ 0], S32, 0xeaa127fa); /* 42 */
-       HH (c, d, a, b, x[ 3], S33, 0xd4ef3085); /* 43 */
-       HH (b, c, d, a, x[ 6], S34,  0x4881d05); /* 44 */
-       HH (a, b, c, d, x[ 9], S31, 0xd9d4d039); /* 45 */
-       HH (d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */
-       HH (c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */
-       HH (b, c, d, a, x[ 2], S34, 0xc4ac5665); /* 48 */
-
-       /* Round 4 */
-#define S41 6
-#define S42 10
-#define S43 15
-#define S44 21
-       II (a, b, c, d, x[ 0], S41, 0xf4292244); /* 49 */
-       II (d, a, b, c, x[ 7], S42, 0x432aff97); /* 50 */
-       II (c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */
-       II (b, c, d, a, x[ 5], S44, 0xfc93a039); /* 52 */
-       II (a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */
-       II (d, a, b, c, x[ 3], S42, 0x8f0ccc92); /* 54 */
-       II (c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */
-       II (b, c, d, a, x[ 1], S44, 0x85845dd1); /* 56 */
-       II (a, b, c, d, x[ 8], S41, 0x6fa87e4f); /* 57 */
-       II (d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */
-       II (c, d, a, b, x[ 6], S43, 0xa3014314); /* 59 */
-       II (b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */
-       II (a, b, c, d, x[ 4], S41, 0xf7537e82); /* 61 */
-       II (d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */
-       II (c, d, a, b, x[ 2], S43, 0x2ad7d2bb); /* 63 */
-       II (b, c, d, a, x[ 9], S44, 0xeb86d391); /* 64 */
-
-       state[0] += a;
-       state[1] += b;
-       state[2] += c;
-       state[3] += d;
-
-       /* Zeroize sensitive information. */
-       memset ((void *)x, 0, sizeof (x));
-}
diff --git a/lib/libmd/mdX.3 b/lib/libmd/mdX.3
deleted file mode 100644 (file)
index 8b27d95..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-.\"
-.\" ----------------------------------------------------------------------------
-.\" "THE BEER-WARE LICENSE" (Revision 42):
-.\" <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
-.\" can do whatever you want with this stuff. If we meet some day, and you think
-.\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
-.\" ----------------------------------------------------------------------------
-.\"
-.\" $FreeBSD: src/lib/libmd/mdX.3,v 1.30 2006/01/17 15:35:56 phk Exp $
-.\"
-.Dd February 11, 1999
-.Dt MDX 3
-.Os
-.Sh NAME
-.Nm MDXInit ,
-.Nm MDXUpdate ,
-.Nm MDXPad ,
-.Nm MDXFinal ,
-.Nm MDXEnd ,
-.Nm MDXFile ,
-.Nm MDXFileChunk ,
-.Nm MDXData
-.Nd calculate the RSA Data Security, Inc., ``MDX'' message digest
-.Sh LIBRARY
-.Lb libmd
-.Sh SYNOPSIS
-.In sys/types.h
-.In mdX.h
-.Ft void
-.Fn MDXInit "MDX_CTX *context"
-.Ft void
-.Fn MDXUpdate "MDX_CTX *context" "const void *data" "unsigned int len"
-.Ft void
-.Fn MDXPad "MDX_CTX *context"
-.Ft void
-.Fn MDXFinal "unsigned char digest[16]" "MDX_CTX *context"
-.Ft "char *"
-.Fn MDXEnd "MDX_CTX *context" "char *buf"
-.Ft "char *"
-.Fn MDXFile "const char *filename" "char *buf"
-.Ft "char *"
-.Fn MDXFileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
-.Ft "char *"
-.Fn MDXData "const void *data" "unsigned int len" "char *buf"
-.Sh DESCRIPTION
-The MDX functions calculate a 128-bit cryptographic checksum (digest)
-for any number of input bytes.
-A cryptographic checksum is a one-way
-hash-function, that is, you cannot find (except by exhaustive search)
-the input corresponding to a particular output.
-This net result is a
-.Dq fingerprint
-of the input-data, which does not disclose the actual input.
-.Pp
-MD2 is the slowest, MD4 is the fastest and MD5 is somewhere in the middle.
-MD2 can only be used for Privacy-Enhanced Mail.
-MD4 has now been broken; it should only be used where necessary for
-backward compatibility.
-MD5 has not yet (1999-02-11) been broken, but sufficient attacks have been
-made that its security is in some doubt.
-The attacks on both MD4 and MD5
-are both in the nature of finding
-.Dq collisions
-\[en]
-that is, multiple
-inputs which hash to the same value; it is still unlikely for an attacker
-to be able to determine the exact original input given a hash value.
-.Pp
-The
-.Fn MDXInit ,
-.Fn MDXUpdate ,
-and
-.Fn MDXFinal
-functions are the core functions.
-Allocate an
-.Vt MDX_CTX ,
-initialize it with
-.Fn MDXInit ,
-run over the data with
-.Fn MDXUpdate ,
-and finally extract the result using
-.Fn MDXFinal .
-.Pp
-The
-.Fn MDXPad
-function can be used to pad message data in same way
-as done by
-.Fn MDXFinal
-without terminating calculation.
-.Pp
-The
-.Fn MDXEnd
-function is a wrapper for
-.Fn MDXFinal
-which converts the return value to a 33-character
-(including the terminating '\e0')
-.Tn ASCII
-string which represents the 128 bits in hexadecimal.
-.Pp
-The
-.Fn MDXFile
-function calculates the digest of a file, and uses
-.Fn MDXEnd
-to return the result.
-If the file cannot be opened, a null pointer is returned.
-The
-.Fn MDXFileChunk
-function is similar to
-.Fn MDXFile ,
-but it only calculates the digest over a byte-range of the file specified,
-starting at
-.Fa offset
-and spanning
-.Fa length
-bytes.
-If the
-.Fa length
-parameter is specified as 0, or more than the length of the remaining part
-of the file,
-.Fn MDXFileChunk
-calculates the digest from
-.Fa offset
-to the end of file.
-The
-.Fn MDXData
-function calculates the digest of a chunk of data in memory, and uses
-.Fn MDXEnd
-to return the result.
-.Pp
-When using
-.Fn MDXEnd ,
-.Fn MDXFile ,
-or
-.Fn MDXData ,
-the
-.Fa buf
-argument can be a null pointer, in which case the returned string
-is allocated with
-.Xr malloc 3
-and subsequently must be explicitly deallocated using
-.Xr free 3
-after use.
-If the
-.Fa buf
-argument is non-null it must point to at least 33 characters of buffer space.
-.Sh SEE ALSO
-.Xr md2 3 ,
-.Xr md4 3 ,
-.Xr md5 3 ,
-.Xr sha 3
-.Rs
-.%A B. Kaliski
-.%T The MD2 Message-Digest Algorithm
-.%O RFC 1319
-.Re
-.Rs
-.%A R. Rivest
-.%T The MD4 Message-Digest Algorithm
-.%O RFC 1186
-.Re
-.Rs
-.%A R. Rivest
-.%T The MD5 Message-Digest Algorithm
-.%O RFC 1321
-.Re
-.Rs
-.%A RSA Laboratories
-.%T Frequently Asked Questions About today's Cryptography
-.%O \&<http://www.rsa.com/rsalabs/faq/>
-.Re
-.Rs
-.%A H. Dobbertin
-.%T Alf Swindles Ann
-.%J CryptoBytes
-.%N 1(3):5
-.%D 1995
-.Re
-.Rs
-.%A MJ. B. Robshaw
-.%T On Recent Results for MD2, MD4 and MD5
-.%J RSA Laboratories Bulletin
-.%N 4
-.%D November 12, 1996
-.Re
-.Sh HISTORY
-These functions appeared in
-.Fx 2.0 .
-.Sh AUTHORS
-The original MDX routines were developed by
-.Tn RSA
-Data Security, Inc., and published in the above references.
-This code is derived directly from these implementations by
-.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org
-.Pp
-Phk ristede runen.
-.Sh BUGS
-No method is known to exist which finds two files having the same hash value,
-nor to find a file with a specific hash value.
-There is on the other hand no guarantee that such a method does not exist.
-.Pp
-MD2 has only been licensed for use in Privacy Enhanced Mail.
-Use MD4 or MD5 if that is not what you are doing.
diff --git a/lib/libmd/mdXhl.c b/lib/libmd/mdXhl.c
deleted file mode 100644 (file)
index 6c12ac2..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-/* mdXhl.c * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- *
- * $FreeBSD: src/lib/libmd/mdXhl.c,v 1.19 2006/01/17 15:35:56 phk Exp $
- * $DragonFly: src/lib/libmd/mdXhl.c,v 1.3 2008/09/11 20:25:34 swildner Exp $
- *
- */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "mdX.h"
-
-char *
-MDXEnd(MDX_CTX *ctx, char *buf)
-{
-       int i;
-       unsigned char digest[LENGTH];
-       static const char hex[]="0123456789abcdef";
-
-       if (!buf)
-               buf = malloc(2*LENGTH + 1);
-       if (!buf)
-               return 0;
-       MDXFinal(digest, ctx);
-       for (i = 0; i < LENGTH; i++) {
-               buf[i+i] = hex[digest[i] >> 4];
-               buf[i+i+1] = hex[digest[i] & 0x0f];
-       }
-       buf[i+i] = '\0';
-       return buf;
-}
-
-char *
-MDXFile(const char *filename, char *buf)
-{
-       return (MDXFileChunk(filename, buf, 0, 0));
-}
-
-char *
-MDXFileChunk(const char *filename, char *buf, off_t ofs, off_t len)
-{
-       unsigned char buffer[8192];
-       MDX_CTX ctx;
-       struct stat stbuf;
-       int f, i, e;
-       off_t n;
-
-       MDXInit(&ctx);
-       f = open(filename, O_RDONLY);
-       if (f < 0)
-               return 0;
-       if (fstat(f, &stbuf) < 0)
-               return 0;
-       if (ofs > stbuf.st_size)
-               ofs = stbuf.st_size;
-       if ((len == 0) || (len > stbuf.st_size - ofs))
-               len = stbuf.st_size - ofs;
-       if (lseek(f, ofs, SEEK_SET) < 0)
-               return 0;
-       n = len;
-       i = 0;
-       while (n > 0) {
-               if (n > sizeof(buffer))
-                       i = read(f, buffer, sizeof(buffer));
-               else
-                       i = read(f, buffer, n);
-               if (i < 0) 
-                       break;
-               MDXUpdate(&ctx, buffer, i);
-               n -= i;
-       } 
-       e = errno;
-       close(f);
-       errno = e;
-       if (i < 0)
-               return 0;
-       return (MDXEnd(&ctx, buf));
-}
-
-char *
-MDXData (const void *data, unsigned int len, char *buf)
-{
-       MDX_CTX ctx;
-
-       MDXInit(&ctx);
-       MDXUpdate(&ctx,data,len);
-       return (MDXEnd(&ctx, buf));
-}
diff --git a/lib/libmd/mddriver.c b/lib/libmd/mddriver.c
deleted file mode 100644 (file)
index 0e190e6..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-/* MDDRIVER.C - test driver for MD2, MD4 and MD5
- * $FreeBSD: src/lib/libmd/mddriver.c,v 1.7 2001/09/30 21:56:22 dillon Exp $
- * $DragonFly: src/lib/libmd/mddriver.c,v 1.3 2008/09/11 20:25:34 swildner Exp $
- */
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-   rights reserved.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
- */
-
-/* The following makes MD default to MD5 if it has not already been
-     defined with C compiler flags.
- */
-#ifndef MD
-#define MD 5
-#endif
-
-#include <sys/types.h>
-
-#include <stdio.h>
-#include <time.h>
-#include <string.h>
-#if MD == 2
-#include "md2.h"
-#define MDData MD2Data
-#endif
-#if MD == 4
-#include "md4.h"
-#define MDData MD4Data
-#endif
-#if MD == 5
-#include "md5.h"
-#define MDData MD5Data
-#endif
-
-/* Digests a string and prints the result.
- */
-static void MDString (char *string)
-{
-  char buf[33];
-
-  printf ("MD%d (\"%s\") = %s\n", 
-       MD, string, MDData(string,strlen(string),buf));
-}
-
-/* Digests a reference suite of strings and prints the results.
- */
-int main(void)
-{
-  printf ("MD%d test suite:\n", MD);
-
-  MDString ("");
-  MDString ("a");
-  MDString ("abc");
-  MDString ("message digest");
-  MDString ("abcdefghijklmnopqrstuvwxyz");
-  MDString
-    ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
-  MDString
-    ("1234567890123456789012345678901234567890\
-1234567890123456789012345678901234567890");
-  return 0;
-}
diff --git a/lib/libmd/ripemd.h b/lib/libmd/ripemd.h
deleted file mode 100644 (file)
index b6791c7..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-#ifndef _RIPEMD_H_
-#define _RIPEMD_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h> /* XXX switch to machine/stdint.h and __ types */
-#include <openssl/ripemd.h>
-
-__BEGIN_DECLS
-char *RIPEMD160_End(RIPEMD160_CTX *, char *);
-char *RIPEMD160_File(const char *, char *);
-char *RIPEMD160_FileChunk(const char *, char *, off_t, off_t);
-char *RIPEMD160_Data(const void *, unsigned int, char *);
-char *RIPEMD1601_End(RIPEMD160_CTX *, char *);
-char *RIPEMD1601_File(const char *, char *);
-char *RIPEMD1601_FileChunk(const char *, char *, off_t, off_t);
-char *RIPEMD1601_Data(const void *, unsigned int, char *);
-__END_DECLS
-
-#endif
diff --git a/lib/libmd/rmd_locl.h b/lib/libmd/rmd_locl.h
deleted file mode 100644 (file)
index 49f054c..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* crypto/ripemd/rmd_locl.h */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include "ripemd.h"
-
-#undef c2nl
-#define c2nl(c,l)      (l =(((u_int32_t)(*((c)++)))<<24), \
-                        l|=(((u_int32_t)(*((c)++)))<<16), \
-                        l|=(((u_int32_t)(*((c)++)))<< 8), \
-                        l|=(((u_int32_t)(*((c)++)))    ))
-
-#undef p_c2nl
-#define p_c2nl(c,l,n)  { \
-                       switch (n) { \
-                       case 0: l =((u_int32_t)(*((c)++)))<<24; \
-                       case 1: l|=((u_int32_t)(*((c)++)))<<16; \
-                       case 2: l|=((u_int32_t)(*((c)++)))<< 8; \
-                       case 3: l|=((u_int32_t)(*((c)++))); \
-                               } \
-                       }
-
-#undef c2nl_p
-/* NOTE the pointer is not incremented at the end of this */
-#define c2nl_p(c,l,n)  { \
-                       l=0; \
-                       (c)+=n; \
-                       switch (n) { \
-                       case 3: l =((u_int32_t)(*(--(c))))<< 8; \
-                       case 2: l|=((u_int32_t)(*(--(c))))<<16; \
-                       case 1: l|=((u_int32_t)(*(--(c))))<<24; \
-                               } \
-                       }
-
-#undef p_c2nl_p
-#define p_c2nl_p(c,l,sc,len) { \
-                       switch (sc) \
-                               { \
-                       case 0: l =((u_int32_t)(*((c)++)))<<24; \
-                               if (--len == 0) break; \
-                       case 1: l|=((u_int32_t)(*((c)++)))<<16; \
-                               if (--len == 0) break; \
-                       case 2: l|=((u_int32_t)(*((c)++)))<< 8; \
-                               } \
-                       }
-
-#undef nl2c
-#define nl2c(l,c)      (*((c)++)=(unsigned char)(((l)>>24)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-                        *((c)++)=(unsigned char)(((l)    )&0xff))
-
-#undef c2l
-#define c2l(c,l)       (l =(((u_int32_t)(*((c)++)))    ), \
-                        l|=(((u_int32_t)(*((c)++)))<< 8), \
-                        l|=(((u_int32_t)(*((c)++)))<<16), \
-                        l|=(((u_int32_t)(*((c)++)))<<24))
-
-#undef p_c2l
-#define p_c2l(c,l,n)   { \
-                       switch (n) { \
-                       case 0: l =((u_int32_t)(*((c)++))); \
-                       case 1: l|=((u_int32_t)(*((c)++)))<< 8; \
-                       case 2: l|=((u_int32_t)(*((c)++)))<<16; \
-                       case 3: l|=((u_int32_t)(*((c)++)))<<24; \
-                               } \
-                       }
-
-#undef c2l_p
-/* NOTE the pointer is not incremented at the end of this */
-#define c2l_p(c,l,n)   { \
-                       l=0; \
-                       (c)+=n; \
-                       switch (n) { \
-                       case 3: l =((u_int32_t)(*(--(c))))<<16; \
-                       case 2: l|=((u_int32_t)(*(--(c))))<< 8; \
-                       case 1: l|=((u_int32_t)(*(--(c)))); \
-                               } \
-                       }
-
-#undef p_c2l_p
-#define p_c2l_p(c,l,sc,len) { \
-                       switch (sc) \
-                               { \
-                       case 0: l =((u_int32_t)(*((c)++))); \
-                               if (--len == 0) break; \
-                       case 1: l|=((u_int32_t)(*((c)++)))<< 8; \
-                               if (--len == 0) break; \
-                       case 2: l|=((u_int32_t)(*((c)++)))<<16; \
-                               } \
-                       }
-
-#undef l2c
-#define l2c(l,c)       (*((c)++)=(unsigned char)(((l)    )&0xff), \
-                        *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>24)&0xff))
-
-#undef ROTATE
-#if defined(WIN32)
-#define ROTATE(a,n)     _lrotl(a,n)
-#else
-#define ROTATE(a,n)     (((a)<<(n))|(((a)&0xffffffff)>>(32-(n))))
-#endif
-
-/* A nice byte order reversal from Wei Dai <weidai@eskimo.com> */
-#if defined(WIN32)
-/* 5 instructions with rotate instruction, else 9 */
-#define Endian_Reverse32(a) \
-       { \
-       u_int32_t l=(a); \
-       (a)=((ROTATE(l,8)&0x00FF00FF)|(ROTATE(l,24)&0xFF00FF00)); \
-       }
-#else
-/* 6 instructions with rotate instruction, else 8 */
-#define Endian_Reverse32(a) \
-       { \
-       u_int32_t l=(a); \
-       l=(((l&0xFF00FF00)>>8L)|((l&0x00FF00FF)<<8L)); \
-       (a)=ROTATE(l,16L); \
-       }
-#endif
-
-#define F1(x,y,z)       ((x)^(y)^(z))
-#define F2(x,y,z)      (((x)&(y))|((~x)&z))
-#define F3(x,y,z)      (((x)|(~y))^(z))
-#define F4(x,y,z)      (((x)&(z))|((y)&(~(z))))
-#define F5(x,y,z)       ((x)^((y)|(~(z))))
-
-#define RIPEMD160_A    0x67452301L
-#define RIPEMD160_B    0xEFCDAB89L
-#define RIPEMD160_C    0x98BADCFEL
-#define RIPEMD160_D    0x10325476L
-#define RIPEMD160_E    0xC3D2E1F0L
-
-#include "rmdconst.h"
-
-#define RIP1(a,b,c,d,e,w,s) { \
-       a+=F1(b,c,d)+X[w]; \
-        a=ROTATE(a,s)+e; \
-        c=ROTATE(c,10); }
-
-#define RIP2(a,b,c,d,e,w,s,K) { \
-       a+=F2(b,c,d)+X[w]+K; \
-        a=ROTATE(a,s)+e; \
-        c=ROTATE(c,10); }
-
-#define RIP3(a,b,c,d,e,w,s,K) { \
-       a+=F3(b,c,d)+X[w]+K; \
-        a=ROTATE(a,s)+e; \
-        c=ROTATE(c,10); }
-
-#define RIP4(a,b,c,d,e,w,s,K) { \
-       a+=F4(b,c,d)+X[w]+K; \
-        a=ROTATE(a,s)+e; \
-        c=ROTATE(c,10); }
-
-#define RIP5(a,b,c,d,e,w,s,K) { \
-       a+=F5(b,c,d)+X[w]+K; \
-        a=ROTATE(a,s)+e; \
-        c=ROTATE(c,10); }
-
diff --git a/lib/libmd/rmdconst.h b/lib/libmd/rmdconst.h
deleted file mode 100644 (file)
index 59c48de..0000000
+++ /dev/null
@@ -1,399 +0,0 @@
-/* crypto/ripemd/rmdconst.h */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-#define KL0 0x00000000L
-#define KL1 0x5A827999L
-#define KL2 0x6ED9EBA1L
-#define KL3 0x8F1BBCDCL
-#define KL4 0xA953FD4EL
-
-#define KR0 0x50A28BE6L
-#define KR1 0x5C4DD124L
-#define KR2 0x6D703EF3L
-#define KR3 0x7A6D76E9L
-#define KR4 0x00000000L
-
-#define WL00  0
-#define SL00 11
-#define WL01  1
-#define SL01 14
-#define WL02  2
-#define SL02 15
-#define WL03  3
-#define SL03 12
-#define WL04  4
-#define SL04  5
-#define WL05  5
-#define SL05  8
-#define WL06  6
-#define SL06  7
-#define WL07  7
-#define SL07  9
-#define WL08  8
-#define SL08 11
-#define WL09  9
-#define SL09 13
-#define WL10 10
-#define SL10 14
-#define WL11 11
-#define SL11 15
-#define WL12 12
-#define SL12  6
-#define WL13 13
-#define SL13  7
-#define WL14 14
-#define SL14  9
-#define WL15 15
-#define SL15  8
-
-#define WL16  7
-#define SL16  7
-#define WL17  4
-#define SL17  6
-#define WL18 13
-#define SL18  8
-#define WL19  1
-#define SL19 13
-#define WL20 10
-#define SL20 11
-#define WL21  6
-#define SL21  9
-#define WL22 15
-#define SL22  7
-#define WL23  3
-#define SL23 15
-#define WL24 12
-#define SL24  7
-#define WL25  0
-#define SL25 12
-#define WL26  9
-#define SL26 15
-#define WL27  5
-#define SL27  9
-#define WL28  2
-#define SL28 11
-#define WL29 14
-#define SL29  7
-#define WL30 11
-#define SL30 13
-#define WL31  8
-#define SL31 12
-
-#define WL32  3
-#define SL32 11
-#define WL33 10
-#define SL33 13
-#define WL34 14
-#define SL34  6
-#define WL35  4
-#define SL35  7
-#define WL36  9
-#define SL36 14
-#define WL37 15
-#define SL37  9
-#define WL38  8
-#define SL38 13
-#define WL39  1
-#define SL39 15
-#define WL40  2
-#define SL40 14
-#define WL41  7
-#define SL41  8
-#define WL42  0
-#define SL42 13
-#define WL43  6
-#define SL43  6
-#define WL44 13
-#define SL44  5
-#define WL45 11
-#define SL45 12
-#define WL46  5
-#define SL46  7
-#define WL47 12
-#define SL47  5
-
-#define WL48  1
-#define SL48 11
-#define WL49  9
-#define SL49 12
-#define WL50 11
-#define SL50 14
-#define WL51 10
-#define SL51 15
-#define WL52  0
-#define SL52 14
-#define WL53  8
-#define SL53 15
-#define WL54 12
-#define SL54  9
-#define WL55  4
-#define SL55  8
-#define WL56 13
-#define SL56  9
-#define WL57  3
-#define SL57 14
-#define WL58  7
-#define SL58  5
-#define WL59 15
-#define SL59  6
-#define WL60 14
-#define SL60  8
-#define WL61  5
-#define SL61  6
-#define WL62  6
-#define SL62  5
-#define WL63  2
-#define SL63 12
-
-#define WL64  4
-#define SL64  9
-#define WL65  0
-#define SL65 15
-#define WL66  5
-#define SL66  5
-#define WL67  9
-#define SL67 11
-#define WL68  7
-#define SL68  6
-#define WL69 12
-#define SL69  8
-#define WL70  2
-#define SL70 13
-#define WL71 10
-#define SL71 12
-#define WL72 14
-#define SL72  5
-#define WL73  1
-#define SL73 12
-#define WL74  3
-#define SL74 13
-#define WL75  8
-#define SL75 14
-#define WL76 11
-#define SL76 11
-#define WL77  6
-#define SL77  8
-#define WL78 15
-#define SL78  5
-#define WL79 13
-#define SL79  6
-
-#define WR00  5
-#define SR00  8
-#define WR01 14
-#define SR01  9
-#define WR02  7
-#define SR02  9
-#define WR03  0
-#define SR03 11
-#define WR04  9
-#define SR04 13
-#define WR05  2
-#define SR05 15
-#define WR06 11
-#define SR06 15
-#define WR07  4
-#define SR07  5
-#define WR08 13
-#define SR08  7
-#define WR09  6
-#define SR09  7
-#define WR10 15
-#define SR10  8
-#define WR11  8
-#define SR11 11
-#define WR12  1
-#define SR12 14
-#define WR13 10
-#define SR13 14
-#define WR14  3
-#define SR14 12
-#define WR15 12
-#define SR15  6
-
-#define WR16  6
-#define SR16  9
-#define WR17 11
-#define SR17 13
-#define WR18  3
-#define SR18 15
-#define WR19  7
-#define SR19  7
-#define WR20  0
-#define SR20 12
-#define WR21 13
-#define SR21  8
-#define WR22  5
-#define SR22  9
-#define WR23 10
-#define SR23 11
-#define WR24 14
-#define SR24  7
-#define WR25 15
-#define SR25  7
-#define WR26  8
-#define SR26 12
-#define WR27 12
-#define SR27  7
-#define WR28  4
-#define SR28  6
-#define WR29  9
-#define SR29 15
-#define WR30  1
-#define SR30 13
-#define WR31  2
-#define SR31 11
-
-#define WR32 15
-#define SR32  9
-#define WR33  5
-#define SR33  7
-#define WR34  1
-#define SR34 15
-#define WR35  3
-#define SR35 11
-#define WR36  7
-#define SR36  8
-#define WR37 14
-#define SR37  6
-#define WR38  6
-#define SR38  6
-#define WR39  9
-#define SR39 14
-#define WR40 11
-#define SR40 12
-#define WR41  8
-#define SR41 13
-#define WR42 12
-#define SR42  5
-#define WR43  2
-#define SR43 14
-#define WR44 10
-#define SR44 13
-#define WR45  0
-#define SR45 13
-#define WR46  4
-#define SR46  7
-#define WR47 13
-#define SR47  5
-
-#define WR48  8
-#define SR48 15
-#define WR49  6
-#define SR49  5
-#define WR50  4
-#define SR50  8
-#define WR51  1
-#define SR51 11
-#define WR52  3
-#define SR52 14
-#define WR53 11
-#define SR53 14
-#define WR54 15
-#define SR54  6
-#define WR55  0
-#define SR55 14
-#define WR56  5
-#define SR56  6
-#define WR57 12
-#define SR57  9
-#define WR58  2
-#define SR58 12
-#define WR59 13
-#define SR59  9
-#define WR60  9
-#define SR60 12
-#define WR61  7
-#define SR61  5
-#define WR62 10
-#define SR62 15
-#define WR63 14
-#define SR63  8
-
-#define WR64 12
-#define SR64  8
-#define WR65 15
-#define SR65  5
-#define WR66 10
-#define SR66 12
-#define WR67  4
-#define SR67  9
-#define WR68  1
-#define SR68 12
-#define WR69  5
-#define SR69  5
-#define WR70  8
-#define SR70 14
-#define WR71  7
-#define SR71  6
-#define WR72  6
-#define SR72  8
-#define WR73  2
-#define SR73 13
-#define WR74 13
-#define SR74  6
-#define WR75 14
-#define SR75  5
-#define WR76  0
-#define SR76 15
-#define WR77  3
-#define SR77 13
-#define WR78  9
-#define SR78 11
-#define WR79 11
-#define SR79 11
-
diff --git a/lib/libmd/sha.3 b/lib/libmd/sha.3
deleted file mode 100644 (file)
index 9b8667c..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-.\"
-.\" ----------------------------------------------------------------------------
-.\" "THE BEER-WARE LICENSE" (Revision 42):
-.\" <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
-.\" can do whatever you want with this stuff. If we meet some day, and you think
-.\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
-.\" ----------------------------------------------------------------------------
-.\"
-.\"    From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp
-.\" $FreeBSD: src/lib/libmd/sha.3,v 1.19 2005/06/16 19:01:06 ru Exp $
-.\"
-.Dd February 25, 1999
-.Dt SHA 3
-.Os
-.Sh NAME
-.Nm SHA_Init ,
-.Nm SHA_Update ,
-.Nm SHA_Final ,
-.Nm SHA_End ,
-.Nm SHA_File ,
-.Nm SHA_FileChunk ,
-.Nm SHA_Data ,
-.Nm SHA1_Init ,
-.Nm SHA1_Update ,
-.Nm SHA1_Final ,
-.Nm SHA1_End ,
-.Nm SHA1_File ,
-.Nm SHA1_FileChunk ,
-.Nm SHA1_Data
-.Nd calculate the FIPS 160 and 160-1 ``SHA'' message digests
-.Sh LIBRARY
-.Lb libmd
-.Sh SYNOPSIS
-.In sys/types.h
-.In sha.h
-.Ft void
-.Fn SHA_Init "SHA_CTX *context"
-.Ft void
-.Fn SHA_Update "SHA_CTX *context" "const void *data" "size_t len"
-.Ft void
-.Fn SHA_Final "unsigned char digest[20]" "SHA_CTX *context"
-.Ft "char *"
-.Fn SHA_End "SHA_CTX *context" "char *buf"
-.Ft "char *"
-.Fn SHA_File "const char *filename" "char *buf"
-.Ft "char *"
-.Fn SHA_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
-.Ft "char *"
-.Fn SHA_Data "const void *data" "unsigned int len" "char *buf"
-.Ft void
-.Fn SHA1_Init "SHA_CTX *context"
-.Ft void
-.Fn SHA1_Update "SHA_CTX *context" "const void *data" "size_t len"
-.Ft void
-.Fn SHA1_Final "unsigned char digest[20]" "SHA_CTX *context"
-.Ft "char *"
-.Fn SHA1_End "SHA_CTX *context" "char *buf"
-.Ft "char *"
-.Fn SHA1_File "const char *filename" "char *buf"
-.Ft "char *"
-.Fn SHA1_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
-.Ft "char *"
-.Fn SHA1_Data "const void *data" "unsigned int len" "char *buf"
-.Sh DESCRIPTION
-The
-.Li SHA_
-and
-.Li SHA1_
-functions calculate a 160-bit cryptographic checksum (digest)
-for any number of input bytes.
-A cryptographic checksum is a one-way
-hash function; that is, it is computationally impractical to find
-the input corresponding to a particular output.
-This net result is
-a
-.Dq fingerprint
-of the input-data, which does not disclose the actual input.
-.Pp
-.Tn SHA
-(or
-.Tn SHA-0 )
-is the original Secure Hash Algorithm specified in
-.Tn FIPS
-160.
-It was quickly proven insecure, and has been superseded by
-.Tn SHA-1 .
-.Tn SHA-0
-is included for compatibility purposes only.
-.Pp
-The
-.Fn SHA1_Init ,
-.Fn SHA1_Update ,
-and
-.Fn SHA1_Final
-functions are the core functions.
-Allocate an
-.Vt SHA_CTX ,
-initialize it with
-.Fn SHA1_Init ,
-run over the data with
-.Fn SHA1_Update ,
-and finally extract the result using
-.Fn SHA1_Final .
-.Pp
-.Fn SHA1_End
-is a wrapper for
-.Fn SHA1_Final
-which converts the return value to a 41-character
-(including the terminating '\e0')
-.Tn ASCII
-string which represents the 160 bits in hexadecimal.
-.Pp
-.Fn SHA1_File
-calculates the digest of a file, and uses
-.Fn SHA1_End
-to return the result.
-If the file cannot be opened, a null pointer is returned.
-.Fn SHA1_FileChunk
-is similar to
-.Fn SHA1_File ,
-but it only calculates the digest over a byte-range of the file specified,
-starting at
-.Fa offset
-and spanning
-.Fa length
-bytes.
-If the
-.Fa length
-parameter is specified as 0, or more than the length of the remaining part
-of the file,
-.Fn SHA1_FileChunk
-calculates the digest from
-.Fa offset
-to the end of file.
-.Fn SHA1_Data
-calculates the digest of a chunk of data in memory, and uses
-.Fn SHA1_End
-to return the result.
-.Pp
-When using
-.Fn SHA1_End ,
-.Fn SHA1_File ,
-or
-.Fn SHA1_Data ,
-the
-.Fa buf
-argument can be a null pointer, in which case the returned string
-is allocated with
-.Xr malloc 3
-and subsequently must be explicitly deallocated using
-.Xr free 3
-after use.
-If the
-.Fa buf
-argument is non-null it must point to at least 41 characters of buffer space.
-.Sh SEE ALSO
-.Xr md2 3 ,
-.Xr md4 3 ,
-.Xr md5 3 ,
-.Xr ripemd 3 ,
-.Xr sha256 3
-.Sh HISTORY
-These functions appeared in
-.Fx 4.0 .
-.Sh AUTHORS
-The core hash routines were implemented by Eric Young based on the
-published
-.Tn FIPS
-standards.
-.Sh BUGS
-No method is known to exist which finds two files having the same hash value,
-nor to find a file with a specific hash value.
-There is on the other hand no guarantee that such a method does not exist.
-.Pp
-The
-.Tn IA32
-(Intel) implementation of
-.Tn SHA-1
-makes heavy use of the
-.Ql bswapl
-instruction, which is not present on the original 80386.
-Attempts to use
-.Tn SHA-1
-on those processors will cause an illegal instruction trap.
-(Arguably, the kernel should simply emulate this instruction.)
diff --git a/lib/libmd/sha.h b/lib/libmd/sha.h
deleted file mode 100644 (file)
index 1565a9e..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-#ifndef _SHA_H_
-#define _SHA_H_
-
-#include <sys/cdefs.h>
-#include <sys/types.h> /* XXX switch to machine/stdint.h and __ types */
-#include <openssl/sha.h>
-
-#define        SHA_BLOCK       16
-#define        SHA_LENGTH_BLOCK 8
-
-#define        SHA1_CTX        SHA_CTX
-
-__BEGIN_DECLS
-/* these three are not included in libressl for reasons unknown */
-int SHA_Init(SHA_CTX *c);
-int SHA_Update(SHA_CTX *c, const void *data, size_t len);
-int SHA_Final(unsigned char *md, SHA_CTX *c);
-
-#if 0
-char *SHA_End(SHA_CTX *, char *);
-char *SHA_File(const char *, char *);
-char *SHA_FileChunk(const char *, char *, off_t, off_t);
-char *SHA_Data(const void *, unsigned int, char *);
-char *SHA1_End(SHA_CTX *, char *);
-char *SHA1_File(const char *, char *);
-char *SHA1_FileChunk(const char *, char *, off_t, off_t);
-char *SHA1_Data(const void *, unsigned int, char *);
-#endif
-__END_DECLS
-
-#endif
diff --git a/lib/libmd/sha256.3 b/lib/libmd/sha256.3
deleted file mode 100644 (file)
index fe2da5d..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-.\"
-.\" ----------------------------------------------------------------------------
-.\" "THE BEER-WARE LICENSE" (Revision 42):
-.\" <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
-.\" can do whatever you want with this stuff. If we meet some day, and you think
-.\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
-.\" ----------------------------------------------------------------------------
-.\"
-.\"    From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp
-.\" $FreeBSD: src/lib/libmd/sha256.3,v 1.4 2005/11/17 13:00:00 ru Exp $
-.\"
-.Dd April 29, 2006
-.Dt SHA256 3
-.Os
-.Sh NAME
-.Nm SHA256_Init ,
-.Nm SHA256_Update ,
-.Nm SHA256_Final ,
-.Nm SHA256_End ,
-.Nm SHA256_File ,
-.Nm SHA256_FileChunk ,
-.Nm SHA256_Data
-.Nd calculate the FIPS 180-2 ``SHA-256'' message digest
-.Sh LIBRARY
-.Lb libmd
-.Sh SYNOPSIS
-.In sys/types.h
-.In sha256.h
-.Ft void
-.Fn SHA256_Init "SHA256_CTX *context"
-.Ft void
-.Fn SHA256_Update "SHA256_CTX *context" "const void *data" "size_t len"
-.Ft void
-.Fn SHA256_Final "unsigned char digest[32]" "SHA256_CTX *context"
-.Ft "char *"
-.Fn SHA256_End "SHA256_CTX *context" "char *buf"
-.Ft "char *"
-.Fn SHA256_File "const char *filename" "char *buf"
-.Ft "char *"
-.Fn SHA256_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
-.Ft "char *"
-.Fn SHA256_Data "const void *data" "unsigned int len" "char *buf"
-.Sh DESCRIPTION
-The
-.Li SHA256_
-functions calculate a 256-bit cryptographic checksum (digest)
-for any number of input bytes.
-A cryptographic checksum is a one-way
-hash function; that is, it is computationally impractical to find
-the input corresponding to a particular output.
-This net result is
-a
-.Dq fingerprint
-of the input-data, which does not disclose the actual input.
-.Pp
-The
-.Fn SHA256_Init ,
-.Fn SHA256_Update ,
-and
-.Fn SHA256_Final
-functions are the core functions.
-Allocate an
-.Vt SHA256_CTX ,
-initialize it with
-.Fn SHA256_Init ,
-run over the data with
-.Fn SHA256_Update ,
-and finally extract the result using
-.Fn SHA256_Final .
-.Pp
-.Fn SHA256_End
-is a wrapper for
-.Fn SHA256_Final
-which converts the return value to a 65-character
-(including the terminating '\e0')
-.Tn ASCII
-string which represents the 256 bits in hexadecimal.
-.Pp
-.Fn SHA256_File
-calculates the digest of a file, and uses
-.Fn SHA256_End
-to return the result.
-If the file cannot be opened, a null pointer is returned.
-.Fn SHA256_FileChunk
-is similar to
-.Fn SHA256_File ,
-but it only calculates the digest over a byte-range of the file specified,
-starting at
-.Fa offset
-and spanning
-.Fa length
-bytes.
-If the
-.Fa length
-parameter is specified as 0, or more than the length of the remaining part
-of the file,
-.Fn SHA256_FileChunk
-calculates the digest from
-.Fa offset
-to the end of file.
-.Fn SHA256_Data
-calculates the digest of a chunk of data in memory, and uses
-.Fn SHA256_End
-to return the result.
-.Pp
-When using
-.Fn SHA256_End ,
-.Fn SHA256_File ,
-or
-.Fn SHA256_Data ,
-the
-.Fa buf
-argument can be a null pointer, in which case the returned string
-is allocated with
-.Xr malloc 3
-and subsequently must be explicitly deallocated using
-.Xr free 3
-after use.
-If the
-.Fa buf
-argument is non-null it must point to at least 65 characters of buffer space.
-.Sh SEE ALSO
-.Xr md2 3 ,
-.Xr md4 3 ,
-.Xr md5 3 ,
-.Xr ripemd 3 ,
-.Xr sha 3
-.Sh HISTORY
-These functions appeared in
-.Fx 4.0 .
-.Sh AUTHORS
-The core hash routines were implemented by Colin Percival based on
-the published
-.Tn FIPS 180-2
-standard.
-.Sh BUGS
-No method is known to exist which finds two files having the same hash value,
-nor to find a file with a specific hash value.
-There is on the other hand no guarantee that such a method does not exist.
diff --git a/lib/libmd/sha256.h b/lib/libmd/sha256.h
deleted file mode 100644 (file)
index e3720bf..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-#ifndef _SHA256_H_
-#define _SHA256_H_
-
-#include <sys/types.h>
-#include <openssl/sha.h>
-
-__BEGIN_DECLS
-char *SHA256_End(SHA256_CTX *, char *);
-char *SHA256_File(const char *, char *);
-char *SHA256_FileChunk(const char *, char *, off_t, off_t);
-char *SHA256_Data(const void *, unsigned int, char *);
-__END_DECLS
-
-#endif
diff --git a/lib/libmd/sha512.3 b/lib/libmd/sha512.3
deleted file mode 100644 (file)
index 2262d65..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-.\"
-.\" ----------------------------------------------------------------------------
-.\" "THE BEER-WARE LICENSE" (Revision 42):
-.\" <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
-.\" can do whatever you want with this stuff. If we meet some day, and you think
-.\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
-.\" ----------------------------------------------------------------------------
-.\"
-.\"    From: Id: mdX.3,v 1.14 1999/02/11 20:31:49 wollman Exp
-.\" $FreeBSD: src/lib/libmd/sha512.3,v 1.4 2005/11/17 13:00:00 ru Exp $
-.\"
-.Dd July 4, 2010
-.Dt SHA512 3
-.Os
-.Sh NAME
-.Nm SHA512_Init ,
-.Nm SHA512_Update ,
-.Nm SHA512_Final ,
-.Nm SHA512_End ,
-.Nm SHA512_File ,
-.Nm SHA512_FileChunk ,
-.Nm SHA512_Data
-.Nd calculate the FIPS 180-2 ``SHA-512'' message digest
-.Sh LIBRARY
-.Lb libmd
-.Sh SYNOPSIS
-.In sys/types.h
-.In sha512.h
-.Ft void
-.Fn SHA512_Init "SHA512_CTX *context"
-.Ft void
-.Fn SHA512_Update "SHA512_CTX *context" "const void *data" "size_t len"
-.Ft void
-.Fn SHA512_Final "unsigned char digest[32]" "SHA512_CTX *context"
-.Ft "char *"
-.Fn SHA512_End "SHA512_CTX *context" "char *buf"
-.Ft "char *"
-.Fn SHA512_File "const char *filename" "char *buf"
-.Ft "char *"
-.Fn SHA512_FileChunk "const char *filename" "char *buf" "off_t offset" "off_t length"
-.Ft "char *"
-.Fn SHA512_Data "const void *data" "unsigned int len" "char *buf"
-.Sh DESCRIPTION
-The
-.Li SHA512_
-functions calculate a 512-bit cryptographic checksum (digest)
-for any number of input bytes.
-A cryptographic checksum is a one-way
-hash function; that is, it is computationally impractical to find
-the input corresponding to a particular output.
-This net result is
-a
-.Dq fingerprint
-of the input-data, which does not disclose the actual input.
-.Pp
-The
-.Fn SHA512_Init ,
-.Fn SHA512_Update ,
-and
-.Fn SHA512_Final
-functions are the core functions.
-Allocate an
-.Vt SHA512_CTX ,
-initialize it with
-.Fn SHA512_Init ,
-run over the data with
-.Fn SHA512_Update ,
-and finally extract the result using
-.Fn SHA512_Final .
-.Pp
-.Fn SHA512_End
-is a wrapper for
-.Fn SHA512_Final
-which converts the return value to a 65-character
-(including the terminating '\e0')
-.Tn ASCII
-string which represents the 512 bits in hexadecimal.
-.Pp
-.Fn SHA512_File
-calculates the digest of a file, and uses
-.Fn SHA512_End
-to return the result.
-If the file cannot be opened, a null pointer is returned.
-.Fn SHA512_FileChunk
-is similar to
-.Fn SHA512_File ,
-but it only calculates the digest over a byte-range of the file specified,
-starting at
-.Fa offset
-and spanning
-.Fa length
-bytes.
-If the
-.Fa length
-parameter is specified as 0, or more than the length of the remaining part
-of the file,
-.Fn SHA512_FileChunk
-calculates the digest from
-.Fa offset
-to the end of file.
-.Fn SHA512_Data
-calculates the digest of a chunk of data in memory, and uses
-.Fn SHA512_End
-to return the result.
-.Pp
-When using
-.Fn SHA512_End ,
-.Fn SHA512_File ,
-or
-.Fn SHA512_Data ,
-the
-.Fa buf
-argument can be a null pointer, in which case the returned string
-is allocated with
-.Xr malloc 3
-and subsequently must be explicitly deallocated using
-.Xr free 3
-after use.
-If the
-.Fa buf
-argument is non-null it must point to at least 65 characters of buffer space.
-.Sh SEE ALSO
-.Xr md2 3 ,
-.Xr md4 3 ,
-.Xr md5 3 ,
-.Xr ripemd 3 ,
-.Xr sha 3
-.Sh HISTORY
-These functions appeared in
-.Fx 4.0 .
-.Sh AUTHORS
-The core hash routines were implemented by Colin Percival based on
-the published
-.Tn FIPS 180-2
-standard.
-.Sh BUGS
-No method is known to exist which finds two files having the same hash value,
-nor to find a file with a specific hash value.
-There is on the other hand no guarantee that such a method does not exist.
diff --git a/lib/libmd/sha512.h b/lib/libmd/sha512.h
deleted file mode 100644 (file)
index 2af9ec0..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2016 The DragonFly Project.  All rights reserved.
- *
- * This code is derived from software contributed to The DragonFly Project
- * by Matthew Dillon <dillon@backplane.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- * 3. Neither the name of The DragonFly Project nor the names of its
- *    contributors may be used to endorse or promote products derived
- *    from this software without specific, prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
- * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-/*
- * libmd shims for openssl + non-conflicting old API functions.
- */
-#ifndef _SHA512_H_
-#define _SHA512_H_
-
-#include <sys/types.h>
-#include <openssl/sha.h>
-
-#define SHA512_BLOCK_LENGTH            128
-#define SHA512_DIGEST_STRING_LENGTH    (SHA512_DIGEST_LENGTH * 2 + 1)
-
-__BEGIN_DECLS
-char *SHA512_End(SHA512_CTX *, char *);
-char *SHA512_Data(const void *, unsigned int, char *);
-char *SHA512_File(const char *, char *);
-char *SHA512_FileChunk(const char *, char *, off_t, off_t);
-__END_DECLS
-
-#endif
diff --git a/lib/libmd/sha_locl.h b/lib/libmd/sha_locl.h
deleted file mode 100644 (file)
index 461c9ea..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-/* crypto/sha/sha_locl.h */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#ifdef undef
-/* one or the other needs to be defined */
-#ifndef SHA_1 /* FIPE 180-1 */
-#define SHA_0 /* FIPS 180   */
-#endif
-#endif
-
-#define ULONG  unsigned long
-#define UCHAR  unsigned char
-#define UINT   unsigned int
-
-#ifdef NOCONST
-#define const
-#endif
-
-#undef c2nl
-#define c2nl(c,l)      (l =(((unsigned long)(*((c)++)))<<24), \
-                        l|=(((unsigned long)(*((c)++)))<<16), \
-                        l|=(((unsigned long)(*((c)++)))<< 8), \
-                        l|=(((unsigned long)(*((c)++)))    ))
-
-#undef p_c2nl
-#define p_c2nl(c,l,n)  { \
-                       switch (n) { \
-                       case 0: l =((unsigned long)(*((c)++)))<<24; \
-                       case 1: l|=((unsigned long)(*((c)++)))<<16; \
-                       case 2: l|=((unsigned long)(*((c)++)))<< 8; \
-                       case 3: l|=((unsigned long)(*((c)++))); \
-                               } \
-                       }
-
-#undef c2nl_p
-/* NOTE the pointer is not incremented at the end of this */
-#define c2nl_p(c,l,n)  { \
-                       l=0; \
-                       (c)+=n; \
-                       switch (n) { \
-                       case 3: l =((unsigned long)(*(--(c))))<< 8; \
-                       case 2: l|=((unsigned long)(*(--(c))))<<16; \
-                       case 1: l|=((unsigned long)(*(--(c))))<<24; \
-                               } \
-                       }
-
-#undef p_c2nl_p
-#define p_c2nl_p(c,l,sc,len) { \
-                       switch (sc) \
-                               { \
-                       case 0: l =((unsigned long)(*((c)++)))<<24; \
-                               if (--len == 0) break; \
-                       case 1: l|=((unsigned long)(*((c)++)))<<16; \
-                               if (--len == 0) break; \
-                       case 2: l|=((unsigned long)(*((c)++)))<< 8; \
-                               } \
-                       }
-
-#undef nl2c
-#define nl2c(l,c)      (*((c)++)=(unsigned char)(((l)>>24)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-                        *((c)++)=(unsigned char)(((l)    )&0xff))
-
-#undef c2l
-#define c2l(c,l)       (l =(((unsigned long)(*((c)++)))    ), \
-                        l|=(((unsigned long)(*((c)++)))<< 8), \
-                        l|=(((unsigned long)(*((c)++)))<<16), \
-                        l|=(((unsigned long)(*((c)++)))<<24))
-
-#undef p_c2l
-#define p_c2l(c,l,n)   { \
-                       switch (n) { \
-                       case 0: l =((unsigned long)(*((c)++))); \
-                       case 1: l|=((unsigned long)(*((c)++)))<< 8; \
-                       case 2: l|=((unsigned long)(*((c)++)))<<16; \
-                       case 3: l|=((unsigned long)(*((c)++)))<<24; \
-                               } \
-                       }
-
-#undef c2l_p
-/* NOTE the pointer is not incremented at the end of this */
-#define c2l_p(c,l,n)   { \
-                       l=0; \
-                       (c)+=n; \
-                       switch (n) { \
-                       case 3: l =((unsigned long)(*(--(c))))<<16; \
-                       case 2: l|=((unsigned long)(*(--(c))))<< 8; \
-                       case 1: l|=((unsigned long)(*(--(c)))); \
-                               } \
-                       }
-
-#undef p_c2l_p
-#define p_c2l_p(c,l,sc,len) { \
-                       switch (sc) \
-                               { \
-                       case 0: l =((unsigned long)(*((c)++))); \
-                               if (--len == 0) break; \
-                       case 1: l|=((unsigned long)(*((c)++)))<< 8; \
-                               if (--len == 0) break; \
-                       case 2: l|=((unsigned long)(*((c)++)))<<16; \
-                               } \
-                       }
-
-#undef l2c
-#define l2c(l,c)       (*((c)++)=(unsigned char)(((l)    )&0xff), \
-                        *((c)++)=(unsigned char)(((l)>> 8)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>16)&0xff), \
-                        *((c)++)=(unsigned char)(((l)>>24)&0xff))
-
-#undef ROTATE
-#if defined(WIN32)
-#define ROTATE(a,n)     _lrotl(a,n)
-#else
-#define ROTATE(a,n)     (((a)<<(n))|(((a)&0xffffffff)>>(32-(n))))
-#endif
-
-/* A nice byte order reversal from Wei Dai <weidai@eskimo.com> */
-#if defined(WIN32)
-/* 5 instructions with rotate instruction, else 9 */
-#define Endian_Reverse32(a) \
-       { \
-       unsigned long l=(a); \
-       (a)=((ROTATE(l,8)&0x00FF00FF)|(ROTATE(l,24)&0xFF00FF00)); \
-       }
-#else
-/* 6 instructions with rotate instruction, else 8 */
-#define Endian_Reverse32(a) \
-       { \
-       unsigned long l=(a); \
-       l=(((l&0xFF00FF00)>>8L)|((l&0x00FF00FF)<<8L)); \
-       (a)=ROTATE(l,16L); \
-       }
-#endif
-
-/* As  pointed out by Wei Dai <weidai@eskimo.com>, F() below can be
- * simplified to the code in F_00_19.  Wei attributes these optimisations
- * to Peter Gutmann's SHS code, and he attributes it to Rich Schroeppel.
- * #define F(x,y,z) (((x) & (y))  |  ((~(x)) & (z)))
- * I've just become aware of another tweak to be made, again from Wei Dai,
- * in F_40_59, (x&a)|(y&a) -> (x|y)&a
- */
-#define        F_00_19(b,c,d)  ((((c) ^ (d)) & (b)) ^ (d)) 
-#define        F_20_39(b,c,d)  ((b) ^ (c) ^ (d))
-#define F_40_59(b,c,d) (((b) & (c)) | (((b)|(c)) & (d))) 
-#define        F_60_79(b,c,d)  F_20_39(b,c,d)
-
-#ifdef SHA_0
-#undef Xupdate
-#define Xupdate(a,i,ia,ib,ic,id) X[(i)&0x0f]=(a)=\
-       (ia[(i)&0x0f]^ib[((i)+2)&0x0f]^ic[((i)+8)&0x0f]^id[((i)+13)&0x0f]);
-#endif
-#ifdef SHA_1
-#undef Xupdate
-#define Xupdate(a,i,ia,ib,ic,id) (a)=\
-       (ia[(i)&0x0f]^ib[((i)+2)&0x0f]^ic[((i)+8)&0x0f]^id[((i)+13)&0x0f]);\
-       X[(i)&0x0f]=(a)=ROTATE((a),1);
-#endif
-
-#define BODY_00_15(i,a,b,c,d,e,f,xa) \
-       (f)=xa[i]+(e)+K_00_19+ROTATE((a),5)+F_00_19((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
-#define BODY_16_19(i,a,b,c,d,e,f,xa,xb,xc,xd) \
-       Xupdate(f,i,xa,xb,xc,xd); \
-       (f)+=(e)+K_00_19+ROTATE((a),5)+F_00_19((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
-#define BODY_20_31(i,a,b,c,d,e,f,xa,xb,xc,xd) \
-       Xupdate(f,i,xa,xb,xc,xd); \
-       (f)+=(e)+K_20_39+ROTATE((a),5)+F_20_39((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
-#define BODY_32_39(i,a,b,c,d,e,f,xa) \
-       Xupdate(f,i,xa,xa,xa,xa); \
-       (f)+=(e)+K_20_39+ROTATE((a),5)+F_20_39((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
-#define BODY_40_59(i,a,b,c,d,e,f,xa) \
-       Xupdate(f,i,xa,xa,xa,xa); \
-       (f)+=(e)+K_40_59+ROTATE((a),5)+F_40_59((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
-#define BODY_60_79(i,a,b,c,d,e,f,xa) \
-       Xupdate(f,i,xa,xa,xa,xa); \
-       (f)=X[(i)&0x0f]+(e)+K_60_79+ROTATE((a),5)+F_60_79((b),(c),(d)); \
-       (b)=ROTATE((b),30);
-
diff --git a/lib/libmd/shadriver.c b/lib/libmd/shadriver.c
deleted file mode 100644 (file)
index 58e3363..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* SHADRIVER.C - test driver for SHA-1 (and SHA-0)
- * $FreeBSD: src/lib/libmd/shadriver.c,v 1.4 2005/03/09 19:23:04 cperciva Exp $
- * $DragonFly: src/lib/libmd/shadriver.c,v 1.4 2008/09/11 20:25:34 swildner Exp $
- */
-
-/* Copyright (C) 1990-2, RSA Data Security, Inc. Created 1990. All
-   rights reserved.
-
-   RSA Data Security, Inc. makes no representations concerning either
-   the merchantability of this software or the suitability of this
-   software for any particular purpose. It is provided "as is"
-   without express or implied warranty of any kind.
-
-   These notices must be retained in any copies of any part of this
-   documentation and/or software.
- */
-
-/* The following makes SHA default to SHA-1 if it has not already been
-     defined with C compiler flags.
- */
-#ifndef SHA
-#define SHA 1
-#endif
-
-#include <sys/types.h>
-
-#include <stdio.h>
-#include <time.h>
-#include <string.h>
-#include "sha.h"
-#include "sha256.h"
-#include "sha512.h"
-#if SHA == 1
-#define SHA_Data SHA1_Data
-#elif SHA == 256
-#define SHA_Data SHA256_Data
-#elif SHA == 512
-#define SHA_Data SHA512_Data
-#endif
-
-/* Digests a string and prints the result.
- */
-static void SHAString (char *string)
-{
-  char buf[2*64+1];
-
-  printf ("SHA-%d (\"%s\") = %s\n", 
-       SHA, string, SHA_Data(string,strlen(string),buf));
-}
-
-/* Digests a reference suite of strings and prints the results.
- */
-int main(void)
-{
-  printf ("SHA-%d test suite:\n", SHA);
-
-  SHAString ("");
-  SHAString ("abc");
-  SHAString ("message digest");
-  SHAString ("abcdefghijklmnopqrstuvwxyz");
-  SHAString
-    ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789");
-  SHAString
-    ("1234567890123456789012345678901234567890\
-1234567890123456789012345678901234567890");
-  return 0;
-}
index 06cc8a6..eacf2b4 100644 (file)
@@ -48,7 +48,7 @@ LIBLVM?=      ${DESTDIR}${LIBDIR}/liblvm.a
 LIBLZMA?=      ${DESTDIR}${LIBDIR}/liblzma.a
 LIBM?=         ${DESTDIR}${LIBDIR}/libm.a
 LIBMAGIC?=     ${DESTDIR}${LIBDIR}/libmagic.a
-LIBMD?=                ${DESTDIR}${LIBDIR}/libmd.a
+LIBMD?=                "don't use LIBMD, use LIBCRYPTO"
 LIBMYTINFO?=   "don't use LIBMYTINFO, use LIBNCURSES"
 LIBNCURSES?=   ${DESTDIR}${LIBDIR}/priv/libprivate_ncurses.a
 LIBNCURSESW?=  ${DESTDIR}${LIBDIR}/priv/libprivate_ncursesw.a