components/sudo/patches/04-use_libmd.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 13 Oct 2014 14:17:14 -0700
changeset 2147 0cb80a8f6f24
parent 1830 93243cb310c5
permissions -rw-r--r--
Close of build 59.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1830
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     1
Taken from http://www.sudo.ws/repos/sudo/rev/cd02732f0704 and backported to
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     2
sudo 1.9.5p5. The fix will be available in sudo 1.8.10p3.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     3
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     4
Patching of configure script was removed as we regenerate it by autotools
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     5
anyway.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     6
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     7
diff -urN sudo-1.8.9p5.old/common/Makefile.in sudo-1.8.9p5/common/Makefile.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     8
--- sudo-1.8.9p5.old/common/Makefile.in	2014-01-07 19:09:02.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
     9
+++ sudo-1.8.9p5/common/Makefile.in	2014-04-10 15:20:34.447046660 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    10
@@ -186,8 +186,8 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    11
             $(top_builddir)/config.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    12
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/atomode.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    13
 conf_test.lo: $(srcdir)/regress/sudo_conf/conf_test.c $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    14
-              $(incdir)/queue.h $(incdir)/sudo_conf.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    15
-              $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    16
+              $(incdir)/queue.h $(incdir)/sudo_conf.h $(incdir)/sudo_util.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    17
+              $(top_builddir)/config.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    18
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/sudo_conf/conf_test.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    19
 event.lo: $(srcdir)/event.c $(incdir)/alloc.h $(incdir)/fatal.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    20
           $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    21
@@ -223,8 +223,8 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    22
             $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    23
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/gidlist.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    24
 hltq_test.lo: $(srcdir)/regress/tailq/hltq_test.c $(incdir)/fatal.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    25
-              $(incdir)/missing.h $(incdir)/queue.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    26
-              $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    27
+              $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_util.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    28
+              $(top_builddir)/config.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    29
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/tailq/hltq_test.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    30
 lbuf.lo: $(srcdir)/lbuf.c $(incdir)/alloc.h $(incdir)/fatal.h $(incdir)/lbuf.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    31
          $(incdir)/missing.h $(incdir)/sudo_debug.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    32
@@ -233,7 +233,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    33
                 $(incdir)/gettext.h $(incdir)/missing.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    34
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(top_srcdir)/src/locale_stub.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    35
 parseln_test.lo: $(srcdir)/regress/sudo_parseln/parseln_test.c \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    36
-                 $(incdir)/fileops.h $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    37
+                 $(incdir)/fileops.h $(incdir)/missing.h $(incdir)/sudo_util.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    38
                  $(top_builddir)/config.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    39
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/sudo_parseln/parseln_test.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    40
 progname.lo: $(srcdir)/progname.c $(incdir)/missing.h $(incdir)/sudo_util.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    41
diff -urN sudo-1.8.9p5.old/compat/Makefile.in sudo-1.8.9p5/compat/Makefile.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    42
--- sudo-1.8.9p5.old/compat/Makefile.in	2014-01-07 19:08:52.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    43
+++ sudo-1.8.9p5/compat/Makefile.in	2014-04-10 15:20:34.447431545 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    44
@@ -178,7 +178,9 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    45
 getcwd.lo: $(srcdir)/getcwd.c $(incdir)/missing.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    46
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getcwd.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    47
 getgrouplist.lo: $(srcdir)/getgrouplist.c $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    48
-                 $(top_builddir)/config.h $(top_srcdir)/compat/nss_dbdefs.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    49
+                 $(incdir)/sudo_util.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    50
+                 $(top_srcdir)/compat/nss_dbdefs.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    51
+                 $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    52
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getgrouplist.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    53
 getline.lo: $(srcdir)/getline.c $(incdir)/missing.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    54
 	$(LIBTOOL) --mode=compile $(CC) -c -o $@ $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/getline.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    55
diff -urN sudo-1.8.9p5.old/compat/sha2.c sudo-1.8.9p5/compat/sha2.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    56
--- sudo-1.8.9p5.old/compat/sha2.c	1970-01-01 01:00:00.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    57
+++ sudo-1.8.9p5/compat/sha2.c	2014-04-10 15:20:34.448122160 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    58
@@ -0,0 +1,526 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    59
+/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    60
+ * Copyright (c) 2013 Todd C. Miller <[email protected]>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    61
+ *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    62
+ * Permission to use, copy, modify, and distribute this software for any
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    63
+ * purpose with or without fee is hereby granted, provided that the above
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    64
+ * copyright notice and this permission notice appear in all copies.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    65
+ *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    66
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    67
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    68
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    69
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    70
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    71
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    72
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    73
+ */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    74
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    75
+/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    76
+ * Implementation of SHA-224, SHA-256, SHA-384 and SHA-512
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    77
+ * as per FIPS 180-4: Secure Hash Standard (SHS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    78
+ * http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    79
+ *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    80
+ * Derived from the public domain SHA-1 and SHA-2 implementations
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    81
+ * by Steve Reid and Wei Dai respectively.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    82
+ */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    83
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    84
+#include <config.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    85
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    86
+#include <stdio.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    87
+#ifdef STDC_HEADERS
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    88
+# include <stdlib.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    89
+# include <stddef.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    90
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    91
+# ifdef HAVE_STDLIB_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    92
+#  include <stdlib.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    93
+# endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    94
+#endif /* STDC_HEADERS */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    95
+#ifdef HAVE_STRING_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    96
+# if defined(HAVE_MEMORY_H) && !defined(STDC_HEADERS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    97
+#  include <memory.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    98
+# endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
    99
+# include <string.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   100
+#endif /* HAVE_STRING_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   101
+#ifdef HAVE_STRINGS_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   102
+# include <strings.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   103
+#endif /* HAVE_STRINGS_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   104
+#if defined(HAVE_STDINT_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   105
+# include <stdint.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   106
+#elif defined(HAVE_INTTYPES_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   107
+# include <inttypes.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   108
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   109
+#if defined(HAVE_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   110
+# include <endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   111
+#elif defined(HAVE_SYS_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   112
+# include <sys/endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   113
+#elif defined(HAVE_MACHINE_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   114
+# include <machine/endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   115
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   116
+# include "compat/endian.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   117
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   118
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   119
+#include "missing.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   120
+#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   121
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   122
+/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   123
+ * SHA-2 operates on 32-bit and 64-bit words in big endian byte order.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   124
+ * The following macros convert between character arrays and big endian words.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   125
+ */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   126
+#define BE8TO32(x, y) do {				\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   127
+	(x) = (((uint32_t)((y)[0] & 255) << 24) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   128
+	       ((uint32_t)((y)[1] & 255) << 16) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   129
+	       ((uint32_t)((y)[2] & 255) << 8)  |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   130
+	       ((uint32_t)((y)[3] & 255)));		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   131
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   132
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   133
+#define BE8TO64(x, y) do {				\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   134
+	(x) = (((uint64_t)((y)[0] & 255) << 56) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   135
+	       ((uint64_t)((y)[1] & 255) << 48) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   136
+	       ((uint64_t)((y)[2] & 255) << 40) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   137
+	       ((uint64_t)((y)[3] & 255) << 32) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   138
+	       ((uint64_t)((y)[4] & 255) << 24) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   139
+	       ((uint64_t)((y)[5] & 255) << 16) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   140
+	       ((uint64_t)((y)[6] & 255) << 8)  |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   141
+	       ((uint64_t)((y)[7] & 255)));		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   142
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   143
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   144
+#define BE32TO8(x, y) do {			\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   145
+	(x)[0] = (uint8_t)(((y) >> 24) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   146
+	(x)[1] = (uint8_t)(((y) >> 16) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   147
+	(x)[2] = (uint8_t)(((y) >> 8) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   148
+	(x)[3] = (uint8_t)((y) & 255);		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   149
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   150
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   151
+#define BE64TO8(x, y) do {			\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   152
+	(x)[0] = (uint8_t)(((y) >> 56) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   153
+	(x)[1] = (uint8_t)(((y) >> 48) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   154
+	(x)[2] = (uint8_t)(((y) >> 40) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   155
+	(x)[3] = (uint8_t)(((y) >> 32) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   156
+	(x)[4] = (uint8_t)(((y) >> 24) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   157
+	(x)[5] = (uint8_t)(((y) >> 16) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   158
+	(x)[6] = (uint8_t)(((y) >> 8) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   159
+	(x)[7] = (uint8_t)((y) & 255);		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   160
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   161
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   162
+#define rotrFixed(x,y) (y ? ((x>>y) | (x<<(sizeof(x)*8-y))) : x)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   163
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   164
+#define blk0(i) (W[i])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   165
+#define blk2(i) (W[i&15]+=s1(W[(i-2)&15])+W[(i-7)&15]+s0(W[(i-15)&15]))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   166
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   167
+#define Ch(x,y,z) (z^(x&(y^z)))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   168
+#define Maj(x,y,z) (y^((x^y)&(y^z)))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   169
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   170
+#define a(i) T[(0-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   171
+#define b(i) T[(1-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   172
+#define c(i) T[(2-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   173
+#define d(i) T[(3-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   174
+#define e(i) T[(4-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   175
+#define f(i) T[(5-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   176
+#define g(i) T[(6-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   177
+#define h(i) T[(7-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   178
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   179
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   180
+SHA224Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   181
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   182
+	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   183
+	ctx->state.st32[0] = 0xc1059ed8UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   184
+	ctx->state.st32[1] = 0x367cd507UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   185
+	ctx->state.st32[2] = 0x3070dd17UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   186
+	ctx->state.st32[3] = 0xf70e5939UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   187
+	ctx->state.st32[4] = 0xffc00b31UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   188
+	ctx->state.st32[5] = 0x68581511UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   189
+	ctx->state.st32[6] = 0x64f98fa7UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   190
+	ctx->state.st32[7] = 0xbefa4fa4UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   191
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   192
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   193
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   194
+SHA224Transform(uint32_t state[8], const uint8_t buffer[SHA224_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   195
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   196
+	SHA256Transform(state, buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   197
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   198
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   199
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   200
+SHA224Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   201
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   202
+	SHA256Update(ctx, data, len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   203
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   204
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   205
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   206
+SHA224Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   207
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   208
+	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   209
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   210
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   211
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   212
+SHA224Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   213
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   214
+	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   215
+	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   216
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   217
+		memcpy(digest, ctx->state.st32, SHA224_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   218
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   219
+		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   220
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   221
+		for (i = 0; i < 7; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   222
+			BE32TO8(digest + (i * 4), ctx->state.st32[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   223
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   224
+		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   225
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   226
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   227
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   228
+static const uint32_t SHA256_K[64] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   229
+	0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   230
+	0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   231
+	0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   232
+	0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   233
+	0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   234
+	0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   235
+	0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   236
+	0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   237
+	0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   238
+	0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   239
+	0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   240
+	0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   241
+	0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   242
+	0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   243
+	0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   244
+	0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   245
+};
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   246
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   247
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   248
+SHA256Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   249
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   250
+	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   251
+	ctx->state.st32[0] = 0x6a09e667UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   252
+	ctx->state.st32[1] = 0xbb67ae85UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   253
+	ctx->state.st32[2] = 0x3c6ef372UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   254
+	ctx->state.st32[3] = 0xa54ff53aUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   255
+	ctx->state.st32[4] = 0x510e527fUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   256
+	ctx->state.st32[5] = 0x9b05688cUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   257
+	ctx->state.st32[6] = 0x1f83d9abUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   258
+	ctx->state.st32[7] = 0x5be0cd19UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   259
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   260
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   261
+/* Round macros for SHA256 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   262
+#define R(i) do {							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   263
+	h(i)+=S1(e(i))+Ch(e(i),f(i),g(i))+SHA256_K[i+j]+(j?blk2(i):blk0(i)); \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   264
+	d(i)+=h(i);							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   265
+	h(i)+=S0(a(i))+Maj(a(i),b(i),c(i));				     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   266
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   267
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   268
+#define S0(x) (rotrFixed(x,2)^rotrFixed(x,13)^rotrFixed(x,22))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   269
+#define S1(x) (rotrFixed(x,6)^rotrFixed(x,11)^rotrFixed(x,25))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   270
+#define s0(x) (rotrFixed(x,7)^rotrFixed(x,18)^(x>>3))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   271
+#define s1(x) (rotrFixed(x,17)^rotrFixed(x,19)^(x>>10))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   272
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   273
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   274
+SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   275
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   276
+	uint32_t W[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   277
+	uint32_t T[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   278
+	unsigned int j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   279
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   280
+	/* Copy context state to working vars. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   281
+	memcpy(T, state, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   282
+	/* Copy data to W in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   283
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   284
+	memcpy(W, data, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   285
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   286
+	for (j = 0; j < 16; j++) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   287
+	    BE8TO32(W[j], data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   288
+	    data += 4;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   289
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   290
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   291
+	/* 64 operations, partially loop unrolled. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   292
+	for (j = 0; j < 64; j += 16)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   293
+	{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   294
+		R( 0); R( 1); R( 2); R( 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   295
+		R( 4); R( 5); R( 6); R( 7);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   296
+		R( 8); R( 9); R(10); R(11);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   297
+		R(12); R(13); R(14); R(15);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   298
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   299
+	/* Add the working vars back into context state. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   300
+	state[0] += a(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   301
+	state[1] += b(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   302
+	state[2] += c(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   303
+	state[3] += d(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   304
+	state[4] += e(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   305
+	state[5] += f(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   306
+	state[6] += g(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   307
+	state[7] += h(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   308
+	/* Cleanup */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   309
+	memset_s(T, sizeof(T), 0, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   310
+	memset_s(W, sizeof(W), 0, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   311
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   312
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   313
+#undef S0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   314
+#undef S1
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   315
+#undef s0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   316
+#undef s1
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   317
+#undef R
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   318
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   319
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   320
+SHA256Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   321
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   322
+	size_t i = 0, j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   323
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   324
+	j = (size_t)((ctx->count[0] >> 3) & (SHA256_BLOCK_LENGTH - 1));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   325
+	ctx->count[0] += (len << 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   326
+	if ((j + len) > SHA256_BLOCK_LENGTH - 1) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   327
+		memcpy(&ctx->buffer[j], data, (i = SHA256_BLOCK_LENGTH - j));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   328
+		SHA256Transform(ctx->state.st32, ctx->buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   329
+		for ( ; i + SHA256_BLOCK_LENGTH - 1 < len; i += SHA256_BLOCK_LENGTH)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   330
+			SHA256Transform(ctx->state.st32, (uint8_t *)&data[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   331
+		j = 0;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   332
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   333
+	memcpy(&ctx->buffer[j], &data[i], len - i);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   334
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   335
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   336
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   337
+SHA256Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   338
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   339
+	uint8_t finalcount[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   340
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   341
+	/* Store unpadded message length in bits in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   342
+	BE64TO8(finalcount, ctx->count[0]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   343
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   344
+	/* Append a '1' bit (0x80) to the message. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   345
+	SHA256Update(ctx, (uint8_t *)"\200", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   346
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   347
+	/* Pad message such that the resulting length modulo 512 is 448. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   348
+	while ((ctx->count[0] & 504) != 448)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   349
+		SHA256Update(ctx, (uint8_t *)"\0", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   350
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   351
+	/* Append length of message in bits and do final SHA256Transform(). */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   352
+	SHA256Update(ctx, finalcount, sizeof(finalcount));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   353
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   354
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   355
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   356
+SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   357
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   358
+	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   359
+	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   360
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   361
+		memcpy(digest, ctx->state.st32, SHA256_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   362
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   363
+		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   364
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   365
+		for (i = 0; i < 8; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   366
+			BE32TO8(digest + (i * 4), ctx->state.st32[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   367
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   368
+		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   369
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   370
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   371
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   372
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   373
+SHA384Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   374
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   375
+	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   376
+	ctx->state.st64[0] = 0xcbbb9d5dc1059ed8ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   377
+	ctx->state.st64[1] = 0x629a292a367cd507ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   378
+	ctx->state.st64[2] = 0x9159015a3070dd17ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   379
+	ctx->state.st64[3] = 0x152fecd8f70e5939ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   380
+	ctx->state.st64[4] = 0x67332667ffc00b31ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   381
+	ctx->state.st64[5] = 0x8eb44a8768581511ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   382
+	ctx->state.st64[6] = 0xdb0c2e0d64f98fa7ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   383
+	ctx->state.st64[7] = 0x47b5481dbefa4fa4ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   384
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   385
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   386
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   387
+SHA384Transform(uint64_t state[8], const uint8_t data[SHA384_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   388
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   389
+	SHA512Transform(state, data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   390
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   391
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   392
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   393
+SHA384Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   394
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   395
+	SHA512Update(ctx, data, len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   396
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   397
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   398
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   399
+SHA384Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   400
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   401
+	SHA512Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   402
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   403
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   404
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   405
+SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   406
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   407
+	SHA384Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   408
+	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   409
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   410
+		memcpy(digest, ctx->state.st64, SHA384_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   411
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   412
+		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   413
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   414
+		for (i = 0; i < 6; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   415
+			BE64TO8(digest + (i * 8), ctx->state.st64[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   416
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   417
+		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   418
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   419
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   420
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   421
+static const uint64_t SHA512_K[80] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   422
+	0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   423
+	0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   424
+	0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   425
+	0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   426
+	0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   427
+	0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   428
+	0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   429
+	0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   430
+	0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   431
+	0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   432
+	0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   433
+	0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   434
+	0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   435
+	0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   436
+	0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   437
+	0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   438
+	0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   439
+	0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   440
+	0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   441
+	0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   442
+	0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   443
+	0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   444
+	0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   445
+	0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   446
+	0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   447
+	0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   448
+	0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   449
+	0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   450
+	0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   451
+	0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   452
+	0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   453
+	0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   454
+	0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   455
+	0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   456
+	0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   457
+	0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   458
+	0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   459
+	0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   460
+	0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   461
+	0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   462
+};
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   463
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   464
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   465
+SHA512Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   466
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   467
+	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   468
+	ctx->state.st64[0] = 0x6a09e667f3bcc908ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   469
+	ctx->state.st64[1] = 0xbb67ae8584caa73bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   470
+	ctx->state.st64[2] = 0x3c6ef372fe94f82bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   471
+	ctx->state.st64[3] = 0xa54ff53a5f1d36f1ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   472
+	ctx->state.st64[4] = 0x510e527fade682d1ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   473
+	ctx->state.st64[5] = 0x9b05688c2b3e6c1fULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   474
+	ctx->state.st64[6] = 0x1f83d9abfb41bd6bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   475
+	ctx->state.st64[7] = 0x5be0cd19137e2179ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   476
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   477
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   478
+/* Round macros for SHA512 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   479
+#define R(i) do {							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   480
+	h(i)+=S1(e(i))+Ch(e(i),f(i),g(i))+SHA512_K[i+j]+(j?blk2(i):blk0(i)); \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   481
+	d(i)+=h(i);							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   482
+	h(i)+=S0(a(i))+Maj(a(i),b(i),c(i));				     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   483
+} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   484
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   485
+#define S0(x) (rotrFixed(x,28)^rotrFixed(x,34)^rotrFixed(x,39))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   486
+#define S1(x) (rotrFixed(x,14)^rotrFixed(x,18)^rotrFixed(x,41))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   487
+#define s0(x) (rotrFixed(x,1)^rotrFixed(x,8)^(x>>7))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   488
+#define s1(x) (rotrFixed(x,19)^rotrFixed(x,61)^(x>>6))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   489
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   490
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   491
+SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   492
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   493
+	uint64_t W[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   494
+	uint64_t T[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   495
+	unsigned int j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   496
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   497
+	/* Copy context state to working vars. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   498
+	memcpy(T, state, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   499
+	/* Copy data to W in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   500
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   501
+	memcpy(W, data, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   502
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   503
+	for (j = 0; j < 16; j++) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   504
+	    BE8TO64(W[j], data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   505
+	    data += 8;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   506
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   507
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   508
+	/* 80 operations, partially loop unrolled. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   509
+	for (j = 0; j < 80; j += 16)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   510
+	{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   511
+		R( 0); R( 1); R( 2); R( 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   512
+		R( 4); R( 5); R( 6); R( 7);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   513
+		R( 8); R( 9); R(10); R(11);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   514
+		R(12); R(13); R(14); R(15);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   515
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   516
+	/* Add the working vars back into context state. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   517
+	state[0] += a(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   518
+	state[1] += b(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   519
+	state[2] += c(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   520
+	state[3] += d(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   521
+	state[4] += e(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   522
+	state[5] += f(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   523
+	state[6] += g(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   524
+	state[7] += h(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   525
+	/* Cleanup. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   526
+	memset_s(T, sizeof(T), 0, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   527
+	memset_s(W, sizeof(W), 0, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   528
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   529
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   530
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   531
+SHA512Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   532
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   533
+	size_t i = 0, j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   534
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   535
+	j = (size_t)((ctx->count[0] >> 3) & (SHA512_BLOCK_LENGTH - 1));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   536
+	ctx->count[0] += (len << 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   537
+	if (ctx->count[0] < (len << 3))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   538
+		ctx->count[1]++;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   539
+	if ((j + len) > SHA512_BLOCK_LENGTH - 1) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   540
+		memcpy(&ctx->buffer[j], data, (i = SHA512_BLOCK_LENGTH - j));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   541
+		SHA512Transform(ctx->state.st64, ctx->buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   542
+		for ( ; i + SHA512_BLOCK_LENGTH - 1 < len; i += SHA512_BLOCK_LENGTH)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   543
+			SHA512Transform(ctx->state.st64, (uint8_t *)&data[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   544
+		j = 0;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   545
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   546
+	memcpy(&ctx->buffer[j], &data[i], len - i);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   547
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   548
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   549
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   550
+SHA512Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   551
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   552
+	uint8_t finalcount[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   553
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   554
+	/* Store unpadded message length in bits in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   555
+	BE64TO8(finalcount, ctx->count[1]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   556
+	BE64TO8(finalcount + 8, ctx->count[0]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   557
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   558
+	/* Append a '1' bit (0x80) to the message. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   559
+	SHA512Update(ctx, (uint8_t *)"\200", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   560
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   561
+	/* Pad message such that the resulting length modulo 1024 is 896. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   562
+	while ((ctx->count[0] & 1008) != 896)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   563
+		SHA512Update(ctx, (uint8_t *)"\0", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   564
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   565
+	/* Append length of message in bits and do final SHA512Transform(). */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   566
+	SHA512Update(ctx, finalcount, sizeof(finalcount));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   567
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   568
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   569
+void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   570
+SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   571
+{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   572
+	SHA512Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   573
+	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   574
+#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   575
+		memcpy(digest, ctx->state.st64, SHA512_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   576
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   577
+		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   578
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   579
+		for (i = 0; i < 8; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   580
+			BE64TO8(digest + (i * 8), ctx->state.st64[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   581
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   582
+		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   583
+	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   584
+}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   585
diff -urN sudo-1.8.9p5.old/compat/sha2.h sudo-1.8.9p5/compat/sha2.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   586
--- sudo-1.8.9p5.old/compat/sha2.h	1970-01-01 01:00:00.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   587
+++ sudo-1.8.9p5/compat/sha2.h	2014-04-10 15:20:34.448517327 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   588
@@ -0,0 +1,74 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   589
+/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   590
+ * Copyright (c) 2013 Todd C. Miller <[email protected]>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   591
+ *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   592
+ * Permission to use, copy, modify, and distribute this software for any
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   593
+ * purpose with or without fee is hereby granted, provided that the above
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   594
+ * copyright notice and this permission notice appear in all copies.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   595
+ *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   596
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   597
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   598
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   599
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   600
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   601
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   602
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   603
+ */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   604
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   605
+/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   606
+ * Derived from the public domain SHA-1 and SHA-2 implementations
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   607
+ * by Steve Reid and Wei Dai respectively.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   608
+ */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   609
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   610
+#ifndef _SUDOERS_SHA2_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   611
+#define _SUDOERS_SHA2_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   612
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   613
+#define	SHA224_BLOCK_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   614
+#define	SHA224_DIGEST_LENGTH		28
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   615
+#define	SHA224_DIGEST_STRING_LENGTH	(SHA224_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   616
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   617
+#define	SHA256_BLOCK_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   618
+#define	SHA256_DIGEST_LENGTH		32
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   619
+#define	SHA256_DIGEST_STRING_LENGTH	(SHA256_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   620
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   621
+#define	SHA384_BLOCK_LENGTH		128
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   622
+#define	SHA384_DIGEST_LENGTH		48
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   623
+#define	SHA384_DIGEST_STRING_LENGTH	(SHA384_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   624
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   625
+#define	SHA512_BLOCK_LENGTH		128
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   626
+#define	SHA512_DIGEST_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   627
+#define	SHA512_DIGEST_STRING_LENGTH	(SHA512_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   628
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   629
+typedef struct {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   630
+    union {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   631
+	uint32_t st32[8];	/* sha224 and sha256 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   632
+	uint64_t st64[8];	/* sha384 and sha512 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   633
+    } state;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   634
+    uint64_t count[2];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   635
+    uint8_t buffer[SHA512_BLOCK_LENGTH];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   636
+} SHA2_CTX;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   637
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   638
+void SHA224Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   639
+void SHA224Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   640
+void SHA224Transform(uint32_t state[8], const uint8_t buffer[SHA224_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   641
+void SHA224Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   642
+void SHA224Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   643
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   644
+void SHA256Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   645
+void SHA256Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   646
+void SHA256Transform(uint32_t state[8], const uint8_t buffer[SHA256_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   647
+void SHA256Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   648
+void SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   649
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   650
+void SHA384Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   651
+void SHA384Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   652
+void SHA384Transform(uint64_t state[8], const uint8_t buffer[SHA384_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   653
+void SHA384Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   654
+void SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   655
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   656
+void SHA512Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   657
+void SHA512Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   658
+void SHA512Transform(uint64_t state[8], const uint8_t buffer[SHA512_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   659
+void SHA512Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   660
+void SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   661
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   662
+#endif /* _SUDOERS_SHA2_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   663
diff -urN sudo-1.8.9p5.old/config.h.in sudo-1.8.9p5/config.h.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   664
--- sudo-1.8.9p5.old/config.h.in	2014-04-10 15:19:56.000000000 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   665
+++ sudo-1.8.9p5/config.h.in	2014-04-10 15:20:34.449144378 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   666
@@ -521,6 +521,9 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   667
 /* Define to 1 if you have the `set_auth_parameters' function. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   668
 #undef HAVE_SET_AUTH_PARAMETERS
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   669
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   670
+/* Define to 1 if you have the `SHA224Update' function. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   671
+#undef HAVE_SHA224UPDATE
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   672
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   673
 /* Define to 1 if you have the `shl_load' function. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   674
 #undef HAVE_SHL_LOAD
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   675
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   676
@@ -983,6 +989,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   677
 /* Define to 1 to send mail when the user is not in the sudoers file. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   678
 #undef SEND_MAIL_WHEN_NO_USER
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   679
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   680
+/* Define to 1 if the sha2 functions use `const void *' instead of `const
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   681
+   unsigned char'. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   682
+#undef SHA2_VOID_PTR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   683
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   684
 /* Define to 1 if you want sudo to start a shell if given no arguments. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   685
 #undef SHELL_IF_NO_ARGS
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   686
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   687
diff -urN sudo-1.8.9p5.old/configure.ac sudo-1.8.9p5/configure.ac
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   688
--- sudo-1.8.9p5.old/configure.ac	2014-04-10 15:19:47.156138496 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   689
+++ sudo-1.8.9p5/configure.ac	2014-04-10 15:20:34.458422206 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   690
@@ -77,6 +77,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   691
 AC_SUBST([LIBDL])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   692
 AC_SUBST([LT_STATIC])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   693
 AC_SUBST([LIBINTL])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   694
+AC_SUBST([LIBMD])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   695
 AC_SUBST([SUDO_NLS])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   696
 AC_SUBST([LOCALEDIR_SUFFIX])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   697
 AC_SUBST([COMPAT_TEST_PROGS])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   698
@@ -194,6 +195,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   699
 PSMAN=0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   700
 SEMAN=0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   701
 LIBINTL=
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   702
+LIBMD=
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   703
 ZLIB=
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   704
 ZLIB_SRC=
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   705
 AUTH_OBJS=
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   706
@@ -2445,6 +2447,16 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   707
 	[AC_CHECK_MEMBER([struct stat.st_mtim.st__tim], AC_DEFINE(HAVE_ST__TIM))],
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   708
 	[AC_CHECK_MEMBER([struct stat.st_mtimespec], AC_DEFINE([HAVE_ST_MTIMESPEC]))])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   709
 fi
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   710
+AC_CHECK_HEADER([sha2.h], [
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   711
+    AC_CHECK_FUNCS(SHA224Update, [SUDO_FUNC_SHA2_VOID_PTR], [
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   712
+	# On some systems, SHA224Update is in libmd
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   713
+	AC_CHECK_LIB(md, SHA224Update, [
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   714
+	    AC_DEFINE(HAVE_SHA224UPDATE)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   715
+	    SUDO_FUNC_SHA2_VOID_PTR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   716
+	    LIBMD="-lmd"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   717
+	], [AC_LIBOBJ(sha2)])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   718
+    ])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   719
+], [AC_LIBOBJ(sha2)])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   720
 dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   721
 dnl Function checks for sudo_noexec
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   722
 dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   723
diff -urN sudo-1.8.9p5.old/MANIFEST sudo-1.8.9p5/MANIFEST
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   724
--- sudo-1.8.9p5.old/MANIFEST	2014-04-10 15:19:47.157886371 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   725
+++ sudo-1.8.9p5/MANIFEST	2014-04-10 15:20:58.300108720 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   726
@@ -88,6 +88,8 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   727
 compat/regress/glob/files
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   728
 compat/regress/glob/globtest.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   729
 compat/regress/glob/globtest.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   730
+compat/sha2.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   731
+compat/sha2.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   732
 compat/sig2str.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   733
 compat/siglist.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   734
 compat/snprintf.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   735
@@ -367,8 +369,6 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   736
 plugins/sudoers/regress/visudo/test5.out.ok
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   737
 plugins/sudoers/regress/visudo/test5.sh
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   738
 plugins/sudoers/set_perms.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   739
-plugins/sudoers/sha2.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   740
-plugins/sudoers/sha2.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   741
 plugins/sudoers/solaris_audit.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   742
 plugins/sudoers/solaris_audit.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   743
 plugins/sudoers/sssd.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   744
diff -urN sudo-1.8.9p5.old/m4/sudo.m4 sudo-1.8.9p5/m4/sudo.m4
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   745
--- sudo-1.8.9p5.old/m4/sudo.m4	2014-01-07 19:08:52.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   746
+++ sudo-1.8.9p5/m4/sudo.m4	2014-04-10 15:20:34.458820769 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   747
@@ -264,6 +264,24 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   748
 ])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   749
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   750
 dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   751
+dnl Check if the data argument for the sha2 functions is void * or u_char *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   752
+dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   753
+AC_DEFUN([SUDO_FUNC_SHA2_VOID_PTR],
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   754
+[AC_CACHE_CHECK([whether the data argument of SHA224Update() is void *],
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   755
+sudo_cv_func_sha2_void_ptr,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   756
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   757
+#include <sha2.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   758
+void SHA224Update(SHA2_CTX *context, const void *data, size_t len) {return;}], [])],
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   759
+    [sudo_cv_func_sha2_void_ptr=yes],
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   760
+    [sudo_cv_func_sha2_void_ptr=no])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   761
+  ])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   762
+  if test $sudo_cv_func_sha2_void_ptr = yes; then
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   763
+    AC_DEFINE(SHA2_VOID_PTR, 1,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   764
+      [Define to 1 if the sha2 functions use `const void *' instead of `const unsigned char'.])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   765
+  fi
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   766
+])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   767
+
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   768
+dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   769
 dnl check for sa_len field in struct sockaddr
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   770
 dnl
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   771
 AC_DEFUN([SUDO_SOCK_SA_LEN], [
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   772
diff -urN sudo-1.8.9p5.old/plugins/sudoers/gram.c sudo-1.8.9p5/plugins/sudoers/gram.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   773
--- sudo-1.8.9p5.old/plugins/sudoers/gram.c	2014-01-07 19:08:53.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   774
+++ sudo-1.8.9p5/plugins/sudoers/gram.c	2014-04-10 15:20:34.460695182 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   775
@@ -179,10 +179,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   776
 #define PRIVS 289
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   777
 #define LIMITPRIVS 290
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   778
 #define MYSELF 291
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   779
-#define SHA224 292
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   780
-#define SHA256 293
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   781
-#define SHA384 294
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   782
-#define SHA512 295
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   783
+#define SHA224_TOK 292
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   784
+#define SHA256_TOK 293
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   785
+#define SHA384_TOK 294
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   786
+#define SHA512_TOK 295
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   787
 #define YYERRCODE 256
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   788
 #if defined(__cplusplus) || defined(__STDC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   789
 const short sudoerslhs[] =
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   790
@@ -550,7 +550,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   791
 "NOPASSWD","PASSWD","NOEXEC","EXEC","SETENV","NOSETENV","LOG_INPUT",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   792
 "NOLOG_INPUT","LOG_OUTPUT","NOLOG_OUTPUT","ALL","COMMENT","HOSTALIAS",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   793
 "CMNDALIAS","USERALIAS","RUNASALIAS","ERROR","TYPE","ROLE","PRIVS","LIMITPRIVS",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   794
-"MYSELF","SHA224","SHA256","SHA384","SHA512",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   795
+"MYSELF","SHA224_TOK","SHA256_TOK","SHA384_TOK","SHA512_TOK",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   796
 };
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   797
 #if defined(__cplusplus) || defined(__STDC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   798
 const char * const sudoersrule[] =
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   799
@@ -594,10 +594,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   800
 "cmndspeclist : cmndspec",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   801
 "cmndspeclist : cmndspeclist ',' cmndspec",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   802
 "cmndspec : runasspec selinux solarisprivs cmndtag digcmnd",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   803
-"digest : SHA224 ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   804
-"digest : SHA256 ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   805
-"digest : SHA384 ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   806
-"digest : SHA512 ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   807
+"digest : SHA224_TOK ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   808
+"digest : SHA256_TOK ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   809
+"digest : SHA384_TOK ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   810
+"digest : SHA512_TOK ':' DIGEST",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   811
 "digcmnd : opcmnd",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   812
 "digcmnd : digest opcmnd",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   813
 "opcmnd : cmnd",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   814
@@ -1089,12 +1089,12 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   815
         goto yyreduce;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   816
     }
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   817
     if (yyerrflag) goto yyinrecovery;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   818
-#if defined(lint) || defined(__GNUC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   819
+#if defined(__GNUC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   820
     goto yynewerror;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   821
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   822
 yynewerror:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   823
     yyerror("syntax error");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   824
-#if defined(lint) || defined(__GNUC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   825
+#if defined(__GNUC__)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   826
     goto yyerrlab;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   827
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   828
 yyerrlab:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   829
diff -urN sudo-1.8.9p5.old/plugins/sudoers/gram.h sudo-1.8.9p5/plugins/sudoers/gram.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   830
--- sudo-1.8.9p5.old/plugins/sudoers/gram.h	2014-01-07 19:08:53.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   831
+++ sudo-1.8.9p5/plugins/sudoers/gram.h	2014-04-10 15:20:34.461102773 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   832
@@ -33,10 +33,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   833
 #define PRIVS 289
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   834
 #define LIMITPRIVS 290
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   835
 #define MYSELF 291
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   836
-#define SHA224 292
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   837
-#define SHA256 293
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   838
-#define SHA384 294
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   839
-#define SHA512 295
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   840
+#define SHA224_TOK 292
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   841
+#define SHA256_TOK 293
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   842
+#define SHA384_TOK 294
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   843
+#define SHA512_TOK 295
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   844
 #ifndef YYSTYPE_DEFINED
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   845
 #define YYSTYPE_DEFINED
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   846
 typedef union {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   847
diff -urN sudo-1.8.9p5.old/plugins/sudoers/gram.y sudo-1.8.9p5/plugins/sudoers/gram.y
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   848
--- sudo-1.8.9p5.old/plugins/sudoers/gram.y	2014-01-07 19:08:53.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   849
+++ sudo-1.8.9p5/plugins/sudoers/gram.y	2014-04-10 15:20:34.461582432 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   850
@@ -142,10 +142,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   851
 %token <tok>	 PRIVS			/* Solaris privileges */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   852
 %token <tok>	 LIMITPRIVS		/* Solaris limit privileges */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   853
 %token <tok>	 MYSELF			/* run as myself, not another user */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   854
-%token <tok>	 SHA224			/* sha224 digest */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   855
-%token <tok>	 SHA256			/* sha256 digest */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   856
-%token <tok>	 SHA384			/* sha384 digest */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   857
-%token <tok>	 SHA512			/* sha512 digest */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   858
+%token <tok>	 SHA224_TOK		/* sha224 token */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   859
+%token <tok>	 SHA256_TOK		/* sha256 token */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   860
+%token <tok>	 SHA384_TOK		/* sha384 token */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   861
+%token <tok>	 SHA512_TOK		/* sha512 token */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   862
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   863
 %type <cmndspec>  cmndspec
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   864
 %type <cmndspec>  cmndspeclist
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   865
@@ -370,16 +370,16 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   866
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   867
 		;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   868
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   869
-digest		:	SHA224 ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   870
+digest		:	SHA224_TOK ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   871
 			    $$ = new_digest(SUDO_DIGEST_SHA224, $3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   872
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   873
-		|	SHA256 ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   874
+		|	SHA256_TOK ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   875
 			    $$ = new_digest(SUDO_DIGEST_SHA256, $3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   876
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   877
-		|	SHA384 ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   878
+		|	SHA384_TOK ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   879
 			    $$ = new_digest(SUDO_DIGEST_SHA384, $3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   880
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   881
-		|	SHA512 ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   882
+		|	SHA512_TOK ':' DIGEST {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   883
 			    $$ = new_digest(SUDO_DIGEST_SHA512, $3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   884
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   885
 		;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   886
diff -urN sudo-1.8.9p5.old/plugins/sudoers/Makefile.in sudo-1.8.9p5/plugins/sudoers/Makefile.in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   887
--- sudo-1.8.9p5.old/plugins/sudoers/Makefile.in	2014-04-10 15:19:47.160183439 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   888
+++ sudo-1.8.9p5/plugins/sudoers/Makefile.in	2014-04-10 15:20:34.459914018 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   889
@@ -49,8 +49,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   890
 LT_LIBS = $(top_builddir)/common/libsudo_util.la $(LIBOBJDIR)libreplace.la
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   891
 LIBS = $(LT_LIBS) @LIBINTL@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   892
 NET_LIBS = @NET_LIBS@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   893
-SUDOERS_LIBS = @SUDOERS_LIBS@ @AFS_LIBS@ @GETGROUPS_LIB@ $(LIBS) $(NET_LIBS) @ZLIB@ @LIBDL@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   894
+SUDOERS_LIBS = @SUDOERS_LIBS@ @AFS_LIBS@ @GETGROUPS_LIB@ $(LIBS) $(NET_LIBS) @ZLIB@ @LIBMD@ @LIBDL@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   895
 REPLAY_LIBS = @REPLAY_LIBS@ @ZLIB@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   896
+VISUDO_LIBS = $(NET_LIBS) @LIBMD@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   897
+TESTSUDOERS_LIBS = $(NET_LIBS) @LIBMD@ @LIBDL@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   898
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   899
 # C preprocessor flags
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   900
 CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(devdir) -I$(srcdir) -I$(top_srcdir) -DLIBDIR=\"$(libdir)\" @CPPFLAGS@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   901
@@ -130,7 +132,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   902
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   903
 LIBPARSESUDOERS_OBJS = alias.lo audit.lo base64.lo defaults.lo hexchar.lo \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   904
 		       gram.lo match.lo match_addr.lo pwutil.lo pwutil_impl.lo \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   905
-		       timestr.lo toke.lo toke_util.lo redblack.lo sha2.lo
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   906
+		       timestr.lo toke.lo toke_util.lo redblack.lo
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   907
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   908
 SUDOERS_OBJS = $(AUTH_OBJS) boottime.lo check.lo env.lo find_path.lo \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   909
 	       goodpath.lo group_plugin.lo interfaces.lo iolog.lo \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   910
@@ -149,7 +151,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   911
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   912
 CHECK_BASE64_OBJS = check_base64.o base64.o locale.o
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   913
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   914
-CHECK_DIGEST_OBJS = check_digest.o sha2.o
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   915
+CHECK_DIGEST_OBJS = check_digest.o
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   916
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   917
 CHECK_FILL_OBJS = check_fill.o hexchar.o locale.o toke_util.o
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   918
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   919
@@ -196,13 +198,13 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   920
 	$(LIBTOOL) @LT_STATIC@ --mode=link $(CC) $(LDFLAGS) $(LT_LDFLAGS) -o $@ $(SUDOERS_OBJS) libparsesudoers.la $(SUDOERS_LIBS) -module -avoid-version -rpath $(plugindir)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   921
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   922
 visudo: libparsesudoers.la $(VISUDO_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   923
-	$(LIBTOOL) --mode=link $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(LIBS) $(NET_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   924
+	$(LIBTOOL) --mode=link $(CC) -o $@ $(VISUDO_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(VISUDO_LIBS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   925
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   926
 sudoreplay: timestr.lo $(REPLAY_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   927
 	$(LIBTOOL) --mode=link $(CC) -o $@ $(REPLAY_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) timestr.lo $(REPLAY_LIBS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   928
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   929
 testsudoers: libparsesudoers.la $(TEST_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   930
-	$(LIBTOOL) --mode=link $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(LIBS) $(NET_LIBS) @LIBDL@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   931
+	$(LIBTOOL) --mode=link $(CC) -o $@ $(TEST_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) libparsesudoers.la $(TESTSUDOERS_LIBS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   932
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   933
 check_addr: $(CHECK_ADDR_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   934
 	$(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_ADDR_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) $(NET_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   935
@@ -211,7 +213,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   936
 	$(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_BASE64_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   937
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   938
 check_digest: $(CHECK_DIGEST_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   939
-	$(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_DIGEST_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   940
+	$(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_DIGEST_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS) @LIBMD@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   941
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   942
 check_fill: $(CHECK_FILL_OBJS) $(LT_LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   943
 	$(LIBTOOL) --mode=link $(CC) -o $@ $(CHECK_FILL_OBJS) $(LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   944
@@ -501,12 +503,12 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   945
                 $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   946
 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_base64.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   947
 check_digest.o: $(srcdir)/regress/parser/check_digest.c $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   948
-                $(srcdir)/sha2.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   949
+                $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   950
 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_digest.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   951
 check_fill.o: $(srcdir)/regress/parser/check_fill.c $(devdir)/gram.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   952
               $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_plugin.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   953
-              $(srcdir)/parse.h $(srcdir)/toke.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   954
-              $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   955
+              $(incdir)/sudo_util.h $(srcdir)/parse.h $(srcdir)/toke.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   956
+              $(top_builddir)/config.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   957
 	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/regress/parser/check_fill.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   958
 check_iolog_path.o: $(srcdir)/regress/iolog_path/check_iolog_path.c \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   959
                     $(devdir)/def_data.c $(devdir)/def_data.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   960
@@ -607,8 +609,8 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   961
                  $(top_builddir)/pathnames.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   962
 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/group_plugin.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   963
 group_plugin.o: group_plugin.lo
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   964
-hexchar.lo: $(srcdir)/hexchar.c $(incdir)/fatal.h $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   965
-            $(incdir)/sudo_debug.h $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   966
+hexchar.lo: $(srcdir)/hexchar.c $(incdir)/missing.h $(incdir)/sudo_debug.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   967
+            $(top_builddir)/config.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   968
 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/hexchar.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   969
 hexchar.o: hexchar.lo
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   970
 interfaces.lo: $(srcdir)/interfaces.c $(devdir)/def_data.h $(incdir)/alloc.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   971
@@ -689,9 +691,9 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   972
           $(incdir)/gettext.h $(incdir)/missing.h $(incdir)/queue.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   973
           $(incdir)/sudo_debug.h $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   974
           $(srcdir)/defaults.h $(srcdir)/logging.h $(srcdir)/parse.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   975
-          $(srcdir)/sha2.h $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   976
-          $(top_builddir)/config.h $(top_builddir)/pathnames.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   977
-          $(top_srcdir)/compat/fnmatch.h $(top_srcdir)/compat/glob.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   978
+          $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   979
+          $(top_builddir)/pathnames.h $(top_srcdir)/compat/fnmatch.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   980
+          $(top_srcdir)/compat/glob.h $(top_srcdir)/compat/sha2.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   981
           $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   982
 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/match.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   983
 match_addr.lo: $(srcdir)/match_addr.c $(devdir)/def_data.h $(incdir)/alloc.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   984
@@ -806,10 +808,6 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   985
               $(srcdir)/sudoers.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   986
               $(top_builddir)/pathnames.h $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   987
 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/set_perms.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   988
-sha2.lo: $(srcdir)/sha2.c $(incdir)/missing.h $(srcdir)/sha2.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   989
-         $(top_builddir)/config.h $(top_srcdir)/compat/endian.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   990
-	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(srcdir)/sha2.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   991
-sha2.o: sha2.lo
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   992
 sia.lo: $(authdir)/sia.c $(devdir)/def_data.h $(incdir)/alloc.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   993
         $(incdir)/fatal.h $(incdir)/fileops.h $(incdir)/gettext.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   994
         $(incdir)/missing.h $(incdir)/queue.h $(incdir)/sudo_debug.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   995
@@ -891,9 +889,9 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   996
          $(incdir)/gettext.h $(incdir)/lbuf.h $(incdir)/missing.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   997
          $(incdir)/queue.h $(incdir)/secure_path.h $(incdir)/sudo_debug.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   998
          $(incdir)/sudo_plugin.h $(incdir)/sudo_util.h $(srcdir)/defaults.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
   999
-         $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sha2.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1000
-         $(srcdir)/sudo_nss.h $(srcdir)/sudoers.h $(srcdir)/toke.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1001
-         $(top_builddir)/config.h $(top_builddir)/pathnames.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1002
+         $(srcdir)/logging.h $(srcdir)/parse.h $(srcdir)/sudo_nss.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1003
+         $(srcdir)/sudoers.h $(srcdir)/toke.h $(top_builddir)/config.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1004
+         $(top_builddir)/pathnames.h $(top_srcdir)/compat/sha2.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1005
          $(top_srcdir)/compat/stdbool.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1006
 	$(LIBTOOL) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(DEFS) $(devdir)/toke.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1007
 toke_util.lo: $(srcdir)/toke_util.c $(devdir)/def_data.h $(devdir)/gram.h \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1008
diff -urN sudo-1.8.9p5.old/plugins/sudoers/match.c sudo-1.8.9p5/plugins/sudoers/match.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1009
--- sudo-1.8.9p5.old/plugins/sudoers/match.c	2014-01-07 19:08:54.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1010
+++ sudo-1.8.9p5/plugins/sudoers/match.c	2014-04-10 15:21:59.050793404 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1011
@@ -88,7 +88,11 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1012
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1013
 #include "sudoers.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1014
 #include "parse.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1015
-#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1016
+#ifdef HAVE_SHA224UPDATE
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1017
+# include <sha2.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1018
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1019
+# include "compat/sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1020
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1021
 #include <gram.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1022
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1023
 static struct member_list empty = TAILQ_HEAD_INITIALIZER(empty);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1024
@@ -562,8 +566,13 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1025
     const char *digest_name;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1026
     const unsigned int digest_len;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1027
     void (*init)(SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1028
+#ifdef SHA2_VOID_PTR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1029
+    void (*update)(SHA2_CTX *, const void *, size_t);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1030
+    void (*final)(void *, SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1031
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1032
     void (*update)(SHA2_CTX *, const unsigned char *, size_t);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1033
     void (*final)(unsigned char *, SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1034
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1035
 } digest_functions[] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1036
     {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1037
 	"SHA224",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1038
diff -urN sudo-1.8.9p5.old/plugins/sudoers/regress/parser/check_digest.c sudo-1.8.9p5/plugins/sudoers/regress/parser/check_digest.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1039
--- sudo-1.8.9p5.old/plugins/sudoers/regress/parser/check_digest.c	2014-01-07 19:08:52.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1040
+++ sudo-1.8.9p5/plugins/sudoers/regress/parser/check_digest.c	2014-04-10 15:20:34.462897872 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1041
@@ -39,9 +39,13 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1042
 #elif defined(HAVE_INTTYPES_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1043
 # include <inttypes.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1044
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1045
+#ifdef HAVE_SHA224UPDATE
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1046
+# include <sha2.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1047
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1048
+# include "compat/sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1049
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1050
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1051
 #include "missing.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1052
-#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1053
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1054
 __dso_public int main(int argc, char *argv[]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1055
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1056
@@ -49,8 +53,13 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1057
     const char *digest_name;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1058
     const int digest_len;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1059
     void (*init)(SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1060
+#ifdef SHA2_VOID_PTR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1061
+    void (*update)(SHA2_CTX *, const void *, size_t);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1062
+    void (*final)(void *, SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1063
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1064
     void (*update)(SHA2_CTX *, const unsigned char *, size_t);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1065
     void (*final)(unsigned char *, SHA2_CTX *);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1066
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1067
 } digest_functions[] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1068
     {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1069
 	"SHA224",
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1070
diff -urN sudo-1.8.9p5.old/plugins/sudoers/regress/sudoers/test14.toke.ok sudo-1.8.9p5/plugins/sudoers/regress/sudoers/test14.toke.ok
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1071
--- sudo-1.8.9p5.old/plugins/sudoers/regress/sudoers/test14.toke.ok	2014-01-07 19:08:52.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1072
+++ sudo-1.8.9p5/plugins/sudoers/regress/sudoers/test14.toke.ok	2014-04-10 15:20:34.463272107 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1073
@@ -1,4 +1,4 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1074
-CMNDALIAS ALIAS = SHA224 : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1075
-CMNDALIAS ALIAS = SHA256 : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1076
+CMNDALIAS ALIAS = SHA224_TOK : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1077
+CMNDALIAS ALIAS = SHA256_TOK : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1078
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1079
-WORD(5) ALL = ALIAS , ALIAS , SHA512 : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1080
+WORD(5) ALL = ALIAS , ALIAS , SHA512_TOK : DIGEST COMMAND 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1081
diff -urN sudo-1.8.9p5.old/plugins/sudoers/sha2.c sudo-1.8.9p5/plugins/sudoers/sha2.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1082
--- sudo-1.8.9p5.old/plugins/sudoers/sha2.c	2014-01-07 19:08:54.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1083
+++ sudo-1.8.9p5/plugins/sudoers/sha2.c	1970-01-01 01:00:00.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1084
@@ -1,526 +0,0 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1085
-/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1086
- * Copyright (c) 2013 Todd C. Miller <[email protected]>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1087
- *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1088
- * Permission to use, copy, modify, and distribute this software for any
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1089
- * purpose with or without fee is hereby granted, provided that the above
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1090
- * copyright notice and this permission notice appear in all copies.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1091
- *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1092
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1093
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1094
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1095
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1096
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1097
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1098
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1099
- */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1100
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1101
-/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1102
- * Implementation of SHA-224, SHA-256, SHA-384 and SHA-512
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1103
- * as per FIPS 180-4: Secure Hash Standard (SHS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1104
- * http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1105
- *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1106
- * Derived from the public domain SHA-1 and SHA-2 implementations
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1107
- * by Steve Reid and Wei Dai respectively.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1108
- */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1109
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1110
-#include <config.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1111
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1112
-#include <stdio.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1113
-#ifdef STDC_HEADERS
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1114
-# include <stdlib.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1115
-# include <stddef.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1116
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1117
-# ifdef HAVE_STDLIB_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1118
-#  include <stdlib.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1119
-# endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1120
-#endif /* STDC_HEADERS */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1121
-#ifdef HAVE_STRING_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1122
-# if defined(HAVE_MEMORY_H) && !defined(STDC_HEADERS)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1123
-#  include <memory.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1124
-# endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1125
-# include <string.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1126
-#endif /* HAVE_STRING_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1127
-#ifdef HAVE_STRINGS_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1128
-# include <strings.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1129
-#endif /* HAVE_STRINGS_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1130
-#if defined(HAVE_STDINT_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1131
-# include <stdint.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1132
-#elif defined(HAVE_INTTYPES_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1133
-# include <inttypes.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1134
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1135
-#if defined(HAVE_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1136
-# include <endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1137
-#elif defined(HAVE_SYS_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1138
-# include <sys/endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1139
-#elif defined(HAVE_MACHINE_ENDIAN_H)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1140
-# include <machine/endian.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1141
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1142
-# include "compat/endian.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1143
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1144
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1145
-#include "missing.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1146
-#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1147
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1148
-/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1149
- * SHA-2 operates on 32-bit and 64-bit words in big endian byte order.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1150
- * The following macros convert between character arrays and big endian words.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1151
- */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1152
-#define BE8TO32(x, y) do {				\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1153
-	(x) = (((uint32_t)((y)[0] & 255) << 24) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1154
-	       ((uint32_t)((y)[1] & 255) << 16) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1155
-	       ((uint32_t)((y)[2] & 255) << 8)  |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1156
-	       ((uint32_t)((y)[3] & 255)));		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1157
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1158
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1159
-#define BE8TO64(x, y) do {				\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1160
-	(x) = (((uint64_t)((y)[0] & 255) << 56) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1161
-	       ((uint64_t)((y)[1] & 255) << 48) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1162
-	       ((uint64_t)((y)[2] & 255) << 40) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1163
-	       ((uint64_t)((y)[3] & 255) << 32) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1164
-	       ((uint64_t)((y)[4] & 255) << 24) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1165
-	       ((uint64_t)((y)[5] & 255) << 16) |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1166
-	       ((uint64_t)((y)[6] & 255) << 8)  |	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1167
-	       ((uint64_t)((y)[7] & 255)));		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1168
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1169
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1170
-#define BE32TO8(x, y) do {			\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1171
-	(x)[0] = (uint8_t)(((y) >> 24) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1172
-	(x)[1] = (uint8_t)(((y) >> 16) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1173
-	(x)[2] = (uint8_t)(((y) >> 8) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1174
-	(x)[3] = (uint8_t)((y) & 255);		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1175
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1176
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1177
-#define BE64TO8(x, y) do {			\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1178
-	(x)[0] = (uint8_t)(((y) >> 56) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1179
-	(x)[1] = (uint8_t)(((y) >> 48) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1180
-	(x)[2] = (uint8_t)(((y) >> 40) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1181
-	(x)[3] = (uint8_t)(((y) >> 32) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1182
-	(x)[4] = (uint8_t)(((y) >> 24) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1183
-	(x)[5] = (uint8_t)(((y) >> 16) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1184
-	(x)[6] = (uint8_t)(((y) >> 8) & 255);	\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1185
-	(x)[7] = (uint8_t)((y) & 255);		\
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1186
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1187
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1188
-#define rotrFixed(x,y) (y ? ((x>>y) | (x<<(sizeof(x)*8-y))) : x)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1189
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1190
-#define blk0(i) (W[i])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1191
-#define blk2(i) (W[i&15]+=s1(W[(i-2)&15])+W[(i-7)&15]+s0(W[(i-15)&15]))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1192
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1193
-#define Ch(x,y,z) (z^(x&(y^z)))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1194
-#define Maj(x,y,z) (y^((x^y)&(y^z)))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1195
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1196
-#define a(i) T[(0-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1197
-#define b(i) T[(1-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1198
-#define c(i) T[(2-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1199
-#define d(i) T[(3-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1200
-#define e(i) T[(4-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1201
-#define f(i) T[(5-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1202
-#define g(i) T[(6-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1203
-#define h(i) T[(7-i)&7]
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1204
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1205
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1206
-SHA224Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1207
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1208
-	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1209
-	ctx->state.st32[0] = 0xc1059ed8UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1210
-	ctx->state.st32[1] = 0x367cd507UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1211
-	ctx->state.st32[2] = 0x3070dd17UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1212
-	ctx->state.st32[3] = 0xf70e5939UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1213
-	ctx->state.st32[4] = 0xffc00b31UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1214
-	ctx->state.st32[5] = 0x68581511UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1215
-	ctx->state.st32[6] = 0x64f98fa7UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1216
-	ctx->state.st32[7] = 0xbefa4fa4UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1217
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1218
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1219
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1220
-SHA224Transform(uint32_t state[8], const uint8_t buffer[SHA224_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1221
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1222
-	SHA256Transform(state, buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1223
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1224
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1225
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1226
-SHA224Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1227
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1228
-	SHA256Update(ctx, data, len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1229
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1230
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1231
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1232
-SHA224Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1233
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1234
-	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1235
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1236
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1237
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1238
-SHA224Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1239
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1240
-	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1241
-	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1242
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1243
-		memcpy(digest, ctx->state.st32, SHA224_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1244
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1245
-		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1246
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1247
-		for (i = 0; i < 7; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1248
-			BE32TO8(digest + (i * 4), ctx->state.st32[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1249
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1250
-		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1251
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1252
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1253
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1254
-static const uint32_t SHA256_K[64] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1255
-	0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1256
-	0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1257
-	0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1258
-	0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1259
-	0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1260
-	0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1261
-	0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1262
-	0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1263
-	0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1264
-	0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1265
-	0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1266
-	0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1267
-	0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1268
-	0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1269
-	0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1270
-	0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1271
-};
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1272
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1273
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1274
-SHA256Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1275
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1276
-	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1277
-	ctx->state.st32[0] = 0x6a09e667UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1278
-	ctx->state.st32[1] = 0xbb67ae85UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1279
-	ctx->state.st32[2] = 0x3c6ef372UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1280
-	ctx->state.st32[3] = 0xa54ff53aUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1281
-	ctx->state.st32[4] = 0x510e527fUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1282
-	ctx->state.st32[5] = 0x9b05688cUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1283
-	ctx->state.st32[6] = 0x1f83d9abUL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1284
-	ctx->state.st32[7] = 0x5be0cd19UL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1285
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1286
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1287
-/* Round macros for SHA256 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1288
-#define R(i) do {							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1289
-	h(i)+=S1(e(i))+Ch(e(i),f(i),g(i))+SHA256_K[i+j]+(j?blk2(i):blk0(i)); \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1290
-	d(i)+=h(i);							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1291
-	h(i)+=S0(a(i))+Maj(a(i),b(i),c(i));				     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1292
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1293
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1294
-#define S0(x) (rotrFixed(x,2)^rotrFixed(x,13)^rotrFixed(x,22))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1295
-#define S1(x) (rotrFixed(x,6)^rotrFixed(x,11)^rotrFixed(x,25))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1296
-#define s0(x) (rotrFixed(x,7)^rotrFixed(x,18)^(x>>3))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1297
-#define s1(x) (rotrFixed(x,17)^rotrFixed(x,19)^(x>>10))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1298
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1299
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1300
-SHA256Transform(uint32_t state[8], const uint8_t data[SHA256_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1301
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1302
-	uint32_t W[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1303
-	uint32_t T[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1304
-	unsigned int j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1305
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1306
-	/* Copy context state to working vars. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1307
-	memcpy(T, state, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1308
-	/* Copy data to W in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1309
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1310
-	memcpy(W, data, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1311
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1312
-	for (j = 0; j < 16; j++) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1313
-	    BE8TO32(W[j], data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1314
-	    data += 4;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1315
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1316
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1317
-	/* 64 operations, partially loop unrolled. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1318
-	for (j = 0; j < 64; j += 16)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1319
-	{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1320
-		R( 0); R( 1); R( 2); R( 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1321
-		R( 4); R( 5); R( 6); R( 7);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1322
-		R( 8); R( 9); R(10); R(11);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1323
-		R(12); R(13); R(14); R(15);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1324
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1325
-	/* Add the working vars back into context state. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1326
-	state[0] += a(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1327
-	state[1] += b(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1328
-	state[2] += c(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1329
-	state[3] += d(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1330
-	state[4] += e(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1331
-	state[5] += f(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1332
-	state[6] += g(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1333
-	state[7] += h(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1334
-	/* Cleanup */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1335
-	memset_s(T, sizeof(T), 0, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1336
-	memset_s(W, sizeof(W), 0, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1337
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1338
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1339
-#undef S0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1340
-#undef S1
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1341
-#undef s0
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1342
-#undef s1
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1343
-#undef R
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1344
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1345
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1346
-SHA256Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1347
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1348
-	size_t i = 0, j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1349
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1350
-	j = (size_t)((ctx->count[0] >> 3) & (SHA256_BLOCK_LENGTH - 1));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1351
-	ctx->count[0] += (len << 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1352
-	if ((j + len) > SHA256_BLOCK_LENGTH - 1) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1353
-		memcpy(&ctx->buffer[j], data, (i = SHA256_BLOCK_LENGTH - j));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1354
-		SHA256Transform(ctx->state.st32, ctx->buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1355
-		for ( ; i + SHA256_BLOCK_LENGTH - 1 < len; i += SHA256_BLOCK_LENGTH)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1356
-			SHA256Transform(ctx->state.st32, (uint8_t *)&data[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1357
-		j = 0;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1358
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1359
-	memcpy(&ctx->buffer[j], &data[i], len - i);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1360
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1361
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1362
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1363
-SHA256Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1364
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1365
-	uint8_t finalcount[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1366
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1367
-	/* Store unpadded message length in bits in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1368
-	BE64TO8(finalcount, ctx->count[0]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1369
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1370
-	/* Append a '1' bit (0x80) to the message. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1371
-	SHA256Update(ctx, (uint8_t *)"\200", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1372
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1373
-	/* Pad message such that the resulting length modulo 512 is 448. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1374
-	while ((ctx->count[0] & 504) != 448)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1375
-		SHA256Update(ctx, (uint8_t *)"\0", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1376
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1377
-	/* Append length of message in bits and do final SHA256Transform(). */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1378
-	SHA256Update(ctx, finalcount, sizeof(finalcount));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1379
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1380
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1381
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1382
-SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1383
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1384
-	SHA256Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1385
-	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1386
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1387
-		memcpy(digest, ctx->state.st32, SHA256_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1388
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1389
-		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1390
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1391
-		for (i = 0; i < 8; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1392
-			BE32TO8(digest + (i * 4), ctx->state.st32[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1393
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1394
-		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1395
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1396
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1397
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1398
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1399
-SHA384Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1400
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1401
-	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1402
-	ctx->state.st64[0] = 0xcbbb9d5dc1059ed8ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1403
-	ctx->state.st64[1] = 0x629a292a367cd507ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1404
-	ctx->state.st64[2] = 0x9159015a3070dd17ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1405
-	ctx->state.st64[3] = 0x152fecd8f70e5939ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1406
-	ctx->state.st64[4] = 0x67332667ffc00b31ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1407
-	ctx->state.st64[5] = 0x8eb44a8768581511ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1408
-	ctx->state.st64[6] = 0xdb0c2e0d64f98fa7ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1409
-	ctx->state.st64[7] = 0x47b5481dbefa4fa4ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1410
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1411
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1412
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1413
-SHA384Transform(uint64_t state[8], const uint8_t data[SHA384_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1414
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1415
-	SHA512Transform(state, data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1416
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1417
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1418
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1419
-SHA384Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1420
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1421
-	SHA512Update(ctx, data, len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1422
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1423
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1424
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1425
-SHA384Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1426
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1427
-	SHA512Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1428
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1429
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1430
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1431
-SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1432
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1433
-	SHA384Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1434
-	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1435
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1436
-		memcpy(digest, ctx->state.st64, SHA384_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1437
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1438
-		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1439
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1440
-		for (i = 0; i < 6; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1441
-			BE64TO8(digest + (i * 8), ctx->state.st64[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1442
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1443
-		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1444
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1445
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1446
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1447
-static const uint64_t SHA512_K[80] = {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1448
-	0x428a2f98d728ae22ULL, 0x7137449123ef65cdULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1449
-	0xb5c0fbcfec4d3b2fULL, 0xe9b5dba58189dbbcULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1450
-	0x3956c25bf348b538ULL, 0x59f111f1b605d019ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1451
-	0x923f82a4af194f9bULL, 0xab1c5ed5da6d8118ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1452
-	0xd807aa98a3030242ULL, 0x12835b0145706fbeULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1453
-	0x243185be4ee4b28cULL, 0x550c7dc3d5ffb4e2ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1454
-	0x72be5d74f27b896fULL, 0x80deb1fe3b1696b1ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1455
-	0x9bdc06a725c71235ULL, 0xc19bf174cf692694ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1456
-	0xe49b69c19ef14ad2ULL, 0xefbe4786384f25e3ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1457
-	0x0fc19dc68b8cd5b5ULL, 0x240ca1cc77ac9c65ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1458
-	0x2de92c6f592b0275ULL, 0x4a7484aa6ea6e483ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1459
-	0x5cb0a9dcbd41fbd4ULL, 0x76f988da831153b5ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1460
-	0x983e5152ee66dfabULL, 0xa831c66d2db43210ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1461
-	0xb00327c898fb213fULL, 0xbf597fc7beef0ee4ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1462
-	0xc6e00bf33da88fc2ULL, 0xd5a79147930aa725ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1463
-	0x06ca6351e003826fULL, 0x142929670a0e6e70ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1464
-	0x27b70a8546d22ffcULL, 0x2e1b21385c26c926ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1465
-	0x4d2c6dfc5ac42aedULL, 0x53380d139d95b3dfULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1466
-	0x650a73548baf63deULL, 0x766a0abb3c77b2a8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1467
-	0x81c2c92e47edaee6ULL, 0x92722c851482353bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1468
-	0xa2bfe8a14cf10364ULL, 0xa81a664bbc423001ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1469
-	0xc24b8b70d0f89791ULL, 0xc76c51a30654be30ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1470
-	0xd192e819d6ef5218ULL, 0xd69906245565a910ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1471
-	0xf40e35855771202aULL, 0x106aa07032bbd1b8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1472
-	0x19a4c116b8d2d0c8ULL, 0x1e376c085141ab53ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1473
-	0x2748774cdf8eeb99ULL, 0x34b0bcb5e19b48a8ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1474
-	0x391c0cb3c5c95a63ULL, 0x4ed8aa4ae3418acbULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1475
-	0x5b9cca4f7763e373ULL, 0x682e6ff3d6b2b8a3ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1476
-	0x748f82ee5defb2fcULL, 0x78a5636f43172f60ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1477
-	0x84c87814a1f0ab72ULL, 0x8cc702081a6439ecULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1478
-	0x90befffa23631e28ULL, 0xa4506cebde82bde9ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1479
-	0xbef9a3f7b2c67915ULL, 0xc67178f2e372532bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1480
-	0xca273eceea26619cULL, 0xd186b8c721c0c207ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1481
-	0xeada7dd6cde0eb1eULL, 0xf57d4f7fee6ed178ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1482
-	0x06f067aa72176fbaULL, 0x0a637dc5a2c898a6ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1483
-	0x113f9804bef90daeULL, 0x1b710b35131c471bULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1484
-	0x28db77f523047d84ULL, 0x32caab7b40c72493ULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1485
-	0x3c9ebe0a15c9bebcULL, 0x431d67c49c100d4cULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1486
-	0x4cc5d4becb3e42b6ULL, 0x597f299cfc657e2aULL,
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1487
-	0x5fcb6fab3ad6faecULL, 0x6c44198c4a475817ULL
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1488
-};
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1489
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1490
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1491
-SHA512Init(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1492
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1493
-	memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1494
-	ctx->state.st64[0] = 0x6a09e667f3bcc908ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1495
-	ctx->state.st64[1] = 0xbb67ae8584caa73bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1496
-	ctx->state.st64[2] = 0x3c6ef372fe94f82bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1497
-	ctx->state.st64[3] = 0xa54ff53a5f1d36f1ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1498
-	ctx->state.st64[4] = 0x510e527fade682d1ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1499
-	ctx->state.st64[5] = 0x9b05688c2b3e6c1fULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1500
-	ctx->state.st64[6] = 0x1f83d9abfb41bd6bULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1501
-	ctx->state.st64[7] = 0x5be0cd19137e2179ULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1502
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1503
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1504
-/* Round macros for SHA512 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1505
-#define R(i) do {							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1506
-	h(i)+=S1(e(i))+Ch(e(i),f(i),g(i))+SHA512_K[i+j]+(j?blk2(i):blk0(i)); \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1507
-	d(i)+=h(i);							     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1508
-	h(i)+=S0(a(i))+Maj(a(i),b(i),c(i));				     \
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1509
-} while (0)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1510
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1511
-#define S0(x) (rotrFixed(x,28)^rotrFixed(x,34)^rotrFixed(x,39))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1512
-#define S1(x) (rotrFixed(x,14)^rotrFixed(x,18)^rotrFixed(x,41))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1513
-#define s0(x) (rotrFixed(x,1)^rotrFixed(x,8)^(x>>7))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1514
-#define s1(x) (rotrFixed(x,19)^rotrFixed(x,61)^(x>>6))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1515
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1516
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1517
-SHA512Transform(uint64_t state[8], const uint8_t data[SHA512_BLOCK_LENGTH])
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1518
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1519
-	uint64_t W[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1520
-	uint64_t T[8];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1521
-	unsigned int j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1522
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1523
-	/* Copy context state to working vars. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1524
-	memcpy(T, state, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1525
-	/* Copy data to W in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1526
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1527
-	memcpy(W, data, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1528
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1529
-	for (j = 0; j < 16; j++) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1530
-	    BE8TO64(W[j], data);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1531
-	    data += 8;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1532
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1533
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1534
-	/* 80 operations, partially loop unrolled. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1535
-	for (j = 0; j < 80; j += 16)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1536
-	{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1537
-		R( 0); R( 1); R( 2); R( 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1538
-		R( 4); R( 5); R( 6); R( 7);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1539
-		R( 8); R( 9); R(10); R(11);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1540
-		R(12); R(13); R(14); R(15);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1541
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1542
-	/* Add the working vars back into context state. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1543
-	state[0] += a(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1544
-	state[1] += b(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1545
-	state[2] += c(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1546
-	state[3] += d(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1547
-	state[4] += e(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1548
-	state[5] += f(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1549
-	state[6] += g(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1550
-	state[7] += h(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1551
-	/* Cleanup. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1552
-	memset_s(T, sizeof(T), 0, sizeof(T));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1553
-	memset_s(W, sizeof(W), 0, sizeof(W));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1554
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1555
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1556
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1557
-SHA512Update(SHA2_CTX *ctx, const uint8_t *data, size_t len)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1558
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1559
-	size_t i = 0, j;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1560
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1561
-	j = (size_t)((ctx->count[0] >> 3) & (SHA512_BLOCK_LENGTH - 1));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1562
-	ctx->count[0] += (len << 3);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1563
-	if (ctx->count[0] < (len << 3))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1564
-		ctx->count[1]++;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1565
-	if ((j + len) > SHA512_BLOCK_LENGTH - 1) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1566
-		memcpy(&ctx->buffer[j], data, (i = SHA512_BLOCK_LENGTH - j));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1567
-		SHA512Transform(ctx->state.st64, ctx->buffer);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1568
-		for ( ; i + SHA512_BLOCK_LENGTH - 1 < len; i += SHA512_BLOCK_LENGTH)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1569
-			SHA512Transform(ctx->state.st64, (uint8_t *)&data[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1570
-		j = 0;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1571
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1572
-	memcpy(&ctx->buffer[j], &data[i], len - i);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1573
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1574
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1575
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1576
-SHA512Pad(SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1577
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1578
-	uint8_t finalcount[16];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1579
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1580
-	/* Store unpadded message length in bits in big endian format. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1581
-	BE64TO8(finalcount, ctx->count[1]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1582
-	BE64TO8(finalcount + 8, ctx->count[0]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1583
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1584
-	/* Append a '1' bit (0x80) to the message. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1585
-	SHA512Update(ctx, (uint8_t *)"\200", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1586
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1587
-	/* Pad message such that the resulting length modulo 1024 is 896. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1588
-	while ((ctx->count[0] & 1008) != 896)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1589
-		SHA512Update(ctx, (uint8_t *)"\0", 1);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1590
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1591
-	/* Append length of message in bits and do final SHA512Transform(). */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1592
-	SHA512Update(ctx, finalcount, sizeof(finalcount));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1593
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1594
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1595
-void
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1596
-SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *ctx)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1597
-{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1598
-	SHA512Pad(ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1599
-	if (digest != NULL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1600
-#if BYTE_ORDER == BIG_ENDIAN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1601
-		memcpy(digest, ctx->state.st64, SHA512_DIGEST_LENGTH);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1602
-#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1603
-		unsigned int i;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1604
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1605
-		for (i = 0; i < 8; i++)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1606
-			BE64TO8(digest + (i * 8), ctx->state.st64[i]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1607
-#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1608
-		memset(ctx, 0, sizeof(*ctx));
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1609
-	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1610
-}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1611
diff -urN sudo-1.8.9p5.old/plugins/sudoers/sha2.h sudo-1.8.9p5/plugins/sudoers/sha2.h
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1612
--- sudo-1.8.9p5.old/plugins/sudoers/sha2.h	2014-01-07 19:08:54.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1613
+++ sudo-1.8.9p5/plugins/sudoers/sha2.h	1970-01-01 01:00:00.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1614
@@ -1,74 +0,0 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1615
-/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1616
- * Copyright (c) 2013 Todd C. Miller <[email protected]>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1617
- *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1618
- * Permission to use, copy, modify, and distribute this software for any
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1619
- * purpose with or without fee is hereby granted, provided that the above
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1620
- * copyright notice and this permission notice appear in all copies.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1621
- *
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1622
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1623
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1624
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1625
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1626
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1627
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1628
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1629
- */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1630
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1631
-/*
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1632
- * Derived from the public domain SHA-1 and SHA-2 implementations
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1633
- * by Steve Reid and Wei Dai respectively.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1634
- */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1635
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1636
-#ifndef _SUDOERS_SHA2_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1637
-#define _SUDOERS_SHA2_H
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1638
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1639
-#define	SHA224_BLOCK_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1640
-#define	SHA224_DIGEST_LENGTH		28
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1641
-#define	SHA224_DIGEST_STRING_LENGTH	(SHA224_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1642
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1643
-#define	SHA256_BLOCK_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1644
-#define	SHA256_DIGEST_LENGTH		32
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1645
-#define	SHA256_DIGEST_STRING_LENGTH	(SHA256_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1646
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1647
-#define	SHA384_BLOCK_LENGTH		128
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1648
-#define	SHA384_DIGEST_LENGTH		48
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1649
-#define	SHA384_DIGEST_STRING_LENGTH	(SHA384_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1650
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1651
-#define	SHA512_BLOCK_LENGTH		128
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1652
-#define	SHA512_DIGEST_LENGTH		64
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1653
-#define	SHA512_DIGEST_STRING_LENGTH	(SHA512_DIGEST_LENGTH * 2 + 1)
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1654
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1655
-typedef struct {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1656
-    union {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1657
-	uint32_t st32[8];	/* sha224 and sha256 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1658
-	uint64_t st64[8];	/* sha384 and sha512 */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1659
-    } state;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1660
-    uint64_t count[2];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1661
-    uint8_t buffer[SHA512_BLOCK_LENGTH];
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1662
-} SHA2_CTX;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1663
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1664
-void SHA224Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1665
-void SHA224Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1666
-void SHA224Transform(uint32_t state[8], const uint8_t buffer[SHA224_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1667
-void SHA224Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1668
-void SHA224Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1669
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1670
-void SHA256Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1671
-void SHA256Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1672
-void SHA256Transform(uint32_t state[8], const uint8_t buffer[SHA256_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1673
-void SHA256Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1674
-void SHA256Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1675
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1676
-void SHA384Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1677
-void SHA384Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1678
-void SHA384Transform(uint64_t state[8], const uint8_t buffer[SHA384_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1679
-void SHA384Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1680
-void SHA384Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1681
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1682
-void SHA512Init(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1683
-void SHA512Pad(SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1684
-void SHA512Transform(uint64_t state[8], const uint8_t buffer[SHA512_BLOCK_LENGTH]);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1685
-void SHA512Update(SHA2_CTX *ctx, const uint8_t *data, size_t len);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1686
-void SHA512Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA2_CTX *ctx);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1687
-
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1688
-#endif /* _SUDOERS_SHA2_H */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1689
diff -urN sudo-1.8.9p5.old/plugins/sudoers/toke.c sudo-1.8.9p5/plugins/sudoers/toke.c
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1690
--- sudo-1.8.9p5.old/plugins/sudoers/toke.c	2014-01-07 19:08:50.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1691
+++ sudo-1.8.9p5/plugins/sudoers/toke.c	2014-04-10 15:20:34.466936711 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1692
@@ -1997,6 +1997,11 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1693
 #  include <ndir.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1694
 # endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1695
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1696
+#ifdef HAVE_SHA224UPDATE
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1697
+# include <sha2.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1698
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1699
+# include "compat/sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1700
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1701
 #include <errno.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1702
 #include <ctype.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1703
 #include "sudoers.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1704
@@ -2004,7 +2009,6 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1705
 #include "toke.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1706
 #include <gram.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1707
 #include "lbuf.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1708
-#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1709
 #include "secure_path.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1710
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1711
 int sudolineno;			/* current sudoers line number. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1712
@@ -2050,7 +2054,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1713
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1714
 #define WANTDIGEST 6
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1715
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1716
-#line 2053 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1717
+#line 2057 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1718
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1719
 /* Macros after this point can all be overridden by user definitions in
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1720
  * section 1.
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1721
@@ -2204,9 +2208,9 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1722
 	register char *yy_cp, *yy_bp;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1723
 	register int yy_act;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1724
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1725
-#line 137 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1726
+#line 141 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1727
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1728
-#line 2209 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1729
+#line 2213 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1730
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1731
 	if ( yy_init )
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1732
 		{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1733
@@ -2292,7 +2296,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1734
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1735
 case 1:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1736
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1737
-#line 138 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1738
+#line 142 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1739
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1740
 			    LEXTRACE(", ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1741
 			    LEXRETURN(',');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1742
@@ -2300,12 +2304,12 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1743
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1744
 case 2:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1745
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1746
-#line 143 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1747
+#line 147 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1748
 BEGIN STARTDEFS;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1749
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1750
 case 3:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1751
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1752
-#line 145 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1753
+#line 149 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1754
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1755
 			    BEGIN INDEFS;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1756
 			    LEXTRACE("DEFVAR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1757
@@ -2317,7 +2321,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1758
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1759
 case 4:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1760
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1761
-#line 154 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1762
+#line 158 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1763
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1764
 			    BEGIN STARTDEFS;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1765
 			    LEXTRACE(", ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1766
@@ -2326,7 +2330,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1767
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1768
 case 5:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1769
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1770
-#line 160 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1771
+#line 164 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1772
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1773
 			    LEXTRACE("= ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1774
 			    LEXRETURN('=');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1775
@@ -2334,7 +2338,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1776
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1777
 case 6:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1778
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1779
-#line 165 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1780
+#line 169 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1781
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1782
 			    LEXTRACE("+= ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1783
 			    LEXRETURN('+');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1784
@@ -2342,7 +2346,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1785
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1786
 case 7:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1787
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1788
-#line 170 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1789
+#line 174 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1790
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1791
 			    LEXTRACE("-= ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1792
 			    LEXRETURN('-');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1793
@@ -2350,7 +2354,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1794
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1795
 case 8:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1796
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1797
-#line 175 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1798
+#line 179 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1799
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1800
 			    LEXTRACE("BEGINSTR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1801
 			    sudoerslval.string = NULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1802
@@ -2360,7 +2364,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1803
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1804
 case 9:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1805
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1806
-#line 182 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1807
+#line 186 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1808
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1809
 			    LEXTRACE("WORD(2) ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1810
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1811
@@ -2372,7 +2376,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1812
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1813
 case 10:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1814
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1815
-#line 191 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1816
+#line 195 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1817
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1818
 			    /* Line continuation char followed by newline. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1819
 			    sudolineno++;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1820
@@ -2381,7 +2385,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1821
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1822
 case 11:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1823
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1824
-#line 197 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1825
+#line 201 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1826
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1827
 			    LEXTRACE("ENDSTR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1828
 			    BEGIN prev_state;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1829
@@ -2416,7 +2420,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1830
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1831
 case 12:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1832
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1833
-#line 229 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1834
+#line 233 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1835
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1836
 			    LEXTRACE("BACKSLASH ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1837
 			    if (!append(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1838
@@ -2425,7 +2429,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1839
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1840
 case 13:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1841
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1842
-#line 235 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1843
+#line 239 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1844
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1845
 			    LEXTRACE("STRBODY ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1846
 			    if (!append(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1847
@@ -2436,7 +2440,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1848
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1849
 case 14:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1850
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1851
-#line 243 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1852
+#line 247 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1853
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1854
 			    /* quoted fnmatch glob char, pass verbatim */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1855
 			    LEXTRACE("QUOTEDCHAR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1856
@@ -2447,7 +2451,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1857
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1858
 case 15:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1859
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1860
-#line 251 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1861
+#line 255 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1862
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1863
 			    /* quoted sudoers special char, strip backslash */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1864
 			    LEXTRACE("QUOTEDCHAR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1865
@@ -2458,7 +2462,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1866
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1867
 case 16:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1868
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1869
-#line 259 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1870
+#line 263 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1871
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1872
 			    BEGIN INITIAL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1873
 			    yyless(0);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1874
@@ -2467,7 +2471,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1875
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1876
 case 17:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1877
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1878
-#line 265 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1879
+#line 269 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1880
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1881
 			    LEXTRACE("ARG ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1882
 			    if (!fill_args(sudoerstext, sudoersleng, sawspace))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1883
@@ -2478,7 +2482,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1884
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1885
 case 18:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1886
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1887
-#line 273 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1888
+#line 277 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1889
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1890
 			    /* Only return DIGEST if the length is correct. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1891
 			    if (sudoersleng == digest_len * 2) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1892
@@ -2494,7 +2498,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1893
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1894
 case 19:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1895
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1896
-#line 286 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1897
+#line 290 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1898
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1899
 			    /* Only return DIGEST if the length is correct. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1900
 			    int len;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1901
@@ -2518,7 +2522,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1902
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1903
 case 20:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1904
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1905
-#line 307 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1906
+#line 311 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1907
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1908
 			    char *path;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1909
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1910
@@ -2539,7 +2543,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1911
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1912
 case 21:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1913
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1914
-#line 325 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1915
+#line 329 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1916
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1917
 			    char *path;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1918
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1919
@@ -2563,7 +2567,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1920
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1921
 case 22:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1922
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1923
-#line 346 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1924
+#line 350 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1925
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1926
 			    char deftype;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1927
 			    int n;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1928
@@ -2606,7 +2610,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1929
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1930
 case 23:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1931
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1932
-#line 386 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1933
+#line 390 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1934
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1935
 			    int n;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1936
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1937
@@ -2635,7 +2639,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1938
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1939
 case 24:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1940
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1941
-#line 412 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1942
+#line 416 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1943
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1944
 				/* cmnd does not require passwd for this user */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1945
 			    	LEXTRACE("NOPASSWD ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1946
@@ -2644,7 +2648,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1947
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1948
 case 25:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1949
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1950
-#line 418 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1951
+#line 422 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1952
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1953
 				/* cmnd requires passwd for this user */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1954
 			    	LEXTRACE("PASSWD ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1955
@@ -2653,7 +2657,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1956
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1957
 case 26:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1958
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1959
-#line 424 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1960
+#line 428 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1961
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1962
 			    	LEXTRACE("NOEXEC ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1963
 			    	LEXRETURN(NOEXEC);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1964
@@ -2661,7 +2665,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1965
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1966
 case 27:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1967
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1968
-#line 429 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1969
+#line 433 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1970
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1971
 			    	LEXTRACE("EXEC ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1972
 			    	LEXRETURN(EXEC);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1973
@@ -2669,7 +2673,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1974
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1975
 case 28:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1976
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1977
-#line 434 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1978
+#line 438 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1979
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1980
 			    	LEXTRACE("SETENV ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1981
 			    	LEXRETURN(SETENV);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1982
@@ -2677,7 +2681,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1983
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1984
 case 29:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1985
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1986
-#line 439 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1987
+#line 443 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1988
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1989
 			    	LEXTRACE("NOSETENV ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1990
 			    	LEXRETURN(NOSETENV);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1991
@@ -2685,7 +2689,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1992
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1993
 case 30:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1994
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1995
-#line 444 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1996
+#line 448 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1997
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1998
 			    	LEXTRACE("LOG_OUTPUT ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  1999
 			    	LEXRETURN(LOG_OUTPUT);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2000
@@ -2693,7 +2697,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2001
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2002
 case 31:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2003
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2004
-#line 449 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2005
+#line 453 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2006
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2007
 			    	LEXTRACE("NOLOG_OUTPUT ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2008
 			    	LEXRETURN(NOLOG_OUTPUT);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2009
@@ -2701,7 +2705,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2010
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2011
 case 32:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2012
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2013
-#line 454 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2014
+#line 458 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2015
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2016
 			    	LEXTRACE("LOG_INPUT ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2017
 			    	LEXRETURN(LOG_INPUT);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2018
@@ -2709,7 +2713,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2019
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2020
 case 33:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2021
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2022
-#line 459 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2023
+#line 463 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2024
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2025
 			    	LEXTRACE("NOLOG_INPUT ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2026
 			    	LEXRETURN(NOLOG_INPUT);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2027
@@ -2717,7 +2721,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2028
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2029
 case 34:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2030
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2031
-#line 464 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2032
+#line 468 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2033
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2034
 			    /* empty group or netgroup */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2035
 			    LEXTRACE("ERROR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2036
@@ -2726,7 +2730,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2037
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2038
 case 35:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2039
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2040
-#line 470 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2041
+#line 474 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2042
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2043
 			    /* netgroup */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2044
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2045
@@ -2737,7 +2741,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2046
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2047
 case 36:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2048
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2049
-#line 478 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2050
+#line 482 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2051
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2052
 			    /* group */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2053
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2054
@@ -2748,7 +2752,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2055
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2056
 case 37:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2057
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2058
-#line 486 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2059
+#line 490 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2060
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2061
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2062
 				yyterminate();
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2063
@@ -2758,7 +2762,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2064
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2065
 case 38:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2066
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2067
-#line 493 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2068
+#line 497 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2069
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2070
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2071
 				yyterminate();
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2072
@@ -2768,7 +2772,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2073
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2074
 case 39:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2075
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2076
-#line 500 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2077
+#line 504 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2078
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2079
 			    if (!ipv6_valid(sudoerstext)) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2080
 				LEXTRACE("ERROR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2081
@@ -2782,7 +2786,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2082
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2083
 case 40:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2084
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2085
-#line 511 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2086
+#line 515 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2087
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2088
 			    if (!ipv6_valid(sudoerstext)) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2089
 				LEXTRACE("ERROR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2090
@@ -2796,7 +2800,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2091
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2092
 case 41:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2093
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2094
-#line 522 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2095
+#line 526 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2096
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2097
 			    LEXTRACE("ALL ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2098
 			    LEXRETURN(ALL);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2099
@@ -2805,7 +2809,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2100
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2101
 case 42:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2102
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2103
-#line 528 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2104
+#line 532 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2105
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2106
 #ifdef HAVE_SELINUX
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2107
 			    LEXTRACE("ROLE ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2108
@@ -2817,7 +2821,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2109
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2110
 case 43:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2111
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2112
-#line 537 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2113
+#line 541 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2114
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2115
 #ifdef HAVE_SELINUX
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2116
 			    LEXTRACE("TYPE ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2117
@@ -2829,7 +2833,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2118
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2119
 case 44:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2120
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2121
-#line 545 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2122
+#line 549 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2123
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2124
 #ifdef HAVE_PRIV_SET
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2125
 			    LEXTRACE("PRIVS ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2126
@@ -2841,7 +2845,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2127
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2128
 case 45:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2129
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2130
-#line 554 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2131
+#line 558 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2132
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2133
 #ifdef HAVE_PRIV_SET
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2134
 			    LEXTRACE("LIMITPRIVS ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2135
@@ -2853,7 +2857,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2136
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2137
 case 46:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2138
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2139
-#line 563 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2140
+#line 567 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2141
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2142
 			got_alias:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2143
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2144
@@ -2864,7 +2868,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2145
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2146
 case 47:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2147
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2148
-#line 571 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2149
+#line 575 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2150
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2151
 			    /* XXX - no way to specify digest for command */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2152
 			    /* no command args allowed for Defaults!/path */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2153
@@ -2876,47 +2880,47 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2154
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2155
 case 48:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2156
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2157
-#line 580 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2158
+#line 584 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2159
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2160
 			    digest_len = SHA224_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2161
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2162
-			    LEXTRACE("SHA224 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2163
-			    LEXRETURN(SHA224);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2164
+			    LEXTRACE("SHA224_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2165
+			    LEXRETURN(SHA224_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2166
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2167
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2168
 case 49:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2169
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2170
-#line 587 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2171
+#line 591 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2172
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2173
 			    digest_len = SHA256_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2174
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2175
-			    LEXTRACE("SHA256 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2176
-			    LEXRETURN(SHA256);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2177
+			    LEXTRACE("SHA256_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2178
+			    LEXRETURN(SHA256_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2179
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2180
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2181
 case 50:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2182
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2183
-#line 594 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2184
+#line 598 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2185
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2186
 			    digest_len = SHA384_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2187
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2188
-			    LEXTRACE("SHA384 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2189
-			    LEXRETURN(SHA384);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2190
+			    LEXTRACE("SHA384_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2191
+			    LEXRETURN(SHA384_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2192
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2193
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2194
 case 51:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2195
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2196
-#line 601 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2197
+#line 605 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2198
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2199
 			    digest_len = SHA512_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2200
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2201
-			    LEXTRACE("SHA512 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2202
-			    LEXRETURN(SHA512);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2203
+			    LEXTRACE("SHA512_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2204
+			    LEXRETURN(SHA512_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2205
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2206
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2207
 case 52:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2208
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2209
-#line 608 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2210
+#line 612 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2211
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2212
 			    BEGIN GOTCMND;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2213
 			    LEXTRACE("COMMAND ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2214
@@ -2926,7 +2930,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2215
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2216
 case 53:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2217
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2218
-#line 615 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2219
+#line 619 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2220
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2221
 			    /* directories can't have args... */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2222
 			    if (sudoerstext[sudoersleng - 1] == '/') {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2223
@@ -2944,7 +2948,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2224
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2225
 case 54:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2226
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2227
-#line 630 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2228
+#line 634 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2229
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2230
 			    LEXTRACE("BEGINSTR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2231
 			    sudoerslval.string = NULL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2232
@@ -2954,7 +2958,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2233
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2234
 case 55:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2235
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2236
-#line 637 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2237
+#line 641 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2238
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2239
 			    /* a word */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2240
 			    if (!fill(sudoerstext, sudoersleng))
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2241
@@ -2965,7 +2969,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2242
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2243
 case 56:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2244
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2245
-#line 645 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2246
+#line 649 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2247
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2248
 			    LEXTRACE("( ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2249
 			    LEXRETURN('(');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2250
@@ -2973,7 +2977,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2251
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2252
 case 57:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2253
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2254
-#line 650 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2255
+#line 654 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2256
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2257
 			    LEXTRACE(") ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2258
 			    LEXRETURN(')');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2259
@@ -2981,7 +2985,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2260
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2261
 case 58:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2262
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2263
-#line 655 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2264
+#line 659 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2265
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2266
 			    LEXTRACE(", ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2267
 			    LEXRETURN(',');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2268
@@ -2989,7 +2993,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2269
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2270
 case 59:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2271
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2272
-#line 660 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2273
+#line 664 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2274
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2275
 			    LEXTRACE("= ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2276
 			    LEXRETURN('=');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2277
@@ -2997,7 +3001,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2278
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2279
 case 60:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2280
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2281
-#line 665 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2282
+#line 669 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2283
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2284
 			    LEXTRACE(": ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2285
 			    LEXRETURN(':');
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2286
@@ -3005,7 +3009,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2287
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2288
 case 61:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2289
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2290
-#line 670 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2291
+#line 674 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2292
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2293
 			    if (sudoersleng & 1) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2294
 				LEXTRACE("!");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2295
@@ -3015,7 +3019,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2296
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2297
 case 62:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2298
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2299
-#line 677 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2300
+#line 681 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2301
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2302
 			    if (YY_START == INSTR) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2303
 				LEXTRACE("ERROR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2304
@@ -3030,14 +3034,14 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2305
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2306
 case 63:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2307
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2308
-#line 689 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2309
+#line 693 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2310
 {			/* throw away space/tabs */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2311
 			    sawspace = true;	/* but remember for fill_args */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2312
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2313
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2314
 case 64:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2315
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2316
-#line 693 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2317
+#line 697 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2318
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2319
 			    sawspace = true;	/* remember for fill_args */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2320
 			    sudolineno++;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2321
@@ -3046,7 +3050,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2322
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2323
 case 65:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2324
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2325
-#line 699 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2326
+#line 703 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2327
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2328
 			    if (sudoerstext[sudoersleng - 1] == '\n') {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2329
 				/* comment ending in a newline */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2330
@@ -3063,7 +3067,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2331
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2332
 case 66:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2333
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2334
-#line 713 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2335
+#line 717 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2336
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2337
 			    LEXTRACE("ERROR ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2338
 			    LEXRETURN(ERROR);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2339
@@ -3076,7 +3080,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2340
 case YY_STATE_EOF(INDEFS):
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2341
 case YY_STATE_EOF(INSTR):
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2342
 case YY_STATE_EOF(WANTDIGEST):
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2343
-#line 718 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2344
+#line 722 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2345
 {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2346
 			    if (YY_START != INITIAL) {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2347
 			    	BEGIN INITIAL;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2348
@@ -3089,10 +3093,10 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2349
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2350
 case 67:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2351
 YY_RULE_SETUP
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2352
-#line 728 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2353
+#line 732 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2354
 ECHO;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2355
 	YY_BREAK
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2356
-#line 3095 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2357
+#line 3099 "lex.sudoers.c"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2358
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2359
 	case YY_END_OF_BUFFER:
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2360
 		{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2361
@@ -3983,7 +3987,7 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2362
 	return 0;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2363
 	}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2364
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2365
-#line 728 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2366
+#line 732 "toke.l"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2367
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2368
 struct path_list {
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2369
     SLIST_ENTRY(path_list) entries;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2370
diff -urN sudo-1.8.9p5.old/plugins/sudoers/toke.l sudo-1.8.9p5/plugins/sudoers/toke.l
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2371
--- sudo-1.8.9p5.old/plugins/sudoers/toke.l	2014-01-07 19:08:50.000000000 +0100
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2372
+++ sudo-1.8.9p5/plugins/sudoers/toke.l	2014-04-10 15:20:34.467610395 +0200
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2373
@@ -69,6 +69,11 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2374
 #  include <ndir.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2375
 # endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2376
 #endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2377
+#ifdef HAVE_SHA224UPDATE
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2378
+# include <sha2.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2379
+#else
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2380
+# include "compat/sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2381
+#endif
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2382
 #include <errno.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2383
 #include <ctype.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2384
 #include "sudoers.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2385
@@ -76,7 +81,6 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2386
 #include "toke.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2387
 #include <gram.h>
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2388
 #include "lbuf.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2389
-#include "sha2.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2390
 #include "secure_path.h"
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2391
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2392
 int sudolineno;			/* current sudoers line number. */
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2393
@@ -580,29 +584,29 @@
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2394
 sha224			{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2395
 			    digest_len = SHA224_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2396
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2397
-			    LEXTRACE("SHA224 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2398
-			    LEXRETURN(SHA224);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2399
+			    LEXTRACE("SHA224_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2400
+			    LEXRETURN(SHA224_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2401
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2402
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2403
 sha256			{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2404
 			    digest_len = SHA256_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2405
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2406
-			    LEXTRACE("SHA256 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2407
-			    LEXRETURN(SHA256);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2408
+			    LEXTRACE("SHA256_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2409
+			    LEXRETURN(SHA256_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2410
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2411
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2412
 sha384			{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2413
 			    digest_len = SHA384_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2414
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2415
-			    LEXTRACE("SHA384 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2416
-			    LEXRETURN(SHA384);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2417
+			    LEXTRACE("SHA384_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2418
+			    LEXRETURN(SHA384_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2419
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2420
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2421
 sha512			{
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2422
 			    digest_len = SHA512_DIGEST_LENGTH;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2423
 			    BEGIN WANTDIGEST;
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2424
-			    LEXTRACE("SHA512 ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2425
-			    LEXRETURN(SHA512);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2426
+			    LEXTRACE("SHA512_TOK ");
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2427
+			    LEXRETURN(SHA512_TOK);
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2428
 			}
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2429
 
93243cb310c5 17890284 Update to sudo version 1.8.9p5
Vladimir Marek <Vladimir.Marek@oracle.com>
parents:
diff changeset
  2430
 sudoedit		{