Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sha3sum for openSUSE:Factory checked 
in at 2021-05-15 23:16:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sha3sum (Old)
 and      /work/SRC/openSUSE:Factory/.sha3sum.new.2988 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sha3sum"

Sat May 15 23:16:18 2021 rev:4 rq:893296 version:1.2.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/sha3sum/sha3sum.changes  2019-03-26 
15:43:03.696221994 +0100
+++ /work/SRC/openSUSE:Factory/.sha3sum.new.2988/sha3sum.changes        
2021-05-15 23:17:17.640476838 +0200
@@ -1,0 +2,8 @@
+Sat May 15 08:39:23 UTC 2021 - Andreas Stieger <andreas.stie...@gmx.de>
+
+- update to 1.2.1:
+  * hashes are now lowercase by default
+  * add -z to end lines with NUL instead of LF
+  * add -a option for compatibility with busybox
+
+-------------------------------------------------------------------

Old:
----
  1.1.5.tar.gz

New:
----
  1.2.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sha3sum.spec ++++++
--- /var/tmp/diff_new_pack.wMosin/_old  2021-05-15 23:17:18.060475198 +0200
+++ /var/tmp/diff_new_pack.wMosin/_new  2021-05-15 23:17:18.064475182 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package sha3sum
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           sha3sum
-Version:        1.1.5
+Version:        1.2.1
 Release:        0
 Summary:        SHA-3 and Keccak checksum utility
 License:        ISC
@@ -37,15 +37,15 @@
 %setup -q
 
 %build
-make %{?_smp_mflags} CFLAGS="%{optflags}"
+%make_build CFLAGS="%{optflags}"
 
 %install
-%make_install PREFIX=%{_prefix}
+%make_install PREFIX="%{_prefix}"
 # packaged via macro
 rm -rvf %{buildroot}%{_datadir}/licenses/%{name}
 
 %check
-make %{?_smp_mflags} check
+%make_build check
 
 %files
 %license LICENSE

++++++ 1.1.5.tar.gz -> 1.2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/.gitignore new/sha3sum-1.2.1/.gitignore
--- old/sha3sum-1.1.5/.gitignore        2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/.gitignore        2021-02-18 21:23:21.000000000 +0100
@@ -1,11 +1,14 @@
 *~
 *\#*
 *.o
+*.bo
 *.su
 *.1
+/commands.h
 /*sum
 /keccak-*sum.c
 /sha3-*sum.c
 /rawshake*sum.c
 /shake*sum.c
+/sha3sum-mcb
 /.testdir/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/DEPENDENCIES 
new/sha3sum-1.2.1/DEPENDENCIES
--- old/sha3sum-1.1.5/DEPENDENCIES      2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/DEPENDENCIES      2021-02-18 21:23:21.000000000 +0100
@@ -9,7 +9,7 @@
        coreutils
        gcc
        libc
-       libkeccak
+       libkeccak>=1.2
        make
        sed
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/LICENSE new/sha3sum-1.2.1/LICENSE
--- old/sha3sum-1.1.5/LICENSE   2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/LICENSE   2021-02-18 21:23:21.000000000 +0100
@@ -1,6 +1,6 @@
 ISC License
 
-?? 2013, 2014, 2015, 2017 Mattias Andr??e <maand...@kth.se>
+?? 2013, 2014, 2015, 2017, 2020 Mattias Andr??e <maand...@kth.se>
 
 Permission to use, copy, modify, and/or distribute this software for any
 purpose with or without fee is hereby granted, provided that the above
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/Makefile new/sha3sum-1.2.1/Makefile
--- old/sha3sum-1.1.5/Makefile  2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/Makefile  2021-02-18 21:23:21.000000000 +0100
@@ -3,6 +3,7 @@
 CONFIGFILE = config.mk
 include $(CONFIGFILE)
 
+LIBEXECDIR = $(PREFIX)/$(LIBEXEC)
 
 BIN =\
        keccaksum\
@@ -10,6 +11,7 @@
        keccak-256sum\
        keccak-384sum\
        keccak-512sum\
+       sha3sum\
        sha3-224sum\
        sha3-256sum\
        sha3-384sum\
@@ -22,11 +24,12 @@
 MAN1 = $(BIN:=.1)
 HDR = arg.h common.h
 
+keccaksum = Keccak[]
 keccak-224sum = Keccak-224
 keccak-256sum = Keccak-256
 keccak-384sum = Keccak-384
 keccak-512sum = Keccak-512
-keccaksum = Keccak[]
+sha3sum = SHA3
 sha3-224sum = SHA3-224
 sha3-256sum = SHA3-256
 sha3-384sum = SHA3-384
@@ -38,16 +41,34 @@
 
 
 all: $(BIN) $(MAN1)
+mcb: sha3sum-mcb $(MAN1)
+
+sha3sum-mcb.c: commands.h
 
 %: %.o common.o
-       $(CC) -o $@ $^ $(LDFLAGS)
+       $(CC) -o $@ $< common.o $(LDFLAGS)
 
 %.o: %.c $(HDR)
        $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS)
 
+%.bo: %.c $(HDR)
+       $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) \
+       -Dmain="main_$$(printf '%s\n' $* | tr - _)(int, char *[]); int 
main_$$(printf '%s\n' $* | tr - _)"
+
 %.1: xsum.man
        u=$$(printf '%s\n' $* | tr a-z A-Z); \
-       sed -e 's/xsum/$*/g' -e 's/XSUM/'"$$u"'/g' -e 's/Xsum/$($*)/g' < 
xsum.man > $@
+       if test $* = sha3sum; then \
+               sed -e 's/xsum/$*/g' -e 's/XSUM/'"$$u"'/g' -e 's/Xsum/$($*)/g' 
-e 's/^\\# ONLY SHA3: //' < xsum.man > $@; \
+       else \
+               sed -e 's/xsum/$*/g' -e 's/XSUM/'"$$u"'/g' -e 's/Xsum/$($*)/g' 
-e '/^\\# ONLY SHA3: /d' < xsum.man > $@; \
+       fi
+
+commands.h: Makefile
+       (printf '%s' '#define LIST_COMMANDS(_)' && printf '\\\n\t_(%s)' $(BIN) 
&& printf '\n') \
+       | sed 's/_(\(.*\))/_("\1", main_\1)/' | sed 's/\(main_.*\)-/\1_/' > $@
+
+sha3sum-mcb: sha3sum-mcb.o common.o $(BIN:=.bo)
+       $(CC) -o $@ sha3sum-mcb.o common.o $(BIN:=.bo) $(LDFLAGS)
 
 keccak-%sum.c:
        printf '%s\n' '#include "common.h"' 'KECCAK_MAIN($*)' > $@
@@ -72,13 +93,25 @@
        cp -- $(MAN1) "$(DESTDIR)$(MANPREFIX)/man1/"
        cp -- LICENSE "$(DESTDIR)$(PREFIX)/share/licenses/sha3sum/"
 
+install-mcb: sha3sum-mcb $(MAN1)
+       mkdir -p -- "$(DESTDIR)$(PREFIX)/bin"
+       mkdir -p -- "$(DESTDIR)$(LIBEXECDIR)"
+       mkdir -p -- "$(DESTDIR)$(MANPREFIX)/man1"
+       mkdir -p -- "$(DESTDIR)$(PREFIX)/share/licenses/sha3sum"
+       set -e && cd "$(DESTDIR)$(PREFIX)/bin/" && \
+       for f in $(BIN); do ln -sf -- ../$(LIBEXEC)/sha3sum "$$f"; done
+       cp -- sha3sum-mcb "$(DESTDIR)$(LIBEXECDIR)/sha3sum"
+       cp -- $(MAN1) "$(DESTDIR)$(MANPREFIX)/man1/"
+       cp -- LICENSE "$(DESTDIR)$(PREFIX)/share/licenses/sha3sum/"
+
 uninstall:
        -cd -- "$(DESTDIR)$(PREFIX)/bin" && rm -f -- $(BIN)
        -cd -- "$(DESTDIR)$(MANPREFIX)/man1" && rm -f -- $(MAN1)
        -rm -rf -- "$(DESTDIR)$(PREFIX)/share/licenses/sha3sum"
+       -rm -f -- "$(DESTDIR)$(LIBEXECDIR)/sha3sum"
 
 clean:
-       -rm -rf -- $(MAN1) $(BIN) keccak-*sum.c sha3-*sum.c rawshake*sum.c 
shake*sum.c .testdir
+       -rm -rf -- $(MAN1) $(BIN) sha3sum-mcb *.o *.bo *.su commands.h 
keccak-*sum.c sha3-*sum.c rawshake*sum.c shake*sum.c .testdir
 
 .SUFFIXES:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/README new/sha3sum-1.2.1/README
--- old/sha3sum-1.1.5/README    2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/README    2021-02-18 21:23:21.000000000 +0100
@@ -113,3 +113,9 @@
        utilities from other packages using other
        algorithm-families.
 
+NOTES
+       Packagers are advised to separate sha3sum(1) into its
+       own packages, apart from the other commands, as it is
+       mearly provided for compatibility and it could cause
+       package conflict with other implementations that only
+       provide sha3sum(1) such as busybox.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/common.c new/sha3sum-1.2.1/common.c
--- old/sha3sum-1.1.5/common.c  2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/common.c  2021-02-18 21:23:21.000000000 +0100
@@ -36,7 +36,7 @@
 {
        fprintf(stderr, "usage: %s [-u | -l | -b | -c] [-R rate] [-C capacity] "
                        "[-N output-size] [-S state-size] [-W word-size] "
-                       "[-Z squeeze-count] [-vx] [file ...]\n", argv0);
+                       "[-Z squeeze-count] [-vxz] [file ...]\n", argv0);
        exit(2);
 }
 
@@ -278,11 +278,13 @@
  * @param   suffix    The message suffix
  * @param   style     (unused)
  * @param   hex       Whether to use hexadecimal input rather than binary
+ * @param   nuls      Whether lines end with NUL instead of LF,
+ *                    and parsing should be less lax
  * @return            An appropriate exit value
  */
 static int
 check_checksums(const char *restrict filename, const struct libkeccak_spec 
*restrict spec,
-                long int squeezes, const char *restrict suffix, enum 
representation style, int hex)
+                long int squeezes, const char *restrict suffix, enum 
representation style, int hex, int nuls)
 {
        struct stat attr;
        size_t blksize = 4096;
@@ -329,27 +331,46 @@
                buf = erealloc(buf, size + 1);
        size = ptr;
        close(fd), fd = -1;
-       buf[size++] = '\n';
+       buf[size++] = nuls ? '\0' : '\n';
 
        for (ptr = 0, stage = 0; ptr < size; ptr++) {
                c = buf[ptr];
-               if (stage == 0) {
-                       if (isxdigit(c))
-                               ;
-                       else if (c == ' ' || c == '\t')
-                               hash_end = ptr, stage++;
-                       else if (c == '\n' || c == '\f' || c == '\r')
-                               hash_end = ptr, stage = 3;
-                       else
-                               user_error("file is malformated");
-               } else if (stage == 1) {
-                       if (c == '\n' || c == '\f' || c == '\r')
-                               stage = 3;
-                       else if (c != ' ' && c != '\t')
-                               file_start = ptr, stage++;
-               } else if (stage == 2) {
-                       if (c == '\n' || c == '\f' || c == '\r')
-                               file_end = ptr, stage++;
+               if (!nuls) {
+                       if (stage == 0) {
+                               if (isxdigit(c))
+                                       ;
+                               else if (c == ' ' || c == '\t')
+                                       hash_end = ptr, stage++;
+                               else if (c == '\n' || c == '\f' || c == '\r')
+                                       hash_end = ptr, stage = 3;
+                               else
+                                       user_error("file is malformated");
+                       } else if (stage == 1) {
+                               if (c == '\n' || c == '\f' || c == '\r')
+                                       stage = 3;
+                               else if (c != ' ' && c != '\t')
+                                       file_start = ptr, stage++;
+                       } else if (stage == 2) {
+                               if (c == '\n' || c == '\f' || c == '\r')
+                                       file_end = ptr, stage++;
+                       }
+               } else {
+                       if (stage == 0) {
+                               if (c == ' ')
+                                       hash_end = ptr, stage++;
+                               else if (c == '\0')
+                                       hash_end = ptr, stage = 3;
+                               else if (!isxdigit(c))
+                                       user_error("file is malformated");
+                       } else if (stage == 1) {
+                               if (c == ' ')
+                                       file_start = ptr + 1, stage++;
+                               else
+                                       user_error("file is malformated");
+                       } else if (stage == 2) {
+                               if (c == '\0')
+                                       file_end = ptr, stage++;
+                       }
                }
 
                if (stage == 3) {
@@ -392,11 +413,12 @@
  * @param   suffix    The message suffix
  * @param   style     How the hashes shall be represented
  * @param   hex       Whether to use hexadecimal input rather than binary
+ * @param   nuls      Whether lines end with NUL instead of LF
  * @return            An appropriate exit value
  */
 static int
 print_checksum(const char *restrict filename, const struct libkeccak_spec 
*restrict spec,
-               long int squeezes, const char *restrict suffix, enum 
representation style, int hex)
+               long int squeezes, const char *restrict suffix, enum 
representation style, int hex, int nuls)
 {
        size_t p = 0, n = (size_t)((spec->output + 7) / 8);
        ssize_t w;
@@ -408,10 +430,10 @@
 
        if (style == REPRESENTATION_UPPER_CASE) {
                libkeccak_behex_upper(hexsum, hashsum, n);
-               printf("%s  %s\n", hexsum, filename);
+               printf("%s  %s%c", hexsum, filename, nuls ? '\0' : '\n');
        } else if (style == REPRESENTATION_LOWER_CASE) {
                libkeccak_behex_lower(hexsum, hashsum, n);
-               printf("%s  %s\n", hexsum, filename);
+               printf("%s  %s%c", hexsum, filename, nuls ? '\0' : '\n');
        } else {
                fflush(stdout);
                for (; p < n; p += (size_t)w)
@@ -430,21 +452,21 @@
  * @param   argv    The second argument from `main`
  * @param   gspec   The default algorithm parameters
  * @param   suffix  Message suffix
+ * @param   with_a  Whether the -a option should be recognised (but ignored)
  * @return          An appropriate exit value
  */
 int
-run(int argc, char *argv[], struct libkeccak_generalised_spec *restrict gspec, 
const char *restrict suffix)
+run(int argc, char *argv[], struct libkeccak_generalised_spec *restrict gspec, 
const char *restrict suffix, int with_a)
 {
-       enum representation style = REPRESENTATION_UPPER_CASE;
-       int verbose = 0;
-       int hex = 0;
-       int check = 0;
+       enum representation style = REPRESENTATION_LOWER_CASE;
+       int verbose = 0, hex = 0, check = 0, nuls = 0;
        long int squeezes = 1;
        int (*fun)(const char *restrict filename, const struct libkeccak_spec 
*restrict spec,
-                  long int squeezes, const char *restrict suffix, enum 
representation style, int hex);
+                  long int squeezes, const char *restrict suffix, enum 
representation style, int hex, int nuls);
        struct libkeccak_spec spec;
        int r = 0;
 
+       /* Note: when options are added or removed, also update sha3sum.c */
        ARGBEGIN {
        case 'R':
                gspec->bitrate = atol(EARGF(usage()));
@@ -478,16 +500,24 @@
        case 'c':
                check = 1;
                break;
+       case 'v':
+               verbose = 1;
+               break;
        case 'x':
                hex = 1;
                break;
-       case 'v':
-               verbose = 1;
+       case 'z':
+               nuls = 1;
+               break;
+       case 'a':
+               if (!with_a)
+                       usage();
+               (void) EARGF(usage());
                break;
        default:
                usage();
        } ARGEND;
-       /* -c has been added because the sha1sum, sha256sum &c have
+       /* -cz has been added because the sha1sum, sha256sum, &c have
         * it, but I ignore the other crap, mostly because not all
         * implemention have them and binary vs text mode is stupid. */
 
@@ -508,9 +538,9 @@
        }
 
        if (!*argv)
-               r = fun("-", &spec, squeezes, suffix, style, hex);
+               r = fun("-", &spec, squeezes, suffix, style, hex, nuls);
        for (; *argv; argv++)
-               r |= fun(*argv, &spec, squeezes, suffix, style, hex);
+               r |= fun(*argv, &spec, squeezes, suffix, style, hex, nuls);
 
        free(hashsum);
        free(hexsum);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/common.h new/sha3sum-1.2.1/common.h
--- old/sha3sum-1.1.5/common.h  2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/common.h  2021-02-18 21:23:21.000000000 +0100
@@ -7,7 +7,7 @@
                struct libkeccak_generalised_spec spec;\
                libkeccak_generalised_spec_initialise(&spec);\
                CONFIGURATION;\
-               return run(argc, argv, &spec, SUFFIX);\
+               return run(argc, argv, &spec, SUFFIX, 0);\
        }
 #define KECCAK_MAIN(N)\
        COMMON_MAIN(libkeccak_spec_sha3((struct libkeccak_spec *)&spec, N), "")
@@ -47,6 +47,7 @@
  * @param   argv    The second argument from `main`
  * @param   gspec   The default algorithm parameters
  * @param   suffix  Message suffix
+ * @param   with_a  Whether the -a option should be recognised (but ignored)
  * @return          An appropriate exit value
  */
-int run(int argc, char *argv[], struct libkeccak_generalised_spec *restrict 
gspec, const char *restrict suffix);
+int run(int argc, char *argv[], struct libkeccak_generalised_spec *restrict 
gspec, const char *restrict suffix, int with_a);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/config.mk new/sha3sum-1.2.1/config.mk
--- old/sha3sum-1.1.5/config.mk 2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/config.mk 2021-02-18 21:23:21.000000000 +0100
@@ -1,5 +1,6 @@
-PREFIX = /usr/local
+PREFIX    = /usr/local
 MANPREFIX = $(PREFIX)/share/man
+LIBEXEC   = libexec
 
 WARN = -pedantic -Wdouble-promotion -Wformat=2 -Winit-self 
-Wmissing-include-dirs          \
        -Wtrampolines -Wfloat-equal -Wshadow -Wmissing-prototypes 
-Wmissing-declarations    \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/sha3sum-mcb.c 
new/sha3sum-1.2.1/sha3sum-mcb.c
--- old/sha3sum-1.1.5/sha3sum-mcb.c     1970-01-01 01:00:00.000000000 +0100
+++ new/sha3sum-1.2.1/sha3sum-mcb.c     2021-02-18 21:23:21.000000000 +0100
@@ -0,0 +1,27 @@
+/* See LICENSE file for copyright and license details. */
+#include <string.h>
+#include <stdio.h>
+
+#include "commands.h"
+
+#define _(NAME, MAIN) int MAIN(int argc, char *argv[]);
+LIST_COMMANDS(_)
+#undef _
+
+int
+main(int argc, char *argv[])
+{
+       char *p;
+
+       p = strrchr(argv[0], '/');
+       p = p ? &p[1] : argv[0];
+
+       #define _(NAME, MAIN)\
+               if (!strcmp(p, NAME))\
+                       return MAIN(argc, argv);
+       LIST_COMMANDS(_)
+       #undef _
+
+       fprintf(stderr, "%s is a multicall binary and cannot be execute 
directly\n", argv[0]);
+       return 127;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/sha3sum.c new/sha3sum-1.2.1/sha3sum.c
--- old/sha3sum-1.1.5/sha3sum.c 1970-01-01 01:00:00.000000000 +0100
+++ new/sha3sum-1.2.1/sha3sum.c 2021-02-18 21:23:21.000000000 +0100
@@ -0,0 +1,68 @@
+/* See LICENSE file for copyright and license details. */
+#include "common.h"
+#include "arg.h"
+
+#include <alloca.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+static void
+usage(void)
+{
+       /*
+        * Since our main in this file validates the arguments,
+        * we can add -a here but leave it left out in common.c,
+        * which we like because the other commands do not have -a.
+        */
+
+       fprintf(stderr, "usage: %s [-u | -l | -b | -c] [-a bits] [-R rate] [-C 
capacity] "
+                       "[-N output-size] [-S state-size] [-W word-size] "
+                       "[-Z squeeze-count] [-vxz] [file ...]\n", argv0);
+       exit(2);
+}
+
+int
+main(int argc, char *argv[])
+{
+       int bits = 224, orig_argc = argc;
+       char **orig_argv = alloca((argc + 1) * sizeof(*argv));
+       struct libkeccak_generalised_spec spec;
+
+       libkeccak_generalised_spec_initialise(&spec);
+       memcpy(orig_argv, argv, (argc + 1) * sizeof(*argv));
+
+       ARGBEGIN {
+       case 'R':
+       case 'C':
+       case 'N':
+       case 'O':
+       case 'S':
+       case 'B':
+       case 'W':
+       case 'Z':
+               (void) EARGF(usage());
+               break;
+       case 'u':
+       case 'l':
+       case 'b':
+       case 'c':
+       case 'v':
+       case 'x':
+       case 'z':
+               break;
+       case 'a':
+               bits = atoi(EARGF(usage()));
+               if (bits != 224 && bits != 256 && bits != 384 && bits != 512) {
+                       fprintf(stderr, "%s: valid arguments for -a are 224 
(default), 256, 384, and 512\n", argv0);
+                       return 2;
+               }
+               break;
+       default:
+               usage();
+       } ARGEND;
+
+       libkeccak_spec_sha3((struct libkeccak_spec *)&spec, bits);
+       return run(orig_argc, orig_argv, &spec, LIBKECCAK_SHA3_SUFFIX, 1);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/test new/sha3sum-1.2.1/test
--- old/sha3sum-1.1.5/test      2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/test      2021-02-18 21:23:21.000000000 +0100
@@ -10,31 +10,40 @@
 mkdir .testdir
 
 
-test "$(printf '' | ./sha3-224sum)" = 
'6B4E03423667DBB73B6E15454F0EB1ABD4597F9A1B078E3F5B5A6BC7  -'
-test "$(printf '' | ./sha3-256sum)" = 
'A7FFC6F8BF1ED76651C14756A061D662F580FF4DE43B49FA82D80A4B80F8434A  -'
-test "$(printf '' | ./sha3-384sum)" = 
'0C63A75B845E4F7D01107D852E4C2485C51A50AAAA94FC61995E71BBEE983A2AC3713831264ADB47FB6BD1E058D5F004
  -'
-test "$(printf '' | ./sha3-512sum)" = 
'A69F73CCA23A9AC5C8B567DC185A756E97C982164FE25859E0D1DCC1475C80A615B2123AF1F5F94C11E3E9402C3AC558F500199D95B6D3E301758586281DCD26
  -'
-
-
-test "$(printf '' | ./keccak-224sum)" = 
'F71837502BA8E10837BDD8D365ADB85591895602FC552B48B7390ABD  -'
-test "$(printf '' | ./keccak-256sum)" = 
'C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A470  -'
-test "$(printf '' | ./keccak-384sum)" = 
'2C23146A63A29ACF99E73B88F8C24EAA7DC60AA771780CCC006AFBFA8FE2479B2DD2B21362337441AC12B515911957FF
  -'
-test "$(printf '' | ./keccak-512sum)" = 
'0EAB42DE4C3CEB9235FC91ACFFE746B29C29A8C366B7C60E4E67C466F36A4304C00FA9CAF9D87976BA469BCBE06713B435F091EF2769FB160CDAB33D3670680E
  -'
+test "$(printf '' | ./sha3-224sum)" = 
'6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7  -'
+test "$(printf '' | ./sha3-256sum)" = 
'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a  -'
+test "$(printf '' | ./sha3-384sum)" = 
'0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004
  -'
+test "$(printf '' | ./sha3-512sum)" = 
'a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
  -'
+
+
+test "$(printf '' | ./sha3sum)" = 
'6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7  -'
+test "$(printf '' | ./sha3sum -a224)" = 
'6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7  -'
+test "$(printf '' | ./sha3sum -a256)" = 
'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a  -'
+test "$(printf '' | ./sha3sum -a 384)" = 
'0c63a75b845e4f7d01107d852e4c2485c51a50aaaa94fc61995e71bbee983a2ac3713831264adb47fb6bd1e058d5f004
  -'
+test "$(printf '' | ./sha3sum -a 512)" = 
'a69f73cca23a9ac5c8b567dc185a756e97c982164fe25859e0d1dcc1475c80a615b2123af1f5f94c11e3e9402c3ac558f500199d95b6d3e301758586281dcd26
  -'
+
+
+test "$(printf '' | ./keccak-224sum)" = 
'f71837502ba8e10837bdd8d365adb85591895602fc552b48b7390abd  -'
+test "$(printf '' | ./keccak-256sum)" = 
'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470  -'
+test "$(printf '' | ./keccak-384sum)" = 
'2c23146a63a29acf99e73b88f8c24eaa7dc60aa771780ccc006afbfa8fe2479b2dd2b21362337441ac12b515911957ff
  -'
+test "$(printf '' | ./keccak-512sum)" = 
'0eab42de4c3ceb9235fc91acffe746b29c29a8c366b7c60e4e67c466f36a4304c00fa9caf9d87976ba469bcbe06713b435f091ef2769fb160cdab33d3670680e
  -'
 
 
 test "$(printf '' | ./sha3-224sum -u)" = 
'6B4E03423667DBB73B6E15454F0EB1ABD4597F9A1B078E3F5B5A6BC7  -'
 test "$(printf '' | ./sha3-224sum -l)" = 
'6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7  -'
+test "$(printf '' | ./sha3-224sum -ul)" = 
'6b4e03423667dbb73b6e15454f0eb1abd4597f9a1b078e3f5b5a6bc7  -'
+test "$(printf '' | ./sha3-224sum -lu)" = 
'6B4E03423667DBB73B6E15454F0EB1ABD4597F9A1B078E3F5B5A6BC7  -'
 test "$(printf '' | ./sha3-224sum -b)" = "$(printf 
'\153\116\003\102\066\147\333\267\073\156\025\105\117\016\261\253\324\131\177\232\033\007\216\077\133\132\153\307')"
 
 
-test "$(printf '' | ./rawshake256sum -N 128)" = 
'3A1108D4A90A31B85A10BDCE77F4BFBD  -'
-test "$(printf '' | ./rawshake256sum -N 8)" = '3A  -'
-test "$(printf '' | ./rawshake512sum -N 128)" = 
'0AE7DAC687C3525D5C2A6C4119EA3968  -'
+test "$(printf '' | ./rawshake256sum -N 128)" = 
'3a1108d4a90a31b85a10bdce77f4bfbd  -'
+test "$(printf '' | ./rawshake256sum -N 8)" = '3a  -'
+test "$(printf '' | ./rawshake512sum -N 128)" = 
'0ae7dac687c3525d5c2a6c4119ea3968  -'
 
 
-test "$(printf '' | ./shake256sum -N 128)" = '46B9DD2B0BA88D13233B3FEB743EEB24 
 -'
+test "$(printf '' | ./shake256sum -N 128)" = '46b9dd2b0ba88d13233b3feb743eeb24 
 -'
 test "$(printf '' | ./shake256sum -N 8)" = '46  -'
-test "$(printf '' | ./shake512sum -N 128)" = 'AE1B4EEA1EAF5EA633E66045F03FF11B 
 -'
+test "$(printf '' | ./shake512sum -N 128)" = 'ae1b4eea1eaf5ea633e66045f03ff11b 
 -'
 
 
 ! test "$(printf '' | ./sha3-224sum)" = "$(printf '\n' | ./sha3-224sum)"
@@ -42,21 +51,32 @@
 ! test "$(printf '' | ./sha3-224sum /dev/null)" = "$(printf '' | 
./sha3-224sum)"
 
 
-test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum)" = 
'22C8017AC8BCF65F59D1B7E92C9D4C6739D25E34CE5CB608B24FF096  -'
-test "$(printf 'intensifierat sturdiness perl-image-exiftool vingla' | 
./sha3-224sum)" = '43808DDE2662143DC4EED5DAC5E98C74B06711829F02A3B121BD74F3  -'
-test "$(printf 'timjan avogadro uppdriven lib32-llvm-amdgpu-snapshot' | 
./sha3-224sum)" = 'D32B4AC86065774DEE5EB5CDD2F67B4E86501086D7373884E8B20A36  -'
-test "$(printf "grilo-plugins auditorium tull dissimilarity's" | 
./sha3-224sum)" = 'EFBD76D45BFA952485148F8AD46143897F17C27FFDC8EB7287F9353B  -'
-test "$(printf 'royalty tt yellowstone deficiencies' | ./sha3-224sum)" = 
'6705AA36ECF58F333E0E6364AC1D0B7931D402E13282127CFD6F876C  -'
-test "$(printf "kdegames-kdiamond tunisisk occurrence's outtalad" | 
./sha3-224sum)" = '803A0FF09DDA0DF306E483A9F91B20A3DBBF9C2EBB8D0A3B28F3B9E0  -'
-test "$(printf "chevalier slat's spindel representations" | ./sha3-224sum)" = 
'A64779ACA943A6AEF1D2E7C9A0F4E997F4DABD1F77112A22121D3ED5  -'
-test "$(printf 'archery lexicographical equine veered' | ./sha3-224sum)" = 
'F0A3E0587AF7723F0AA4719059D3F5107115A5B3667CD5209CC4D867  -'
-test "$(printf 'splay washbasin opposing there' | ./sha3-224sum)" = 
'312E7E3C6403AB1A086155FB9A52B22A3D0D257876AFD2B93FB7272E  -'
-test "$(printf 'faktum desist thundered klen' | ./sha3-224sum)" = 
'270BA05B764221FF5B5D94ADFB4FDB1F36F07FE7C438904A5F3DF071  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum)" = 
'22c8017ac8bcf65f59d1b7e92c9d4c6739d25e34ce5cb608b24ff096  -'
+test "$(printf 'intensifierat sturdiness perl-image-exiftool vingla' | 
./sha3-224sum)" = '43808dde2662143dc4eed5dac5e98c74b06711829f02a3b121bd74f3  -'
+test "$(printf 'timjan avogadro uppdriven lib32-llvm-amdgpu-snapshot' | 
./sha3-224sum)" = 'd32b4ac86065774dee5eb5cdd2f67b4e86501086d7373884e8b20a36  -'
+test "$(printf "grilo-plugins auditorium tull dissimilarity's" | 
./sha3-224sum)" = 'efbd76d45bfa952485148f8ad46143897f17c27ffdc8eb7287f9353b  -'
+test "$(printf 'royalty tt yellowstone deficiencies' | ./sha3-224sum)" = 
'6705aa36ecf58f333e0e6364ac1d0b7931d402e13282127cfd6f876c  -'
+test "$(printf "kdegames-kdiamond tunisisk occurrence's outtalad" | 
./sha3-224sum)" = '803a0ff09dda0df306e483a9f91b20a3dbbf9c2ebb8d0a3b28f3b9e0  -'
+test "$(printf "chevalier slat's spindel representations" | ./sha3-224sum)" = 
'a64779aca943a6aef1d2e7c9a0f4e997f4dabd1f77112a22121d3ed5  -'
+test "$(printf 'archery lexicographical equine veered' | ./sha3-224sum)" = 
'f0a3e0587af7723f0aa4719059d3f5107115a5b3667cd5209cc4d867  -'
+test "$(printf 'splay washbasin opposing there' | ./sha3-224sum)" = 
'312e7e3c6403ab1a086155fb9a52b22a3d0d257876afd2b93fb7272e  -'
+test "$(printf 'faktum desist thundered klen' | ./sha3-224sum)" = 
'270ba05b764221ff5b5d94adfb4fdb1f36f07fe7c438904a5f3df071  -'
+
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum)" = 
'22c8017ac8bcf65f59d1b7e92c9d4c6739d25e34ce5cb608b24ff096  -'
+test "$(printf 'intensifierat sturdiness perl-image-exiftool vingla' | 
./sha3sum)" = '43808dde2662143dc4eed5dac5e98c74b06711829f02a3b121bd74f3  -'
+test "$(printf 'timjan avogadro uppdriven lib32-llvm-amdgpu-snapshot' | 
./sha3sum)" = 'd32b4ac86065774dee5eb5cdd2f67b4e86501086d7373884e8b20a36  -'
+test "$(printf "grilo-plugins auditorium tull dissimilarity's" | ./sha3sum)" = 
'efbd76d45bfa952485148f8ad46143897f17c27ffdc8eb7287f9353b  -'
+test "$(printf 'royalty tt yellowstone deficiencies' | ./sha3sum)" = 
'6705aa36ecf58f333e0e6364ac1d0b7931d402e13282127cfd6f876c  -'
+test "$(printf "kdegames-kdiamond tunisisk occurrence's outtalad" | 
./sha3sum)" = '803a0ff09dda0df306e483a9f91b20a3dbbf9c2ebb8d0a3b28f3b9e0  -'
+test "$(printf "chevalier slat's spindel representations" | ./sha3sum)" = 
'a64779aca943a6aef1d2e7c9a0f4e997f4dabd1f77112a22121d3ed5  -'
+test "$(printf 'archery lexicographical equine veered' | ./sha3sum)" = 
'f0a3e0587af7723f0aa4719059d3f5107115a5b3667cd5209cc4d867  -'
+test "$(printf 'splay washbasin opposing there' | ./sha3sum)" = 
'312e7e3c6403ab1a086155fb9a52b22a3d0d257876afd2b93fb7272e  -'
+test "$(printf 'faktum desist thundered klen' | ./sha3sum)" = 
'270ba05b764221ff5b5d94adfb4fdb1f36f07fe7c438904a5f3df071  -'
 
 
 printf 'withdrew hypothesis snakebird qmc2' > .testdir/x
-test "$(./sha3-224sum < .testdir/x)" = 
'22C8017AC8BCF65F59D1B7E92C9D4C6739D25E34CE5CB608B24FF096  -'
-test "$(./sha3-224sum .testdir/x)" = 
'22C8017AC8BCF65F59D1B7E92C9D4C6739D25E34CE5CB608B24FF096  .testdir/x'
+test "$(./sha3-224sum < .testdir/x)" = 
'22c8017ac8bcf65f59d1b7e92c9d4c6739d25e34ce5cb608b24ff096  -'
+test "$(./sha3-224sum .testdir/x)" = 
'22c8017ac8bcf65f59d1b7e92c9d4c6739d25e34ce5cb608b24ff096  .testdir/x'
 
 
 set +e
@@ -67,31 +87,47 @@
 
 
 printf "capitol's kvistfri broadly raping" > .testdir/x
-test "$(./keccaksum -R 1024 -C 576 -N 256 < .testdir/x)" = 
'65070CDD6F91C0AADCFC470895A2606C828BCE7CE3FA723418C9013DE9225351  -'
-test "$(./keccaksum -R 512 -C 1088 -N 256 < .testdir/x)" = 
'E6F86EBC15B962F73F36F36FC8A84C3AE84B1C1023BFD4C5F1829389135AECC3  -'
-test "$(./keccaksum -R 256 -C 1344 -N 256 < .testdir/x)" = 
'420B97FC88962C87EC2ADAA8F48D74D9FF4EA7AE7D691F9C33B8713CA1D3D573  -'
-test "$(./keccaksum -R 512 -C  288 -N 256 < .testdir/x)" = 
'524790AFBE4706D938B6F753E14104F556890E2A415E211B0564D60499DB0333  -'
-test "$(./keccaksum -R 256 -C  544 -N 256 < .testdir/x)" = 
'04A6B4AD08B3018EEFBA0FB756272D949AC0F71C26F836D31DD13B28B884AA0F  -'
-test "$(./keccaksum -R 256 -C  144 -N 256 < .testdir/x)" = 
'D56F547791225E54460E6274ED31E57B7085820C11D65F1F322A16A3352C85ED  -'
-test "$(./keccaksum -R 128 -C  272 -N 256 < .testdir/x)" = 
'CEEC066A57B9B31A5A0661DF7BAFEC4183A26D0ED81E50BC958471F84FA347A7  -'
-test "$(./keccaksum -R 128 -C   72 -N 256 < .testdir/x)" = 
'B18F679C7105A72A993F70FA5ADB3F17EF7CCFFAFFB4DC0F6FED74AA2F565194  -'
-test "$(./keccaksum -R  64 -C  136 -N 256 < .testdir/x)" = 
'9B845C1ECC2B1B3A48BA42EF29CCC4B348DA8AB15074A870D8E799CA33C15E4B  -'
-
-
-test "$(printf '' | ./keccaksum)" = 
'6753E3380C09E385D0339EB6B050A68F66CFD60A73476E6FD6ADEB72F5EDD7C6F04A5D017A19CBE291935855B4860F69DF04C98AA78B407A9BA9826F7266EF14
  -'
-test "$(printf '' | ./keccaksum -R 1024)" = 
'6753E3380C09E385D0339EB6B050A68F66CFD60A73476E6FD6ADEB72F5EDD7C6F04A5D017A19CBE291935855B4860F69DF04C98AA78B407A9BA9826F7266EF14BA6D3F90C4FE154D27C2858EA6DB8C117411A1BC5C499410C391B298F37BF636B0F5C31DBD6487A7D3D8CF2A97B619697E66D894299B8B4D80E0498538E18544C3A2FA33F0BFB1CFEF8DA7875C4967F3
  -'
-test "$(printf '' | ./keccaksum -C 512)" = 
'C5D2460186F7233C927E7DB2DCC703C0E500B653CA82273B7BFAD8045D85A4703DBB9A2CD87CA974B9A2B0EC61119BCB5CEDF9C0C411221F6141A25F17C60D82D24680ABBCBFBA815B762B24B751D5B1E85325BA5E6DF23C10725BFE986ACE3BA2D24535A79F7DBABB153BB0D33C0DFA09CEC712EBD7FE3B49A9194E859C82EB
  -'
-test "$(printf '' | ./keccaksum -N 100)" = '6753E3380C09E385D0339EB600  -'
-test "$(printf '' | ./keccaksum -S 800)" = 
'681C4ECFE190D9625B011BAACED04540C73A1FF62DEF9AEE443DEA516387FBC8  -'
+test "$(./keccaksum -R 1024 -C 576 -N 256 < .testdir/x)" = 
'65070cdd6f91c0aadcfc470895a2606c828bce7ce3fa723418c9013de9225351  -'
+test "$(./keccaksum -R 512 -C 1088 -N 256 < .testdir/x)" = 
'e6f86ebc15b962f73f36f36fc8a84c3ae84b1c1023bfd4c5f1829389135aecc3  -'
+test "$(./keccaksum -R 256 -C 1344 -N 256 < .testdir/x)" = 
'420b97fc88962c87ec2adaa8f48d74d9ff4ea7ae7d691f9c33b8713ca1d3d573  -'
+test "$(./keccaksum -R 512 -C  288 -N 256 < .testdir/x)" = 
'524790afbe4706d938b6f753e14104f556890e2a415e211b0564d60499db0333  -'
+test "$(./keccaksum -R 256 -C  544 -N 256 < .testdir/x)" = 
'04a6b4ad08b3018eefba0fb756272d949ac0f71c26f836d31dd13b28b884aa0f  -'
+test "$(./keccaksum -R 256 -C  144 -N 256 < .testdir/x)" = 
'd56f547791225e54460e6274ed31e57b7085820c11d65f1f322a16a3352c85ed  -'
+test "$(./keccaksum -R 128 -C  272 -N 256 < .testdir/x)" = 
'ceec066a57b9b31a5a0661df7bafec4183a26d0ed81e50bc958471f84fa347a7  -'
+test "$(./keccaksum -R 128 -C   72 -N 256 < .testdir/x)" = 
'b18f679c7105a72a993f70fa5adb3f17ef7ccffaffb4dc0f6fed74aa2f565194  -'
+test "$(./keccaksum -R  64 -C  136 -N 256 < .testdir/x)" = 
'9b845c1ecc2b1b3a48ba42ef29ccc4b348da8ab15074a870d8e799ca33c15e4b  -'
+
+
+test "$(printf '' | ./keccaksum)" = 
'6753e3380c09e385d0339eb6b050a68f66cfd60a73476e6fd6adeb72f5edd7c6f04a5d017a19cbe291935855b4860f69df04c98aa78b407a9ba9826f7266ef14
  -'
+test "$(printf '' | ./keccaksum -R 1024)" = 
'6753e3380c09e385d0339eb6b050a68f66cfd60a73476e6fd6adeb72f5edd7c6f04a5d017a19cbe291935855b4860f69df04c98aa78b407a9ba9826f7266ef14ba6d3f90c4fe154d27c2858ea6db8c117411a1bc5c499410c391b298f37bf636b0f5c31dbd6487a7d3d8cf2a97b619697e66d894299b8b4d80e0498538e18544c3a2fa33f0bfb1cfef8da7875c4967f3
  -'
+test "$(printf '' | ./keccaksum -C 512)" = 
'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4703dbb9a2cd87ca974b9a2b0ec61119bcb5cedf9c0c411221f6141a25f17c60d82d24680abbcbfba815b762b24b751d5b1e85325ba5e6df23c10725bfe986ace3ba2d24535a79f7dbabb153bb0d33c0dfa09cec712ebd7fe3b49a9194e859c82eb
  -'
+test "$(printf '' | ./keccaksum -N 100)" = '6753e3380c09e385d0339eb600  -'
+test "$(printf '' | ./keccaksum -S 800)" = 
'681c4ecfe190d9625b011baaced04540c73a1ff62def9aee443dea516387fbc8  -'
 
 
 test "$(printf 'a' | ./sha3-224sum)" = "$(printf '61' | ./sha3-224sum -x)"
 
 
-test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 2)" = 
'03FE12B4B51D56D96377D927E5CD498FC4BC3AEE389B2F2FF8393AA5  -'
-test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 3)" = 
'0B8FB64EE5D8836956F49CBE4577AFBC638C855C1D553452FC1ECEB8  -'
-test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 4)" = 
'1E03B4CD9EEF3892A7B5E865FCE393C4BC90120D9AEA84D0A0DFF3B8  -'
-test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 5)" = 
'AAC92FBFD22CE62E83DDAF2E61BD7BF696326E46D1327DEFA4530E20  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 2)" = 
'03fe12b4b51d56d96377d927e5cd498fc4bc3aee389b2f2ff8393aa5  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 3)" = 
'0b8fb64ee5d8836956f49cbe4577afbc638c855c1d553452fc1eceb8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 4)" = 
'1e03b4cd9eef3892a7b5e865fce393c4bc90120d9aea84d0a0dff3b8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3-224sum -Z 5)" = 
'aac92fbfd22ce62e83ddaf2e61bd7bf696326e46d1327defa4530e20  -'
+
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -Z 2)" = 
'03fe12b4b51d56d96377d927e5cd498fc4bc3aee389b2f2ff8393aa5  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -Z 3)" = 
'0b8fb64ee5d8836956f49cbe4577afbc638c855c1d553452fc1eceb8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -Z 4)" = 
'1e03b4cd9eef3892a7b5e865fce393c4bc90120d9aea84d0a0dff3b8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -Z 5)" = 
'aac92fbfd22ce62e83ddaf2e61bd7bf696326e46d1327defa4530e20  -'
+
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -a 224 -Z 2)" 
= '03fe12b4b51d56d96377d927e5cd498fc4bc3aee389b2f2ff8393aa5  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -a 224 -Z 3)" 
= '0b8fb64ee5d8836956f49cbe4577afbc638c855c1d553452fc1eceb8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -a 224 -Z 4)" 
= '1e03b4cd9eef3892a7b5e865fce393c4bc90120d9aea84d0a0dff3b8  -'
+test "$(printf 'withdrew hypothesis snakebird qmc2' | ./sha3sum -a 224 -Z 5)" 
= 'aac92fbfd22ce62e83ddaf2e61bd7bf696326e46d1327defa4530e20  -'
+
+test "$(printf 'abc xyz' | ./sha3sum -a 256)" = "$(printf 'abc xyz' | 
./sha3-256sum)"
+test "$(printf 'abc xyz' | ./sha3sum -a 384)" = "$(printf 'abc xyz' | 
./sha3-384sum)"
+test "$(printf 'abc xyz' | ./sha3sum -a 512)" = "$(printf 'abc xyz' | 
./sha3-512sum)"
+
+! printf '' | ./sha3sum -a 500 >/dev/null 2>/dev/null
 
 
 printf 'alef'  > .testdir/a
@@ -99,8 +135,8 @@
 printf 'gimel' > .testdir/c
 printf 'dalet' > .testdir/d
 
-./sha3-224sum .testdir/a .testdir/b .testdir/c .testdir/d > .testdir/sums-1
-./sha3-224sum .testdir/b .testdir/a .testdir/d .testdir/c > .testdir/sums-2
+./sha3-224sum -u .testdir/a .testdir/b .testdir/c .testdir/d > .testdir/sums-1
+./sha3-224sum -l .testdir/b .testdir/a .testdir/d .testdir/c > .testdir/sums-2
 
 ./sha3-224sum -c .testdir/sums-1
 ./sha3-224sum -c .testdir/sums-2
@@ -122,4 +158,32 @@
 test $x = 1
 
 
+printf 'dalet' > .testdir/d
+
+./sha3-224sum -zu .testdir/a .testdir/b .testdir/c .testdir/d > 
.testdir/sums-1z
+./sha3-224sum -lz .testdir/b .testdir/a .testdir/d .testdir/c > 
.testdir/sums-2z
+
+./sha3-224sum -cz .testdir/sums-1z
+./sha3-224sum -zc .testdir/sums-2z
+
+./sha3-224sum -cz < .testdir/sums-1z
+./sha3-224sum -zc < .testdir/sums-2z
+
+rm .testdir/d
+set +e
+./sha3-224sum -cz .testdir/sums-1z
+x=$?
+set -e
+test $x = 1
+printf '' > .testdir/d
+set +e
+./sha3-224sum -cz .testdir/sums-1z
+x=$?
+set -e
+test $x = 1
+
+! test "$(./sha3-224sum < .testdir/sums-1z)" = "$(./sha3-224sum < 
.testdir/sums-1)"
+test "$(./sha3-224sum < .testdir/sums-1z)" = "$(tr '\n' '\0' < .testdir/sums-1 
| ./sha3-224sum)"
+
+
 rm -r .testdir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sha3sum-1.1.5/xsum.man new/sha3sum-1.2.1/xsum.man
--- old/sha3sum-1.1.5/xsum.man  2019-02-11 19:05:34.000000000 +0100
+++ new/sha3sum-1.2.1/xsum.man  2021-02-18 21:23:21.000000000 +0100
@@ -4,6 +4,8 @@
 .SH SYNOPSIS
 .B xsum
 [-u | -l | -b | -c]
+\# ONLY SHA3: [-a
+\# ONLY SHA3: .IR bits ]
 [-R
 .IR rate ]
 [-C
@@ -16,17 +18,17 @@
 .IR word-size ]
 [-Z
 .IR squeeze-count ]
-[-vx]
+[-vxz]
 .RI [ file \ ...]
 .SH DESCRIPTION
 Print or check Xsum checksums. If no file
 or when the file is -, read standard input.
 .TP
 .B -u
-Output checksums in upper-case hexadecimal representation. (default)
+Output checksums in upper-case hexadecimal representation.
 .TP
 .B -l
-Output checksums in lower-case hexadecimal representation.
+Output checksums in lower-case hexadecimal representation. (default)
 .TP
 .B -b
 Output checksums in binary representation. This suppresses
@@ -40,14 +42,28 @@
 similarly. This is not going to work if any of the
 filenames in the input files starts with a regular
 blank space or horizontal tab space, or if they
-contain a line feed, carriage return or form feed.
+contain a line feed, carriage return or form feed,
+unless the
+.B -z
+option is also used.
+\# ONLY SHA3: .TP
+\# ONLY SHA3: .BI -a\  bits
+\# ONLY SHA3: Select version of the SHA3 algorithm. Valid values
+\# ONLY SHA3: are 224 (default), 256, 384, and 512.
+.TP
+.B -v
+Print the hashing parameters.
 .TP
 .B -x
 Convert input files from hexadecimal for to binary form
 before calculating the checksums.
 .TP
-.B -v
-Print the hashing parameters.
+.B -z
+Lines end with NUL instead of LF. If used with
+.BR -c ,
+this applies to read files (not the output), but it will
+also apply more strict parsing and allow any whitespace
+in file names.
 .P
 The following options change the hashing parameters:
 .TP
@@ -77,7 +93,7 @@
 Checksums did not match or a file did not exist.
 .TP
 2
-An error occurrsed.
+An error occurred.
 .SH AUTHORS
 Mattias Andr??e
 .RI < maand...@kth.se >

Reply via email to