From 42733b3beaa5cdd25eb1ba3ff893aa7dba73dcf8 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 15 Oct 2009 17:13:54 +0000 Subject: [PATCH] PR: 2066 Submitted by: Guenter Approved by: steve@openssl.org Add -r option to dgst to produce format compatible with core utilities. --- Makefile.org | 17 +++-------------- apps/Makefile | 1 - apps/dgst.c | 9 +++++++++ 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/Makefile.org b/Makefile.org index 20a5c4cab5..1eacb09028 100644 --- a/Makefile.org +++ b/Makefile.org @@ -360,7 +360,7 @@ libclean: rm -f *.map *.so *.so.* *.dll engines/*.so engines/*.dll *.a engines/*.a */lib */*/lib clean: libclean - rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c + rm -f shlib/*.o *.o core a.out fluff testlog make.log cctest cctest.c @set -e; target=clean; $(RECURSIVE_BUILD_CMD) rm -f $(LIBS) rm -f openssl.pc libssl.pc libcrypto.pc @@ -389,23 +389,12 @@ gentests: $(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); dclean: - rm -rf *.bak include/openssl certs/.0 + rm -rf *.bak include/openssl @set -e; target=dclean; $(RECURSIVE_BUILD_CMD) -rehash: rehash.time -rehash.time: certs apps - @if [ -z "$(CROSS_COMPILE_PREFIX)" ]; then \ - (OPENSSL="`pwd`/util/opensslwrap.sh"; \ - [ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ - OPENSSL_DEBUG_MEMORY=on; \ - export OPENSSL OPENSSL_DEBUG_MEMORY; \ - $(PERL) tools/c_rehash certs) && \ - touch rehash.time; \ - else :; fi - test: tests -tests: rehash +tests: @(cd test && echo "testing..." && \ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a diff --git a/apps/Makefile b/apps/Makefile index cfedc7374a..ee13b94a93 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -159,7 +159,6 @@ $(EXE): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL) APPNAME=$(EXE) OBJECTS="$(PROGRAM).o $(E_OBJ)" \ LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \ link_app.$${shlib_target} - @(cd ..; $(MAKE) rehash) progs.h: progs.pl $(PERL) progs.pl $(E_EXE) >progs.h diff --git a/apps/dgst.c b/apps/dgst.c index 4c6644edd7..64fe56e518 100644 --- a/apps/dgst.c +++ b/apps/dgst.c @@ -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)