git: c7a8e8d372b2 - main - xinstall: make md5 and ripemd160 conditional
Date: Wed, 03 Aug 2022 19:25:11 UTC
The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=c7a8e8d372b212c97dde6ce2731db27aa0b2201c commit c7a8e8d372b212c97dde6ce2731db27aa0b2201c Author: Dag-Erling Smørgrav <des@FreeBSD.org> AuthorDate: 2022-08-03 19:20:47 +0000 Commit: Dag-Erling Smørgrav <des@FreeBSD.org> CommitDate: 2022-08-03 19:24:07 +0000 xinstall: make md5 and ripemd160 conditional Sponsored by: Klara, Inc. --- usr.bin/xinstall/Makefile | 3 ++- usr.bin/xinstall/xinstall.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/usr.bin/xinstall/Makefile b/usr.bin/xinstall/Makefile index ce70cb882190..9969ef104e98 100644 --- a/usr.bin/xinstall/Makefile +++ b/usr.bin/xinstall/Makefile @@ -14,7 +14,8 @@ MAN= install.1 CFLAGS+= -I${SRCTOP}/contrib/mtree CFLAGS+= -I${SRCTOP}/lib/libnetbsd -LIBADD= md +LIBADD= md +CFLAGS+= -DWITH_MD5 -DWITH_RIPEMD160 HAS_TESTS= SUBDIR.${MK_TESTS}+= tests diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c index ddad7ba9115e..a236838c8fd1 100644 --- a/usr.bin/xinstall/xinstall.c +++ b/usr.bin/xinstall/xinstall.c @@ -57,10 +57,14 @@ __FBSDID("$FreeBSD$"); #include <fcntl.h> #include <grp.h> #include <libgen.h> +#ifdef WITH_MD5 #include <md5.h> +#endif #include <paths.h> #include <pwd.h> +#ifdef WITH_RIPEMD160 #include <ripemd.h> +#endif #include <sha.h> #include <sha256.h> #include <sha512.h> @@ -100,8 +104,12 @@ __FBSDID("$FreeBSD$"); #define BACKUP_SUFFIX ".old" typedef union { +#ifdef WITH_MD5 MD5_CTX MD5; +#endif +#ifdef WITH_RIPEMD160 RIPEMD160_CTX RIPEMD160; +#endif SHA1_CTX SHA1; SHA256_CTX SHA256; SHA512_CTX SHA512; @@ -109,8 +117,12 @@ typedef union { static enum { DIGEST_NONE = 0, +#ifdef WITH_MD5 DIGEST_MD5, +#endif +#ifdef WITH_RIPEMD160 DIGEST_RIPEMD160, +#endif DIGEST_SHA1, DIGEST_SHA256, DIGEST_SHA512, @@ -288,10 +300,14 @@ main(int argc, char *argv[]) if (digest != NULL) { if (strcmp(digest, "none") == 0) { digesttype = DIGEST_NONE; +#ifdef WITH_MD5 } else if (strcmp(digest, "md5") == 0) { digesttype = DIGEST_MD5; +#endif +#ifdef WITH_RIPEMD160 } else if (strcmp(digest, "rmd160") == 0) { digesttype = DIGEST_RIPEMD160; +#endif } else if (strcmp(digest, "sha1") == 0) { digesttype = DIGEST_SHA1; } else if (strcmp(digest, "sha256") == 0) { @@ -402,10 +418,14 @@ digest_file(const char *name) { switch (digesttype) { +#ifdef WITH_MD5 case DIGEST_MD5: return (MD5File(name, NULL)); +#endif +#ifdef WITH_RIPEMD160 case DIGEST_RIPEMD160: return (RIPEMD160_File(name, NULL)); +#endif case DIGEST_SHA1: return (SHA1_File(name, NULL)); case DIGEST_SHA256: @@ -424,12 +444,16 @@ digest_init(DIGEST_CTX *c) switch (digesttype) { case DIGEST_NONE: break; +#ifdef WITH_MD5 case DIGEST_MD5: MD5Init(&(c->MD5)); break; +#endif +#ifdef WITH_RIPEMD160 case DIGEST_RIPEMD160: RIPEMD160_Init(&(c->RIPEMD160)); break; +#endif case DIGEST_SHA1: SHA1_Init(&(c->SHA1)); break; @@ -449,12 +473,16 @@ digest_update(DIGEST_CTX *c, const char *data, size_t len) switch (digesttype) { case DIGEST_NONE: break; +#ifdef WITH_MD5 case DIGEST_MD5: MD5Update(&(c->MD5), data, len); break; +#endif +#ifdef WITH_RIPEMD160 case DIGEST_RIPEMD160: RIPEMD160_Update(&(c->RIPEMD160), data, len); break; +#endif case DIGEST_SHA1: SHA1_Update(&(c->SHA1), data, len); break; @@ -472,10 +500,14 @@ digest_end(DIGEST_CTX *c, char *buf) { switch (digesttype) { +#ifdef WITH_MD5 case DIGEST_MD5: return (MD5End(&(c->MD5), buf)); +#endif +#ifdef WITH_RIPEMD160 case DIGEST_RIPEMD160: return (RIPEMD160_End(&(c->RIPEMD160), buf)); +#endif case DIGEST_SHA1: return (SHA1_End(&(c->SHA1), buf)); case DIGEST_SHA256: