Skip site navigation (1)Skip section navigation (2)
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 &lt;<a href=3D"mailto:des@freebsd.org"=
>des@freebsd.org</a>&gt; 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 &lt;des@FreeBSD.org&gt;=
<br>
AuthorDate: 2022-08-03 19:20:47 +0000<br>
Commit:=C2=A0 =C2=A0 =C2=A0Dag-Erling Sm=C3=B8rgrav &lt;des@FreeBSD.org&gt;=
<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(&quot;$FreeBSD$&quot;);<br>
=C2=A0#include &lt;fcntl.h&gt;<br>
=C2=A0#include &lt;grp.h&gt;<br>
=C2=A0#include &lt;libgen.h&gt;<br>
+#ifdef WITH_MD5<br>
=C2=A0#include &lt;md5.h&gt;<br>
+#endif<br>
=C2=A0#include &lt;paths.h&gt;<br>
=C2=A0#include &lt;pwd.h&gt;<br>
+#ifdef WITH_RIPEMD160<br>
=C2=A0#include &lt;ripemd.h&gt;<br>
+#endif<br>
=C2=A0#include &lt;sha.h&gt;<br>
=C2=A0#include &lt;sha256.h&gt;<br>
=C2=A0#include &lt;sha512.h&gt;<br>
@@ -100,8 +104,12 @@ __FBSDID(&quot;$FreeBSD$&quot;);<br>
=C2=A0#define=C2=A0 =C2=A0 =C2=A0 =C2=A0 BACKUP_SUFFIX=C2=A0 =C2=A0&quot;.o=
ld&quot;<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, =
&quot;none&quot;) =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, &quot;md5&quot;) =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, &quot;rmd160&quot;) =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, &quot;sha1&quot;) =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, &quot;sha256&quot;) =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(&amp;(c-&gt=
;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(&amp=
;(c-&gt;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(&amp;(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(&amp;(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-&gt;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(&amp;(c=
-&gt;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(&amp=
;(c-&gt;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(&amp;(c-&gt;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-&gt;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>