1. bigger is better. make a link to sha512.

2. simplify md5.c. there's really only two modes.

3. add a note to sha256.1 about sha512. I didn't go through and copy
all the text -- I would hope people can figure it out.

Index: Makefile
===================================================================
RCS file: /cvs/src/bin/md5/Makefile,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile
--- Makefile    12 Jul 2010 23:16:55 -0000      1.11
+++ Makefile    22 Dec 2013 23:33:26 -0000
@@ -5,9 +5,11 @@ SRCS=  crc.c md5.c
 MAN=   cksum.1 md5.1 sha1.1 sha256.1
 LINKS= ${BINDIR}/md5 ${BINDIR}/sha1 \
        ${BINDIR}/md5 ${BINDIR}/sha256 \
+       ${BINDIR}/md5 ${BINDIR}/sha512 \
        ${BINDIR}/md5 ${BINDIR}/cksum \
        ${BINDIR}/md5 ${BINDIR}/sum
 MLINKS= cksum.1 sum.1
+MLINKS= sha256.1 sha512.1
 
 CPPFLAGS+= -I${.CURDIR}
 COPTS+=        -Wall -Wconversion -Wmissing-prototypes
Index: md5.c
===================================================================
RCS file: /cvs/src/bin/md5/md5.c,v
retrieving revision 1.57
diff -u -p -r1.57 md5.c
--- md5.c       21 Nov 2013 15:54:45 -0000      1.57
+++ md5.c       23 Dec 2013 00:05:27 -0000
@@ -52,10 +52,7 @@
 
 enum program_mode {
        MODE_MD5,
-       MODE_SHA1,
-       MODE_RMD160,
        MODE_CKSUM,
-       MODE_SUM
 } pmode;
 
 union ANY_CTX {
@@ -229,9 +226,6 @@ main(int argc, char **argv)
 
        static const char *optstr[5] = {
                "bcpqrs:tx",
-               "bcpqrs:tx",
-               "bcpqrs:tx",
-               "a:bco:pqrs:tx",
                "a:bco:pqrs:tx"
        };
 
@@ -240,16 +234,8 @@ main(int argc, char **argv)
        error = bflag = cflag = pflag = qflag = rflag = tflag = xflag = 0;
 
        pmode = MODE_MD5;
-       if (strcmp(__progname, "md5") == 0)
-               pmode = MODE_MD5;
-       else if (strcmp(__progname, "sha1") == 0)
-               pmode = MODE_SHA1;
-       else if (strcmp(__progname, "rmd160") == 0)
-               pmode = MODE_RMD160;
-       else if (strcmp(__progname, "cksum") == 0)
+       if (strcmp(__progname, "cksum") == 0 || strcmp(__progname, "sum") == 0)
                pmode = MODE_CKSUM;
-       else if (strcmp(__progname, "sum") == 0)
-               pmode = MODE_SUM;
 
        /* Check for -b option early since it changes behavior. */
        while ((fl = getopt(argc, argv, optstr[pmode])) != -1) {
@@ -802,13 +788,10 @@ usage(void)
 {
        switch (pmode) {
        case MODE_MD5:
-       case MODE_SHA1:
-       case MODE_RMD160:
                fprintf(stderr, "usage: %s [-bpqrtx] [-c [checklist ...]] "
                    "[-s string] [file ...]\n", __progname);
                break;
        case MODE_CKSUM:
-       case MODE_SUM:
                fprintf(stderr, "usage: %s [-bpqrtx] [-a algorithms] "
                    "[-c [checklist ...]] [-o 1 | 2]\n"
                    "       %*s [-s string] [file ...]\n",
Index: sha256.1
===================================================================
RCS file: /cvs/src/bin/md5/sha256.1,v
retrieving revision 1.5
diff -u -p -r1.5 sha256.1
--- sha256.1    8 Jul 2012 15:58:23 -0000       1.5
+++ sha256.1    23 Dec 2013 00:03:31 -0000
@@ -30,6 +30,11 @@
 .Op Fl c Op Ar checklist ...
 .Op Fl s Ar string
 .Op Ar
+.Nm sha512
+.Op Fl bpqrtx
+.Op Fl c Op Ar checklist ...
+.Op Fl s Ar string
+.Op Ar
 .Sh DESCRIPTION
 .Nm
 takes as input a message of arbitrary length and produces
@@ -45,6 +50,12 @@ large file must be "compressed" in a sec
 encrypted with a private (secret) key under a public-key cryptosystem
 such as
 .Em RSA .
+.Pp
+When invoked as
+.Nm sha512 ,
+the
+.Em SHA-512
+algorithm is used instead, generating a 512-bit digest.
 .Pp
 The options are as follows:
 .Bl -tag -width Ds

Reply via email to