PR: 2066
authorDr. Stephen Henson <steve@openssl.org>
Thu, 15 Oct 2009 17:18:03 +0000 (17:18 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 15 Oct 2009 17:18:03 +0000 (17:18 +0000)
Submitted by: Guenter <lists@gknw.net>
Approved by: steve@openssl.org

Add -r option to dgst to produce format compatible with core utilities.

apps/dgst.c

index 4c6644edd75695f6a6c2361d8fa86e647876259c..64fe56e5180893c49c76447deb024d6593d223e6 100644 (file)
@@ -155,6 +155,8 @@ int MAIN(int argc, char **argv)
                if ((*argv)[0] != '-') break;
                if (strcmp(*argv,"-c") == 0)
                        separator=1;
+               if (strcmp(*argv,"-r") == 0)
+                       separator=2;
                else if (strcmp(*argv,"-rand") == 0)
                        {
                        if (--argc < 1) break;
@@ -262,6 +264,7 @@ int MAIN(int argc, char **argv)
                BIO_printf(bio_err,"unknown option '%s'\n",*argv);
                BIO_printf(bio_err,"options are\n");
                BIO_printf(bio_err,"-c              to output the digest with separating colons\n");
+               BIO_printf(bio_err,"-r              to output the digest in coreutils format\n");
                BIO_printf(bio_err,"-d              to output debug info\n");
                BIO_printf(bio_err,"-hex            output as hex dump\n");
                BIO_printf(bio_err,"-binary         output in binary form\n");
@@ -602,6 +605,12 @@ int do_fp(BIO *out, unsigned char *buf, BIO *bp, int sep, int binout,
                }
 
        if(binout) BIO_write(out, buf, len);
+       else if (sep == 2)
+               {
+               for (i=0; i<(int)len; i++)
+                       BIO_printf(out, "%02x",buf[i]);
+               BIO_printf(out, " *%s\n", file);
+               }
        else 
                {
                if (sig_name)