Date: Wed, 3 Aug 2022 13:18:56 -0700 From: Xin LI <delphij@gmail.com> To: =?UTF-8?Q?Dag=2DErling_Sm=C3=B8rgrav?= <des@freebsd.org> Cc: "src-committers@freebsd.org" <src-committers@freebsd.org>, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: c7a8e8d372b2 - main - xinstall: make md5 and ripemd160 conditional Message-ID: <CAGMYy3sCgz_vYAxLtTFwL2VLmSO-dLH1C3vsxqQm=%2BHGUe30GQ@mail.gmail.com> In-Reply-To: <202208031925.273JPBMo049062@gitrepo.freebsd.org> References: <202208031925.273JPBMo049062@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--0000000000000c02b505e55bf253 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Can we also make SHA1 optional too? On Wed, Aug 3, 2022 at 12:25 PM Dag-Erling Sm=C3=B8rgrav <des@freebsd.org> = wrote: > The branch main has been updated by des: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3Dc7a8e8d372b212c97dde6ce2731db27= aa0b2201c > > commit c7a8e8d372b212c97dde6ce2731db27aa0b2201c > Author: Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org> > AuthorDate: 2022-08-03 19:20:47 +0000 > Commit: Dag-Erling Sm=C3=B8rgrav <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=3D install.1 > CFLAGS+=3D -I${SRCTOP}/contrib/mtree > CFLAGS+=3D -I${SRCTOP}/lib/libnetbsd > > -LIBADD=3D md > +LIBADD=3D md > +CFLAGS+=3D -DWITH_MD5 -DWITH_RIPEMD160 > > HAS_TESTS=3D > SUBDIR.${MK_TESTS}+=3D 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 =3D 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 !=3D NULL) { > if (strcmp(digest, "none") =3D=3D 0) { > digesttype =3D DIGEST_NONE; > +#ifdef WITH_MD5 > } else if (strcmp(digest, "md5") =3D=3D 0) { > digesttype =3D DIGEST_MD5; > +#endif > +#ifdef WITH_RIPEMD160 > } else if (strcmp(digest, "rmd160") =3D=3D 0) { > digesttype =3D DIGEST_RIPEMD160; > +#endif > } else if (strcmp(digest, "sha1") =3D=3D 0) { > digesttype =3D DIGEST_SHA1; > } else if (strcmp(digest, "sha256") =3D=3D 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: > --0000000000000c02b505e55bf253 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_default" style=3D"font-family:monospac= e,monospace">Can we also make SHA1 optional too?</div></div><br><div class= =3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Aug 3, 2022 = at 12:25 PM Dag-Erling Sm=C3=B8rgrav <<a href=3D"mailto:des@freebsd.org"= >des@freebsd.org</a>> wrote:<br></div><blockquote class=3D"gmail_quote" = style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa= dding-left:1ex">The branch main has been updated by des:<br> <br> URL: <a href=3D"https://cgit.FreeBSD.org/src/commit/?id=3Dc7a8e8d372b212c97= dde6ce2731db27aa0b2201c" rel=3D"noreferrer" target=3D"_blank">https://cgit.= FreeBSD.org/src/commit/?id=3Dc7a8e8d372b212c97dde6ce2731db27aa0b2201c</a><b= r> <br> commit c7a8e8d372b212c97dde6ce2731db27aa0b2201c<br> Author:=C2=A0 =C2=A0 =C2=A0Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>= <br> AuthorDate: 2022-08-03 19:20:47 +0000<br> Commit:=C2=A0 =C2=A0 =C2=A0Dag-Erling Sm=C3=B8rgrav <des@FreeBSD.org>= <br> CommitDate: 2022-08-03 19:24:07 +0000<br> <br> =C2=A0 =C2=A0 xinstall: make md5 and ripemd160 conditional<br> <br> =C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0Klara, Inc.<br> ---<br> =C2=A0usr.bin/xinstall/Makefile=C2=A0 =C2=A0|=C2=A0 3 ++-<br> =C2=A0usr.bin/xinstall/xinstall.c | 32 ++++++++++++++++++++++++++++++++<br> =C2=A02 files changed, 34 insertions(+), 1 deletion(-)<br> <br> diff --git a/usr.bin/xinstall/Makefile b/usr.bin/xinstall/Makefile<br> index ce70cb882190..9969ef104e98 100644<br> --- a/usr.bin/xinstall/Makefile<br> +++ b/usr.bin/xinstall/Makefile<br> @@ -14,7 +14,8 @@ MAN=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 install.1<br> =C2=A0CFLAGS+=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0-I${SRCTOP}/contrib/mtree<br> =C2=A0CFLAGS+=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0-I${SRCTOP}/lib/libnetbsd<br> <br> -LIBADD=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0 md<br> +LIBADD=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 md<br> +CFLAGS+=3D=C2=A0 =C2=A0 =C2=A0 =C2=A0-DWITH_MD5 -DWITH_RIPEMD160<br> <br> =C2=A0HAS_TESTS=3D<br> =C2=A0SUBDIR.${MK_TESTS}+=3D tests<br> diff --git a/usr.bin/xinstall/xinstall.c b/usr.bin/xinstall/xinstall.c<br> index ddad7ba9115e..a236838c8fd1 100644<br> --- a/usr.bin/xinstall/xinstall.c<br> +++ b/usr.bin/xinstall/xinstall.c<br> @@ -57,10 +57,14 @@ __FBSDID("$FreeBSD$");<br> =C2=A0#include <fcntl.h><br> =C2=A0#include <grp.h><br> =C2=A0#include <libgen.h><br> +#ifdef WITH_MD5<br> =C2=A0#include <md5.h><br> +#endif<br> =C2=A0#include <paths.h><br> =C2=A0#include <pwd.h><br> +#ifdef WITH_RIPEMD160<br> =C2=A0#include <ripemd.h><br> +#endif<br> =C2=A0#include <sha.h><br> =C2=A0#include <sha256.h><br> =C2=A0#include <sha512.h><br> @@ -100,8 +104,12 @@ __FBSDID("$FreeBSD$");<br> =C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 BACKUP_SUFFIX=C2=A0 =C2=A0".o= ld"<br> <br> =C2=A0typedef union {<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 MD5_CTX=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0MD5;<b= r> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 RIPEMD160_CTX=C2=A0 =C2=A0RIPEMD160;<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA1_CTX=C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA1;<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA256_CTX=C2=A0 =C2=A0 =C2=A0 SHA256;<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA512_CTX=C2=A0 =C2=A0 =C2=A0 SHA512;<br> @@ -109,8 +117,12 @@ typedef union {<br> <br> =C2=A0static enum {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_NONE =3D 0,<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_MD5,<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_RIPEMD160,<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_SHA1,<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_SHA256,<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 DIGEST_SHA512,<br> @@ -288,10 +300,14 @@ main(int argc, char *argv[])<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (digest !=3D NULL) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (strcmp(digest, = "none") =3D=3D 0) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 digesttype =3D DIGEST_NONE;<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else if (strcmp(d= igest, "md5") =3D=3D 0) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0digesttype =3D DIGEST_MD5;<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else if (strcmp(d= igest, "rmd160") =3D=3D 0) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 digesttype =3D DIGEST_RIPEMD160;<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else if (strcmp(d= igest, "sha1") =3D=3D 0) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 digesttype =3D DIGEST_SHA1;<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else if (strcmp(d= igest, "sha256") =3D=3D 0) {<br> @@ -402,10 +418,14 @@ digest_file(const char *name)<br> =C2=A0{<br> <br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (digesttype) {<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_MD5:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (MD5File(nam= e, NULL));<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_RIPEMD160:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (RIPEMD160_F= ile(name, NULL));<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA1:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (SHA1_File(n= ame, NULL));<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA256:<br> @@ -424,12 +444,16 @@ digest_init(DIGEST_CTX *c)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (digesttype) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_NONE:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_MD5:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 MD5Init(&(c->= ;MD5));<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_RIPEMD160:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 RIPEMD160_Init(&= ;(c->RIPEMD160));<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA1:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA1_Init(&(c-&= gt;SHA1));<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> @@ -449,12 +473,16 @@ digest_update(DIGEST_CTX *c, const char *data, size_t= len)<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (digesttype) {<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_NONE:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_MD5:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 MD5Update(&(c-&= gt;MD5), data, len);<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_RIPEMD160:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 RIPEMD160_Update(&a= mp;(c->RIPEMD160), data, len);<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA1:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 SHA1_Update(&(c= ->SHA1), data, len);<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br> @@ -472,10 +500,14 @@ digest_end(DIGEST_CTX *c, char *buf)<br> =C2=A0{<br> <br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 switch (digesttype) {<br> +#ifdef WITH_MD5<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_MD5:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (MD5End(&= ;(c->MD5), buf));<br> +#endif<br> +#ifdef WITH_RIPEMD160<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_RIPEMD160:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (RIPEMD160_E= nd(&(c->RIPEMD160), buf));<br> +#endif<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA1:<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return (SHA1_End(&a= mp;(c->SHA1), buf));<br> =C2=A0 =C2=A0 =C2=A0 =C2=A0 case DIGEST_SHA256:<br> </blockquote></div> --0000000000000c02b505e55bf253--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGMYy3sCgz_vYAxLtTFwL2VLmSO-dLH1C3vsxqQm=%2BHGUe30GQ>