diff options
| -rw-r--r-- | NEWS | 5 | ||||
| -rwxr-xr-x | configure | 18 | ||||
| -rw-r--r-- | configure.ac | 2 | ||||
| -rw-r--r-- | doc/visudo.cat | 4 | ||||
| -rw-r--r-- | doc/visudo.man.in | 4 | ||||
| -rw-r--r-- | doc/visudo.mdoc.in | 4 | ||||
| -rw-r--r-- | plugins/sudoers/timestamp.c | 8 |
7 files changed, 28 insertions, 17 deletions
@@ -1,3 +1,8 @@ +What's new in Sudo 1.8.10p2? + + * Fixed a hang introduced in sudo 1.8.10 when timestamp_timeout + is set to zero. + What's new in Sudo 1.8.10p1? * Fixed a bug introduced in sudo 1.8.10 that prevented the disabling @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sudo 1.8.10p1. +# Generated by GNU Autoconf 2.69 for sudo 1.8.10p2. # # Report bugs to <http://www.sudo.ws/bugs/>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sudo' PACKAGE_TARNAME='sudo' -PACKAGE_VERSION='1.8.10p1' -PACKAGE_STRING='sudo 1.8.10p1' +PACKAGE_VERSION='1.8.10p2' +PACKAGE_STRING='sudo 1.8.10p2' PACKAGE_BUGREPORT='http://www.sudo.ws/bugs/' PACKAGE_URL='' @@ -1505,7 +1505,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sudo 1.8.10p1 to adapt to many kinds of systems. +\`configure' configures sudo 1.8.10p2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1570,7 +1570,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sudo 1.8.10p1:";; + short | recursive ) echo "Configuration of sudo 1.8.10p2:";; esac cat <<\_ACEOF @@ -1802,7 +1802,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sudo configure 1.8.10p1 +sudo configure 1.8.10p2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2511,7 +2511,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sudo $as_me 1.8.10p1, which was +It was created by sudo $as_me 1.8.10p2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -22958,7 +22958,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sudo $as_me 1.8.10p1, which was +This file was extended by sudo $as_me 1.8.10p2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23024,7 +23024,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sudo config.status 1.8.10p1 +sudo config.status 1.8.10p2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 229f6ea98..88af32eb0 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl dnl Copyright (c) 1994-1996,1998-2014 Todd C. Miller <Todd.Miller@courtesan.com> dnl AC_PREREQ([2.59]) -AC_INIT([sudo], [1.8.10p1], [http://www.sudo.ws/bugs/], [sudo]) +AC_INIT([sudo], [1.8.10p2], [http://www.sudo.ws/bugs/], [sudo]) AC_CONFIG_HEADER([config.h pathnames.h]) AC_CONFIG_SRCDIR([src/sudo.c]) dnl diff --git a/doc/visudo.cat b/doc/visudo.cat index a7b91ea75..66ba0a7f4 100644 --- a/doc/visudo.cat +++ b/doc/visudo.cat @@ -74,9 +74,9 @@ DDEESSCCRRIIPPTTIIOONN --xx _f_i_l_e, ----eexxppoorrtt=_f_i_l_e Export _s_u_d_o_e_r_s in JSON format and write it to _f_i_l_e. If _f_i_l_e - is `-', the exported _s_u_d_o_e_r_s policy will to be written to the + is `-', the exported _s_u_d_o_e_r_s policy will be written to the standard output. The exported format is intended to be - easier for third-party applications to parse that the + easier for third-party applications to parse than the traditional _s_u_d_o_e_r_s format. The various values have explicit types which removes much of the ambiguity of the _s_u_d_o_e_r_s format. diff --git a/doc/visudo.man.in b/doc/visudo.man.in index 4f622e112..d26eb6761 100644 --- a/doc/visudo.man.in +++ b/doc/visudo.man.in @@ -216,9 +216,9 @@ is \(oq-\(cq, the exported \fIsudoers\fR -policy will to be written to the standard output. +policy will be written to the standard output. The exported format is intended to be easier for third-party -applications to parse that the traditional +applications to parse than the traditional \fIsudoers\fR format. The various values have explicit types which removes much of the diff --git a/doc/visudo.mdoc.in b/doc/visudo.mdoc.in index cc89a1241..c94cdbbda 100644 --- a/doc/visudo.mdoc.in +++ b/doc/visudo.mdoc.in @@ -207,9 +207,9 @@ is .Ql - , the exported .Em sudoers -policy will to be written to the standard output. +policy will be written to the standard output. The exported format is intended to be easier for third-party -applications to parse that the traditional +applications to parse than the traditional .Em sudoers format. The various values have explicit types which removes much of the diff --git a/plugins/sudoers/timestamp.c b/plugins/sudoers/timestamp.c index f9ddeada6..e005628d4 100644 --- a/plugins/sudoers/timestamp.c +++ b/plugins/sudoers/timestamp.c @@ -119,11 +119,13 @@ ts_find_record(int fd, struct timestamp_entry *key, struct timestamp_entry *entr */ while (read(fd, &cur, sizeof(cur)) == sizeof(cur)) { if (cur.size != sizeof(cur)) { - /* wrong size, seek to next record */ + /* wrong size, seek to start of next record */ sudo_debug_printf(SUDO_DEBUG_INFO|SUDO_DEBUG_LINENO, "wrong sized record, got %hu, expected %zu", cur.size, sizeof(cur)); lseek(fd, (off_t)cur.size - (off_t)sizeof(cur), SEEK_CUR); + if (cur.size == 0) + break; /* size must be non-zero */ continue; } if (ts_match_record(key, &cur)) { @@ -327,6 +329,10 @@ update_timestamp(struct passwd *pw) int fd; debug_decl(update_timestamp, SUDO_DEBUG_AUTH) + /* Zero timeout means don't update the time stamp file. */ + if (def_timestamp_timeout == 0) + goto done; + /* Check/create parent directories as needed. */ if (!ts_secure_dir(def_timestampdir, true, false)) goto done; |
