[BACK]Return to ChangeLog CVS log [TXT][DIR] Up to [local] / src / usr.bin / sudo

Annotation of src/usr.bin/sudo/ChangeLog, Revision 1.12

1.12    ! millert     1: 2010-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
        !             2:
        !             3:         * match.c: Check for pseudo-command by looking at the first
        !             4:           character of the command in sudoers instead of checking the
        !             5:           user-supplied command for a slash.
        !             6:
1.11      millert     7: 2010-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1.12    ! millert     8:
1.11      millert     9:        * toke.l: Fix size arg when realloc()ing include stack.
                     10:          From Daniel Kopecek
                     11:
                     12:        * toke.l: Avoid a duplicate fclose() of the sudoers file.
                     13:
                     14: 2010-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
                     15:
                     16:        * aix.c, config.h.in, configure, configure.in: Use setrlimit64(),
                     17:          if available, instead of setrlimit() when setting AIX resource
                     18:          limits since rlim_t is 32bits.
                     19:
                     20:        * logging.c: Fix use after free when sending error messages.
                     21:          From Timo Juhani Lindfors
                     22:
                     23: 2009-12-17 15:02  millert
                     24:
                     25:        * parse.c: Fix printing of entries with multiple host entries on
                     26:          a single line.
                     27:
                     28: 2009-12-09 16:05  millert
                     29:
                     30:        * logging.c: fix typo in last commit
                     31:
                     32: 2009-12-08 22:19  millert
                     33:
                     34:        * logging.c: Convert fmt_first and fmt_confd into macros.
                     35:
1.10      millert    36: 2009-11-23 10:56  millert
                     37:
                     38:        * match.c: cmnd_matches() already deals with negation so
                     39:          _cmndlist_matches() does not need to do so itself.  Fixes a bug
                     40:          with negated entries in a Cmnd_List.
                     41:
                     42: 2009-11-22 11:12  millert
                     43:
                     44:        * sudo.c: Don't exit() from open_sudoers, just return NULL for all
                     45:          errors.
                     46:
                     47: 2009-11-22 09:54  millert
                     48:
                     49:        * toke.c, toke.l: Add missing extern def for parse_error
                     50:
                     51: 2009-11-20 19:11  millert
                     52:
                     53:        * toke.c, toke.l: Avoid a parse error when #includedir doesn't find
                     54:          any files.  Closes bug #375
                     55:
                     56: 2009-11-20 19:03  millert
                     57:
                     58:        * Makefile.in: Include sudo.man.pl and sudoers.man.pl in the
                     59:          distribution tarball.
                     60:
                     61: 2009-11-04 09:42  millert
                     62:
                     63:        * configure, configure.in: Fix a few typos in the descriptions;
                     64:          from Jeff Makey Only do the check for
                     65:          krb5_get_init_creds_opt_free() taking two arguments if we find
                     66:          krb5_get_init_creds_opt_alloc().  Otherwise we will get a false
                     67:          positive when using our own krb5_get_init_creds_opt_free which
                     68:          takes only a single argument.
                     69:
                     70: 2009-11-03 09:58  millert
                     71:
                     72:        * configure, configure.in: Remove a spurious comma in the kerb5
                     73:          bits.
                     74:
                     75: 2009-11-03 09:51  millert
                     76:
                     77:        * auth/kerb5.c: Call krb5_get_init_creds_opt_init() in our emulated
                     78:          krb5_get_init_creds_opt_alloc() for MIT kerberos.
                     79:
                     80: 2009-09-30 09:50  millert
                     81:
                     82:        * sudo_edit.c: Always update the stashed mtime of the temp file
                     83:          instead of using what we have for the original because the time
                     84:          resolution of the filesystem the temporary is on may not match
                     85:          that of the filesystem that holds the original.  Should fix bz
                     86:          #371 found by Philippe Levan.
                     87:
                     88: 2009-09-24 21:11  millert
                     89:
                     90:        * configure, configure.in, sudoers.man.pl, sudoers.pod: Substitute
                     91:          in default value for secure_path
                     92:
                     93: 2009-09-24 20:31  millert
                     94:
                     95:        * sudo.pod: Mention that the password must be followed by a newline
                     96:          with the -S option.
                     97:
                     98: 2009-08-07 10:21  millert
                     99:
                    100:        * auth/pam.c: Set PAM_RUSER and PAM_RHOST early so they can be used
                    101:          during authentication.  Based on a patch from Jamie Beverly.
                    102:
                    103: 2009-08-07 09:25  millert
                    104:
                    105:        * match.c: Close dir before returning if strlcpy() reports
                    106:          overflow.  From Martynas Venckus.
                    107:
                    108: 2009-07-18 09:55  millert
                    109:
                    110:        * toke.c, toke.l: Fix expansion of %h in #include names.  Fixes
                    111:          bugzilla 363
                    112:
                    113: 2009-07-12 17:17  millert
                    114:
                    115:        * mkdefaults: If no arg assume def_data.in
                    116:
                    117: 2009-07-11 21:27  millert
                    118:
                    119:        * README, WHATSNEW: Update for 1.7.2
                    120:
                    121: 2009-07-11 21:12  millert
                    122:
                    123:        * ChangeLog: sync
                    124:
1.9       millert   125: 2009-06-30 08:41  millert
                    126:
                    127:        * sudoers.cat, sudoers.man.in, sudoers.pod: Add missing single
                    128:          quotes around a colon in Runas_Spec definition.  From Elias
                    129:          Benali.
                    130:
1.8       millert   131: 2009-06-29 09:36  millert
                    132:
                    133:        * redblack.c: In rbrepair, re-color the root or the first non-block
                    134:          node we find to be black.  Re-coloring the root is probably not
                    135:          needed but won't hurt.
                    136:
                    137: 2009-06-29 09:35  millert
                    138:
                    139:        * sudo.cat, sudoers.cat, sudo.man.in, sudoers.man.in: regen
                    140:
                    141: 2009-06-26 16:40  millert
                    142:
                    143:        * redblack.c: When repairing the tree, don't touch the root node.
                    144:
                    145: 2009-06-25 08:44  millert
                    146:
                    147:        * set_perms.c: Protect call to setegid in runas_setup with #ifdef
                    148:          HAVE_SETEUID.  Reported by Josef Schmid.
                    149:
1.7       millert   150: 2009-06-23 14:29  millert
                    151:
                    152:        * sudoers.pod: Document that we accept env_pam-style environment
                    153:          files
                    154:
                    155: 2009-06-23 14:24  millert
                    156:
                    157:        * env.c: Adapt to accept pam_env-style /etc/environment which
                    158:          allows shell-style lines such as: export EDITOR="/usr/bin/vi"
                    159:
                    160: 2009-06-23 12:22  millert
                    161:
                    162:        * sudoers.pod: Make it clear that env_delete only works when
                    163:          !env_reset.  From Loïc Minier
                    164:
1.6       millert   165: 2009-06-15 17:19  millert
                    166:
                    167:        * sudo.pod, sudoers.pod: Add non-unix group bits, adapted from
                    168:          Quest
                    169:
                    170: 2009-06-15 17:18  millert
                    171:
                    172:        * Makefile.in: build the .cat page in the current working dir, not
                    173:          the src dir
                    174:
                    175: 2009-06-15 09:10  millert
                    176:
                    177:        * env.c: Return EINVAL in setenv() if var is NULL or the empty
                    178:          string to match glibc behavior.
                    179:
                    180: 2009-06-13 16:52  millert
                    181:
                    182:        * configure, configure.in: Use AS_HELP_STRING for AC_ARG_WITH and
                    183:          AC_ARG_ENABLE
                    184:
                    185: 2009-06-11 16:29  millert
                    186:
                    187:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
                    188:          sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
                    189:          regen
                    190:
                    191: 2009-06-09 10:08  millert
                    192:
                    193:        * INSTALL: Document --with-libvas and --with-libvas-rpath
                    194:
                    195: 2009-05-29 09:43  millert
                    196:
                    197:        * ldap.c, sudoers.ldap.pod: For netscape-derived LDAP SDKs the cert
                    198:          and key paths may be a directory or a file.  However, version 5.0
                    199:          of the SDK only seems to support using a directory.  If
                    200:          ldapssl_clientauth_init fails and the cert or key paths look like
                    201:          they could be files, strip off the last path element and try
                    202:          again.
                    203:
                    204: 2009-05-29 09:40  millert
                    205:
                    206:        * Makefile.in: Add non-Unix group .o to COMMON_OBJS and substitute
                    207:          in path to flex.
                    208:
                    209: 2009-05-26 20:49  millert
                    210:
                    211:        * configure, configure.in, match.c, sudo.c, vasgroups.c: Update
                    212:          non-Unix group support from Quest, as reworked by me.
                    213:
                    214: 2009-05-26 20:47  millert
                    215:
                    216:        * toke.c: regen
                    217:
                    218: 2009-05-26 20:46  millert
                    219:
                    220:        * toke.l: Add support for escaped hex chars in names, e.g. \x20 for
                    221:          space.
                    222:
                    223: 2009-05-25 08:02  millert
                    224:
                    225:        * LICENSE, Makefile.in, aclocal.m4, alias.c, check.c, env.c,
                    226:          fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c,
                    227:          logging.c, logging.h, match.c, parse.c, parse.h, pathnames.h.in,
                    228:          pwutil.c, set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c,
                    229:          sudo_nss.h, sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod,
                    230:          testsudoers.c, tgetpass.c, toke.l, visudo.c, auth/aix_auth.c,
                    231:          auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h: Update copyright
                    232:          years.
                    233:
                    234: 2009-05-24 08:33  millert
                    235:
                    236:        * interfaces.c, lbuf.c: Minor fixes for Minix-3
                    237:
                    238: 2009-05-22 06:37  millert
                    239:
                    240:        * set_perms.c: Handle getgroups() returning 0.  Also add missing
                    241:          check for HAVE_GETGROUPS.
                    242:
                    243: 2009-05-19 17:24  millert
                    244:
                    245:        * Makefile.in, config.h.in, configure, configure.in, sudo.c,
                    246:          version.h, visudo.c: Replace version.h with PACKAGE_VERSION set
                    247:          via AC_INIT in configure.
                    248:
                    249: 2009-05-18 06:33  millert
                    250:
                    251:        * set_perms.c: Remove group setting code in setusercontext case, we
                    252:          will do it ourselves later on in runas_setup.  Set the gid after
                    253:          initgroups/setgroups is called, since on Mac OS X it seems to
                    254:          change the egid.
                    255:
                    256: 2009-05-17 18:19  millert
                    257:
                    258:        * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
                    259:          vasgroups.c: Initial bits of non-unix group support using Quest
                    260:          Authentication Services
                    261:
                    262: 2009-05-17 16:52  millert
                    263:
                    264:        * toke.c, toke.l: Accept %:foo as a non-Unix group
                    265:
                    266: 2009-05-17 16:22  millert
                    267:
                    268:        * toke.c, toke.l: Allow user/group to be double quoted in the case
                    269:          of non-Unix groups which contain spaces.
                    270:
                    271: 2009-05-11 12:47  millert
                    272:
                    273:        * match.c: Don't allow the user to specify the default runas user
                    274:          if their sudoers entry only allows them to run as a group.
                    275:
                    276: 2009-05-10 07:59  millert
                    277:
                    278:        * sudo.c: Must call audit_success before we change uids.
                    279:
                    280: 2009-05-10 07:52  millert
                    281:
                    282:        * logging.c, set_perms.c, sudo.h, testsudoers.c: Add option for
                    283:          set_perm to not exit on failure and use this in the logging
                    284:          routines.
                    285:
                    286: 2009-05-10 07:33  millert
                    287:
                    288:        * parse.c: In -l mode, if the user is only allowed to run as a
                    289:          group, display the user's name, not root's before the allowed
                    290:          group.
                    291:
                    292: 2009-05-09 21:00  millert
                    293:
                    294:        * sudo.c: Fix -g mode, broken by rev 1.503 which had the side
                    295:          effect of setting the runas user to root unilaterally.
                    296:
                    297: 2009-05-08 16:19  millert
                    298:
                    299:        * fileops.c: When unlocking a file with fcntl, use F_SETLK, not
                    300:          F_SETLKW.
                    301:
                    302: 2009-05-08 13:07  millert
                    303:
                    304:        * pwutil.c: Only cache by the method we fetched for pwd and grp
                    305:          lookups.  Previously we cached both by namd and id but this can
                    306:          cause problems for entries that share the same id.  Also add more
                    307:          info in the error message in case the insert fails (which should
                    308:          now be impossible).
                    309:
                    310: 2009-04-30 15:04  millert
                    311:
                    312:        * sudoers.pod: Add a clarification from Nick Sieger
                    313:
                    314: 2009-04-25 12:49  millert
                    315:
                    316:        * env.c: Inline the setting of the environment string.
                    317:
                    318: 2009-04-24 14:53  millert
                    319:
                    320:        * env.c: setenv(3) in Linux treats a NUL value as the empty string
                    321:          setenv(3) in BSD doesn't return an error if the name has '=' in
                    322:          it, it just treats the '=' as end of string.
                    323:
                    324: 2009-04-22 16:32  millert
                    325:
                    326:        * toke.c, toke.l: Not all systems have d_namlen
                    327:
                    328: 2009-04-20 13:53  millert
                    329:
                    330:        * sudoers.pod: Fix up some pod2html issues.
                    331:
                    332: 2009-04-19 14:09  millert
                    333:
                    334:        * interfaces.c: Check for NULL ifa_addr and ifa_netmask.  Adapted
                    335:          from a diff from Quest Software.
                    336:
                    337: 2009-04-19 09:01  millert
                    338:
                    339:        * sudoers.pod: Ignore files ending in '~' in sudo.d (emacs backup
                    340:          files)
                    341:
                    342: 2009-04-19 08:56  millert
                    343:
                    344:        * toke.c, toke.l: Ignore files ending in '~' in sudo.d (emacs
                    345:          backup files)
                    346:
                    347: 2009-04-18 19:37  millert
                    348:
                    349:        * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l: For
                    350:          #includedir, ignore any file containing a dot
                    351:
                    352: 2009-04-18 19:25  millert
                    353:
                    354:        * Makefile.in, version.h: Bump version
                    355:
                    356: 2009-04-18 19:25  millert
                    357:
                    358:        * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
                    359:          sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
                    360:          visudo.c: Implement #includedir directive.  Files in an
                    361:          includedir are not edited by visudo unless they contain a syntax
                    362:          error.
                    363:
                    364: 2009-04-18 12:06  millert
                    365:
                    366:        * ChangeLog: sync
                    367:
1.5       millert   368: 2009-04-18 10:27  millert
                    369:
                    370:        * WHATSNEW: Forgot umask_override
                    371:
                    372: 2009-04-18 09:25  millert
                    373:
                    374:        * ChangeLog, TODO: sync
                    375:
                    376: 2009-04-16 08:22  millert
                    377:
                    378:        * visudo.c: Rewind stream if we fdopen sudoers since it may not be
                    379:          at the beginning.  Set the keepopen flag on already-open files
                    380:          too so the lexer doesn't close them out from under us.
                    381:
                    382: 2009-04-16 08:18  millert
                    383:
                    384:        * visudo.c: Print the proper file name when there is a parse error
                    385:          in an include file.
                    386:
                    387: 2009-04-11 07:45  millert
                    388:
                    389:        * WHATSNEW: Sync
                    390:
1.4       millert   391: 2009-04-10 16:59  millert
                    392:
                    393:        * configure, configure.in: Fix a warning when --without-ldap is
                    394:          specified.
                    395:
                    396: 2009-04-05 12:25  millert
                    397:
                    398:        * alias.c, parse.h, visudo.c: Store aliases that we remove during
                    399:          check_aliases in a freelist and free them at the end so we don't
                    400:          leak memory.
                    401:
                    402: 2009-03-28 09:30  millert
                    403:
                    404:        * visudo.c: Check aliases in -c mode too.
                    405:
                    406: 2009-03-28 09:09  millert
                    407:
                    408:        * alias.c, parse.h, visudo.c: Make alias_remove return the alias
                    409:          struct instead of freeing it directly.  Fixes a use after free in
                    410:          alias_remove_recursive, the only consumer.
                    411:
                    412: 2009-03-28 09:07  millert
                    413:
                    414:        * alias.c, match.c, parse.c, parse.h, visudo.c: Rename find_alias
                    415:          -> alias_find for consistency.
                    416:
                    417: 2009-03-27 19:29  millert
                    418:
                    419:        * visudo.c: When checking for unused aliases, recurse if the alias
                    420:          points to another alias.
                    421:
                    422: 2009-03-16 12:11  millert
                    423:
                    424:        * ldap.c: Back out rev 1.105 for now.  Real ldapux_client.conf
                    425:          support will be done later after some refactoring.
                    426:
                    427: 2009-03-14 12:02  millert
                    428:
                    429:        * ldap.c: Treat ldap_hostport the same as "host" for ldapux.
                    430:
                    431: 2009-03-13 21:04  millert
                    432:
                    433:        * configure, configure.in: Only check for
                    434:          ldap_sasl_interactive_bind_s if we can find sasl.h.  Fixes
                    435:          compilation with ldapux.
                    436:
                    437: 2009-03-11 20:03  millert
                    438:
                    439:        * fileops.c: fix char subscript
                    440:
                    441: 2009-03-11 19:19  millert
                    442:
                    443:        * Makefile.in: remove errant carriage returns
                    444:
                    445: 2009-03-11 19:01  millert
                    446:
                    447:        * audit.c, env.c: fix K&R compilation
                    448:
                    449: 2009-03-11 12:12  millert
                    450:
                    451:        * sudo.man.in, sudo.cat, sudoers.cat, sudoers.ldap.cat,
                    452:          sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
                    453:          regen
                    454:
                    455: 2009-03-10 17:34  millert
                    456:
                    457:        * config.h.in: Add missing HAVE_BSM_AUDIT
                    458:
                    459: 2009-03-10 17:21  millert
                    460:
                    461:        * WHATSNEW: Add 1.7.1 features
                    462:
                    463: 2009-03-10 17:10  millert
                    464:
                    465:        * INSTALL: Mention --with-netsvc
                    466:
                    467: 2009-03-10 17:08  millert
                    468:
                    469:        * sudoers.ldap.pod: Document netsvc.conf support
                    470:
                    471: 2009-03-10 16:44  millert
                    472:
                    473:        * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
                    474:          sudo_nss.h: Add support for AIX netsvc.conf (like nsswitch.conf).
                    475:
                    476: 2009-03-08 16:57  millert
                    477:
                    478:        * configure, config.h.in, configure.in, env.c: Add
                    479:          --enable-env-debug flag to enable environment sanity checks.
                    480:
                    481: 2009-03-08 11:51  millert
                    482:
                    483:        * sudoers.ldap.pod, sudoers.pod: Work around some pod2html issue.
                    484:
                    485: 2009-03-07 17:10  millert
                    486:
                    487:        * env.c: Only sync environ for putenv, setenv, and unsetenv.  We
                    488:          need to make sure that sudo_putenv and sudo_setenv only modify
                    489:          env.envp, not environ.
                    490:
                    491: 2009-03-02 14:19  millert
                    492:
                    493:        * env.c: Really fix UNSETENV_VOID
                    494:
                    495: 2009-03-02 14:18  millert
                    496:
                    497:        * env.c: Fix unsetenv when UNSETENV_VOID
                    498:
                    499: 2009-03-02 08:00  millert
                    500:
                    501:        * aclocal.m4, configure: Fix SUDO_FUNC_PUTENV_CONST
                    502:
                    503: 2009-03-02 07:36  millert
                    504:
                    505:        * ldap.c: tivoli-based ldap does not have ldapssl_err2string
                    506:
                    507: 2009-03-02 07:30  millert
                    508:
                    509:        * configure: regen
                    510:
                    511: 2009-03-01 16:20  millert
                    512:
                    513:        * config.h.in, configure, configure.in, ldap.c: Add support for
                    514:          Tivoli-based LDAP start TLS as seen in AIX.  Untested.
                    515:
                    516: 2009-03-01 08:52  millert
                    517:
                    518:        * env.c: Add sanity checks for setenv/unsetenv
                    519:
                    520: 2009-02-28 20:17  millert
                    521:
                    522:        * Makefile.in: Include bsm_audit.h in the tarball
                    523:
                    524: 2009-02-28 20:00  millert
                    525:
                    526:        * Makefile.in, version.h: bump version for sudo 1.7.1
                    527:
                    528: 2009-02-28 19:58  millert
                    529:
                    530:        * aclocal.m4, config.h.in, configure, configure.in, env.c, ldap.c,
                    531:          sudo.h, auth/aix_auth.c: Replace sudo_setenv/sudo_unsetenv with
                    532:          calls to setenv/unsetenv and provide our own
                    533:          setenv/unsetenv/putenv that operates on own env pointer.  Make
                    534:          sync_env() inline in setenv/unsetenv/putenv functions.
                    535:
                    536: 2009-02-25 07:33  millert
                    537:
                    538:        * sudo.c: Make "sudoedit -h" work as expected
                    539:
                    540: 2009-02-25 07:21  millert
                    541:
                    542:        * auth/pam.c: Make sure def_prompt is always defined.  This is a
                    543:          workaround for pam configs that prompt for a password in the
                    544:          session but don't have an auth line.  A better fix is to expand
                    545:          the sudo prompt earlier and set def_prompt to that when
                    546:          initializing.
                    547:
                    548: 2009-02-25 06:17  millert
                    549:
                    550:        * sudo.pod: Mention that the helper for -A may be graphical.
                    551:
                    552: 2009-02-25 06:16  millert
                    553:
                    554:        * TROUBLESHOOTING: Document what happens if there is no tty.
                    555:
                    556: 2009-02-25 06:05  millert
                    557:
                    558:        * sudo.c: cosmetic changes
                    559:
                    560: 2009-02-25 05:47  millert
                    561:
                    562:        * term.c: Fix term_restore
                    563:
                    564: 2009-02-24 20:23  millert
                    565:
                    566:        * sudo.c: Fix "sudo -k" with no other args
                    567:
                    568: 2009-02-24 08:04  millert
                    569:
                    570:        * check.c, sudo.c, sudo.pod, sudo_usage.h.in: Allow the -k flag to
                    571:          be specified in conjunction with a command or another option that
                    572:          may require authentication.
                    573:
                    574: 2009-02-23 09:18  millert
                    575:
                    576:        * configure, configure.in: Remove unneeded AC_CANONICAL_TARGET;
                    577:          from Diego E. 'Flameeyes'
                    578:
                    579: 2009-02-23 09:15  millert
                    580:
                    581:        * Makefile.in: Parallel make fix.  From Diego E. 'Flameeyes'
                    582:
                    583: 2009-02-21 17:03  millert
                    584:
                    585:        * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
                    586:          Implement umask_override
                    587:
                    588: 2009-02-21 16:51  millert
                    589:
                    590:        * toke.c: regen
                    591:
                    592: 2009-02-21 16:49  millert
                    593:
                    594:        * sudoers.pod, toke.l, visudo.c: Implement %h escape in sudoers
                    595:          include filenames.
                    596:
                    597: 2009-02-21 08:43  millert
                    598:
                    599:        * audit.c: Need to include compat.h
                    600:
                    601: 2009-02-21 08:37  millert
                    602:
                    603:        * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h,
                    604:          sudo.c: Make audit_success and audit_failure generic functions in
                    605:          preparation for integrating linux audit support.
                    606:
                    607: 2009-02-21 08:06  millert
                    608:
                    609:        * term.c: remove duplicate include
                    610:
                    611: 2009-02-20 16:13  millert
                    612:
                    613:        * bsm_audit.c: Add missing include
                    614:
                    615: 2009-02-20 15:55  millert
                    616:
                    617:        * sudo.c: May need to update the runas user after parsing
                    618:          command-based defaults.
                    619:
                    620: 2009-02-18 10:53  millert
                    621:
                    622:        * glob.c: Add missing pair of braces introduced with character
                    623:          class support.
                    624:
                    625: 2009-02-15 15:53  millert
                    626:
                    627:        * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
                    628:          Rename pwstars to pwfeedback
                    629:
                    630: 2009-02-10 20:25  millert
                    631:
                    632:        * bsm_audit.c, bsm_audit.h: Add const to make MacOS happy.
                    633:
                    634: 2009-02-10 20:18  millert
                    635:
                    636:        * Makefile.in, bsm_audit.c, bsm_audit.h, configure, configure.in,
                    637:          sudo.c, auth/sudo_auth.c: Add bsm audit support from Christian
                    638:          S.J. Peron
                    639:
                    640: 2009-02-10 19:58  millert
                    641:
                    642:        * term.c: This is new code, no DARPA notice.
                    643:
                    644: 2009-02-10 14:04  millert
                    645:
                    646:        * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod: Rename
                    647:          simple_glob -> fast_glob
                    648:
                    649: 2009-02-10 09:39  millert
                    650:
                    651:        * match.c: g/c unused var
                    652:
                    653: 2009-02-10 08:09  millert
                    654:
                    655:        * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod: Add
                    656:          simple_glob option to use fnmatch() instead of glob().  This is
                    657:          useful when you need to specify patterns that reference network
                    658:          file systems.
                    659:
                    660: 2009-02-10 07:58  millert
                    661:
                    662:        * tgetpass.c: add term_* proto
                    663:
                    664: 2009-02-10 07:51  millert
                    665:
                    666:        * sudoers.pod: mention glob()
                    667:
                    668: 2009-02-09 07:59  millert
                    669:
                    670:        * tgetpass.c: Delete any pwstars we wrote after the user hits
                    671:          return.  That way there is no record on screen as to the user's
                    672:          password length.
                    673:
                    674: 2009-02-08 10:27  millert
                    675:
                    676:        * term.c: Move terminal setting bits from tgetpass.c to term.c
                    677:
                    678: 2009-02-07 19:50  millert
                    679:
                    680:        * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
                    681:          tgetpass.c: Add pwstars sudoers option that causes sudo to print
                    682:          a star every time the user presses a key.
                    683:
                    684: 2009-02-03 10:10  millert
                    685:
                    686:        * Makefile.in: Fix up F<> brokenness for visudo.man.in and
                    687:          sudoers.ldap.man.in.
                    688:
                    689: 2009-01-27 11:54  millert
                    690:
                    691:        * ldap.c: For ldap_search_ext_s() the sizelimit param should be 0,
                    692:          not -1, to indicate no limit.  From Mark Janssen.
                    693:
                    694: 2009-01-17 17:36  millert
                    695:
                    696:        * toke.c, toke.l: Comments that begin with #- should not be parsed
                    697:          as uids.
                    698:
                    699: 2009-01-08 19:13  millert
                    700:
                    701:        * sudo.c: Do not try to set the close on exec flag if we didn't
                    702:          actually open sudoers.
                    703:
                    704: 2008-12-19 12:40  millert
                    705:
                    706:        * ChangeLog: regen
                    707:
1.3       millert   708: 2008-12-14 17:40  millert
                    709:
                    710:        * TODO: sync
                    711:
                    712: 2008-12-09 18:48  millert
                    713:
                    714:        * auth/pam.c: Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user
                    715:          enters ^C at the password prompt.
                    716:
                    717: 2008-12-09 16:13  millert
                    718:
                    719:        * configure.in, configure: Don't try to build sudo_noexec.so on
                    720:          HP-UX with the bundled compiler as it cannot generate shared
                    721:          objects.
                    722:
                    723: 2008-12-09 15:55  millert
                    724:
                    725:        * glob.c, lbuf.c, tgetpass.c, emul/charclass.h: K&R compilation
                    726:          fixes
                    727:
                    728: 2008-12-09 08:49  millert
                    729:
                    730:        * parse.c: Use tq_foreach_fwd when checking pseudo-commands to make
                    731:          it clear that we are not short-circuiting on last match.  When
                    732:          pwcheck is 'all', initialize nopass to TRUE and override it with
                    733:          the first non-TRUE entry.
                    734:
                    735: 2008-12-08 10:02  millert
                    736:
                    737:        * parse.c: Do not short circuit pseudo commands when we get a match
                    738:          since, depending on the settings, we may need to examine all
                    739:          commands for tags.
                    740:
                    741: 2008-12-03 15:58  millert
                    742:
                    743:        * sudoers.cat, sudoers.man.in: regen
                    744:
                    745: 2008-12-03 15:57  millert
                    746:
                    747:        * sudoers.pod: hostnames may also contain wildcards
                    748:
                    749: 2008-12-03 15:40  millert
                    750:
                    751:        * Makefile.in: remove stamp-* files and linux core files in clean
                    752:          target
                    753:
                    754: 2008-12-02 12:30  millert
                    755:
                    756:        * config.h.in, configure, configure.in, auth/sudo_auth.h: Use
                    757:          HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
                    758:
                    759: 2008-11-26 15:10  millert
                    760:
                    761:        * configure, configure.in: correctly enable SIA on Digital UNIX
                    762:
                    763: 2008-11-25 20:06  millert
                    764:
                    765:        * TODO: checkpoint
                    766:
                    767: 2008-11-25 20:05  millert
                    768:
                    769:        * ChangeLog: sync
                    770:
                    771: 2008-11-25 12:01  millert
                    772:
                    773:        * check.c, sudo.h, tgetpass.c: Even if neither stdin nor stdout are
                    774:          ttys we may still have /dev/tty available to us.
                    775:
                    776: 2008-11-24 10:09  millert
                    777:
                    778:        * sudoers.cat, sudoers.man.in: regen
                    779:
                    780: 2008-11-24 10:08  millert
                    781:
                    782:        * sudoers.pod: fix typos; Markus Lude
                    783:
                    784: 2008-11-24 07:08  millert
                    785:
                    786:        * ChangeLog: sync
                    787:
1.2       millert   788: 2008-11-23 19:42  millert
                    789:
                    790:        * toke.c: regen
                    791:
                    792: 2008-11-23 19:41  millert
                    793:
                    794:        * toke.l: Fix matching of a line that only consists of a comment
                    795:          char
                    796:
                    797: 2008-11-22 13:17  millert
                    798:
                    799:        * auth/pam.c: MacOS pam will retry conversation function if it
                    800:          fails so just treat ^C as an empty password.
                    801:
                    802: 2008-11-22 10:12  millert
                    803:
                    804:        * visudo.c: When checking for alias use, also check defaults
                    805:          bindings.
                    806:
                    807: 2008-11-22 10:01  millert
                    808:
                    809:        * redblack.c: unused var
                    810:
                    811: 2008-11-22 09:42  millert
                    812:
                    813:        * redblack.c: Replace my rbdelete with Emin's version (which
                    814:          actually works ;-)
                    815:
                    816: 2008-11-19 12:01  millert
                    817:
                    818:        * testsudoers.c: malloc debugging
                    819:
                    820: 2008-11-19 07:37  millert
                    821:
                    822:        * visudo.c: malloc options in devel mode for visudo too
                    823:
                    824: 2008-11-18 10:57  millert
                    825:
                    826:        * sudo.c: fix compilation on non-C99; from Theo
                    827:
                    828: 2008-11-18 10:50  millert
                    829:
                    830:        * visudo.c: fix check_aliases
                    831:
                    832: 2008-11-18 08:29  millert
                    833:
                    834:        * alias.c: when destroying an alias, free the correct data pointer
                    835:
                    836: 2008-11-18 07:54  millert
                    837:
                    838:        * auth/sudo_auth.h: add proto for aixauth_cleanup; from Dale King
                    839:
                    840: 2008-11-15 13:34  millert
                    841:
                    842:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                    843:          visudo.man.in: regen
                    844:
                    845: 2008-11-15 13:34  millert
                    846:
                    847:        * sudo.pod, sudoers.pod, visudo.pod: standardize on the term
                    848:          'option' for command line options (not flag)
                    849:
                    850: 2008-11-14 06:18  millert
                    851:
                    852:        * INSTALL: Add note on configuring HP-UX pam
                    853:
                    854: 2008-11-11 13:28  millert
                    855:
                    856:        * check.c, sudo.c: Move tty checks into check_user() so we only do
                    857:          them if we actually need a password.
                    858:
                    859: 2008-11-11 12:34  millert
                    860:
                    861:        * sudo.c: Don't error out if no tty or askpass unless we actually
                    862:          need to authenticate.
                    863:
                    864: 2008-11-10 15:20  millert
                    865:
                    866:        * ChangeLog: regen
                    867:
1.1       millert   868: 2008-11-10 08:07  millert
                    869:
                    870:        * pathnames.h.in, sudo.c: s/overriden/overridden/; from Tobias
                    871:          Stoeckmann
                    872:
                    873: 2008-11-09 15:18  millert
                    874:
                    875:        * visudo.c, WHATSNEW: check sudoers owner and mode in strict mode
                    876:
                    877: 2008-11-09 09:15  millert
                    878:
                    879:        * gram.c, toke.c: regen
                    880:
                    881: 2008-11-09 09:13  millert
                    882:
                    883:        * alias.c, alloc.c, closefrom.c, compat.h, defaults.c, defaults.h,
                    884:          env.c, fileops.c, gettime.c, gram.y, ins_csops.h, insults.h,
                    885:          interfaces.c, interfaces.h, lbuf.c, license.pod, list.c,
                    886:          logging.c, logging.h, parse.c, parse.h, pwutil.c, redblack.c,
                    887:          redblack.h, snprintf.c, sudo.c, sudo.pod, sudo_edit.c,
                    888:          sudo_nss.h, testsudoers.c, toke.l, tsgetgrpw.c, utimes.c,
                    889:          version.h, visudo.c, zero_bytes.c, LICENSE, sudoers.pod,
                    890:          visudo.pod, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
                    891:          auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
                    892:          auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
                    893:          sudo.man.in, sudoers.man.in, visudo.man.in: Update copyright
                    894:          years.
                    895:
                    896: 2008-11-09 08:48  millert
                    897:
                    898:        * fnmatch.c, glob.c, emul/charclass.h: add my copyright
                    899:
                    900: 2008-11-08 10:40  millert
                    901:
                    902:        * toke.c, toke.l: The loop in fill_cmnd() was going one byte too
                    903:          far past the end, resulting in a NUL being written immediately
                    904:          after the buffer end.
                    905:
                    906: 2008-11-08 10:31  millert
                    907:
                    908:        * UPGRADE, WHATSNEW: add sections on tgetpass changes
                    909:
                    910: 2008-11-08 10:30  millert
                    911:
                    912:        * tgetpass.c: Treat EOF w/o newline as an error.
                    913:
                    914: 2008-11-07 17:42  millert
                    915:
                    916:        * parse.c: Fix "sudo -v" when NOPASSWD is set.
                    917:
                    918: 2008-11-07 12:45  millert
                    919:
                    920:        * auth/: bsdauth.c, fwtk.c, pam.c, sudo_auth.c, sudo_auth.h: No
                    921:          longer treat an empty password at the prompt as special.  To quit
                    922:          out of sudo you now need to hit ^C at the password prompt.
                    923:
                    924: 2008-11-06 21:07  millert
                    925:
                    926:        * sudoers.cat, sudoers.man.in: regen
                    927:
                    928: 2008-11-06 21:06  millert
                    929:
                    930:        * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod: Sudo
                    931:          will now refuse to run if no tty is present unless the new
                    932:          visiblepw sudoers flag is set.
                    933:
                    934: 2008-11-05 19:42  millert
                    935:
                    936:        * aix.c: just use RLIM_INFINITY for RLIM_SAVED_MAX if
                    937:          RLIM_SAVED_MAX not defined
                    938:
                    939: 2008-11-05 19:40  millert
                    940:
                    941:        * aix.c: fix fallback value for RLIM_SAVED_MAX
                    942:
                    943: 2008-11-05 19:14  millert
                    944:
                    945:        * auth/: aix_auth.c, sudo_auth.h: Move clearing of AUTHSTATE into
                    946:          aixauth_cleanup.
                    947:
                    948: 2008-11-05 19:08  millert
                    949:
                    950:        * env.c, auth/aix_auth.c: Unset AUTHSTATE after calling
                    951:          authenticate() as it may not be correct for the user we are
                    952:          running the command as.
                    953:
                    954: 2008-11-05 19:05  millert
                    955:
                    956:        * isblank.c: Add isblank() function for systems without it.  Needed
                    957:          for POSIX character class matching in fnmatch.c and glob.c.
                    958:
                    959: 2008-11-05 11:02  millert
                    960:
                    961:        * TROUBLESHOOTING: expound on sudo and cd
                    962:
                    963: 2008-11-04 15:52  millert
                    964:
                    965:        * ChangeLog: regen
                    966:
                    967: 2008-11-04 15:46  millert
                    968:
                    969:        * sudoers.cat, sudoers.man.in: regen
                    970:
                    971: 2008-11-04 15:45  millert
                    972:
                    973:        * sudoers.pod: mention defauts parse order
                    974:
                    975: 2008-11-03 13:19  millert
                    976:
                    977:        * Makefile.in, aclocal.m4, compat.h, configure: Add isblank()
                    978:          function for systems without it.  Needed for POSIX character
                    979:          class matching in fnmatch.c and glob.c.
                    980:
                    981: 2008-11-03 12:54  millert
                    982:
                    983:        * Makefile.in: add emul/charclass.h to HDRS
                    984:
                    985: 2008-11-02 14:08  millert
                    986:
                    987:        * TODO: checkpoint
                    988:
                    989: 2008-11-02 14:06  millert
                    990:
                    991:        * parse.c, defaults.c, testsudoers.c, visudo.c: Move
                    992:          update_defaults into defaults.c and call it properly from visudo
                    993:          and testsudoers.
                    994:
                    995: 2008-11-02 09:51  millert
                    996:
                    997:        * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c,
                    998:          tgetpass.c, tsgetgrpw.c: use zero_bytes() instead of memset() for
                    999:          consistency
                   1000:
                   1001: 2008-11-02 09:45  millert
                   1002:
                   1003:        * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c,
                   1004:          tgetpass.c, visudo.c: Zero out sigaction_t before use in case it
                   1005:          has non-standard entries.
                   1006:
                   1007: 2008-11-02 09:35  millert
                   1008:
                   1009:        * match.c: quiet gcc
                   1010:
                   1011: 2008-11-02 09:28  millert
                   1012:
                   1013:        * match.c: Short circuit glob() checks if basename(pattern) !=
                   1014:          basename(command).  Refactor code that checks for a command in a
                   1015:          directory and use it in the glob case if the resolved pattern
                   1016:          ends in a '/'.
                   1017:
                   1018: 2008-11-01 09:20  millert
                   1019:
                   1020:        * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c: Defer
                   1021:          setting runas defaults until after runaspw/gr is setup.
                   1022:
                   1023: 2008-10-29 13:26  millert
                   1024:
                   1025:        * match.c, sudo.c, testsudoers.c: Use MAXHOSTNAMELEN+1 when
                   1026:          allocating host/domain name since some systems do not include
                   1027:          space for the NUL in the size.  Also manually NUL-terminate
                   1028:          buffer from gethostname() since POSIX is wishy-washy on this.
                   1029:
                   1030: 2008-10-26 17:13  millert
                   1031:
                   1032:        * sudo.c, sudoers.pod: When setting the umask, use the union of the
                   1033:          user's umask and the default value set in sudoers so that we
                   1034:          never lower the user's umask when running a command.
                   1035:
                   1036: 2008-10-26 16:43  millert
                   1037:
                   1038:        * sudo.c: Don't try to read from a zero-length sudoers file.
                   1039:          Remove the bogus Solaris work-around for EAGAIN.  Since we now
                   1040:          use fgetc() it should not be a problem.
                   1041:
                   1042: 2008-10-25 09:22  millert
                   1043:
                   1044:        * parse.c: In update_defaults() check the return value of
                   1045:          user*_matches against ALLOW so we don't inadvertantly match on
                   1046:          UNSPEC.
                   1047:
                   1048: 2008-10-24 09:52  millert
                   1049:
                   1050:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
                   1051:          sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
                   1052:          regen man pages; no more hyphenation
                   1053:
                   1054: 2008-10-24 09:49  millert
                   1055:
                   1056:        * sudo.c: Don't error out on a zero-length sudoers file.  With the
                   1057:          advent of #include the user could create a situation where sudo
                   1058:          is unusable.
                   1059:
                   1060: 2008-10-23 12:06  millert
                   1061:
                   1062:        * config.h.in, configure, configure.in, auth/kerb5.c: Newer heimdal
                   1063:          has 2-argument krb5_get_init_creds_opt_free() like MIT krb5.
                   1064:          Really old heimdal has no krb5_get_init_creds_opt_alloc() at all.
                   1065:          Add configure tests to handle all the cases.
                   1066:
                   1067: 2008-10-08 17:28  millert
                   1068:
                   1069:        * sudo.pod: resort ENVIRONMENT
                   1070:
                   1071: 2008-10-08 17:09  millert
                   1072:
                   1073:        * sudoers.pod: document sudoers_locale
                   1074:
                   1075: 2008-10-08 16:56  millert
                   1076:
                   1077:        * sudo.pod, sudo_edit.c: add SUDO_EDITOR variable that sudoedit
                   1078:          uses in preference to VISUAL or EDITOR
                   1079:
                   1080: 2008-10-08 14:27  millert
                   1081:
                   1082:        * toke.c, toke.l: In fill_cmnd(), collapse any escaped
                   1083:          sudo-specific characters.  Allows character classes to be used in
                   1084:          pathnames.
                   1085:
                   1086: 2008-10-03 16:02  millert
                   1087:
                   1088:        * lbuf.c: fix typo in non-C89 function declaration
                   1089:
                   1090: 2008-10-03 15:56  millert
                   1091:
                   1092:        * sudoers.pod: Mention POSIX characters classes now that out
                   1093:          fnmatch() and glob() support them.
                   1094:
                   1095: 2008-10-03 15:55  millert
                   1096:
                   1097:        * sample.sudoers, sudoers.pod: Replace [A-z] (which won't match in
                   1098:          UTF8) with [A-Za-z] which is locale agnostic.
                   1099:
                   1100: 2008-10-03 10:02  millert
                   1101:
                   1102:        * parse.h: use __signed char if we are going to assign a negative
                   1103:          value since on Power, char is unsigned by default
                   1104:
                   1105: 2008-10-03 09:59  millert
                   1106:
                   1107:        * configure, configure.in, config.h.in: Add tests for __signed char
                   1108:          and signed char.
                   1109:
                   1110: 2008-10-03 09:19  millert
                   1111:
                   1112:        * aix.c: Fix AIX limit setting.  getuserattr() returns values in
                   1113:          disk blocks rather than bytes.  The default hard stack size in
                   1114:          newer AIX is RLIM_SAVED_MAX.  From Dale King.
                   1115:
                   1116: 2008-09-26 17:13  millert
                   1117:
                   1118:        * fnmatch.c, glob.c, emul/charclass.h: Add character class support
                   1119:          to included glob(3) and fnmatch(3).
                   1120:
                   1121: 2008-09-16 08:28  millert
                   1122:
                   1123:        * emul/fnmatch.h: Remove UCB advertising clause and some
                   1124:          compatibility defines.
                   1125:
                   1126: 2008-09-14 16:07  millert
                   1127:
                   1128:        * sudo_edit.c: Check EDITOR/VISUAL to make sure sudoedit is not
                   1129:          re-invoking itself or sudo.  This allows one to set EDITOR to
                   1130:          sudoedit without getting into an infinite loop of sudoedit
                   1131:          running itself until the path gets too big.
                   1132:
                   1133: 2008-09-13 20:45  millert
                   1134:
                   1135:        * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c: Add
                   1136:          sudoers_locale Defaults option to override the default sudoers
                   1137:          locale of "C".
                   1138:
                   1139: 2008-09-13 14:09  millert
                   1140:
                   1141:        * sudo.c: Set locale to system default except for during sudoers
                   1142:          parse.
                   1143:
                   1144: 2008-09-12 09:34  millert
                   1145:
                   1146:        * match.c: Redo change in 1.34 to use pointer arithmetic.
                   1147:
                   1148: 2008-09-11 07:06  millert
                   1149:
                   1150:        * match.c: Fix a dereference (read) of a freed pointer.  Reported
                   1151:          by Patrick Williams.
                   1152:
                   1153: 2008-08-23 19:09  millert
                   1154:
                   1155:        * sudo.c: Set locale to "C" to avoid interpretation issues with
                   1156:          character ranges in sudoers.  May want to make the locale a
                   1157:          sudoers option in the future.
                   1158:
                   1159: 2008-08-20 07:45  millert
                   1160:
                   1161:        * config.h.in: we no longer use setproctitle
                   1162:
                   1163: 2008-08-20 07:41  millert
                   1164:
                   1165:        * sudo.h: remove #if 1
                   1166:
                   1167: 2008-08-20 07:40  millert
                   1168:
                   1169:        * LICENSE, mkstemp.c: Use my replacement mkstemp() from the mktemp
                   1170:          package.
                   1171:
                   1172: 2008-07-12 08:53  millert
                   1173:
                   1174:        * gram.c: regen with yacc skeleton bug fixed
                   1175:
                   1176: 2008-07-12 08:48  millert
                   1177:
                   1178:        * sudoers.pod: Remove duplicate "as root".  From Martin Toft.
                   1179:
                   1180: 2008-07-02 06:27  millert
                   1181:
                   1182:        * pwutil.c, sudo.c, testsudoers.c, sudo.h: Flesh out the fake
                   1183:          passwd entry used for running commands as a uid not listed in the
                   1184:          passwd database.  Fixes an issue with some PAM modules.
                   1185:
                   1186: 2008-07-01 07:57  millert
                   1187:
                   1188:        * sudo.c: Error out in -i mode if the user has no shell.  This can
                   1189:          happen when running commands as a uid with no password entry.
                   1190:
                   1191: 2008-06-26 07:49  millert
                   1192:
                   1193:        * toke.c, toke.l: Better fix for line continuation inside double
                   1194:          quotes.  Now accepts whitespace between the backslash and the
                   1195:          newline like the main lexer.
                   1196:
                   1197: 2008-06-25 14:31  millert
                   1198:
                   1199:        * toke.c, toke.l: Fix line continuation in strings.  It was only
                   1200:          being honored if preceded by whitespace.
                   1201:
                   1202: 2008-06-22 16:19  millert
                   1203:
                   1204:        * config.h.in, configure, configure.in, logging.c: Replace the
                   1205:          double fork with a fork + daemonize.
                   1206:
                   1207: 2008-06-21 14:59  millert
                   1208:
                   1209:        * env.c, sudo.c: The -i flag should imply env_reset.  This got
                   1210:          broken in sudo 1.6.9.
                   1211:
                   1212: 2008-06-20 20:34  millert
                   1213:
                   1214:        * logging.c, sudo.c, sudo_edit.c, visudo.c: Change how the mailer
                   1215:          is waited for.  Instead of having a SIGCHLD handler, use the
                   1216:          double fork trick to orphan the child that opens the pipe to
                   1217:          sendmail.  Fixes a problem running su on some Linux distros.
                   1218:
                   1219: 2008-06-20 17:16  millert
                   1220:
                   1221:        * configure, configure.in: Fix configure test for dirfd() on Linux
                   1222:          where DIR is opaque.
                   1223:
                   1224: 2008-06-17 17:42  millert
                   1225:
                   1226:        * tgetpass.c: Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack.  If
                   1227:          QNX still has this problem we'll need to revisit this again.
                   1228:
                   1229: 2008-06-10 21:13  millert
                   1230:
                   1231:        * logging.c: Ignore SIGPIPE instead of blocking it when piping to
                   1232:          the mailer.  If we only block the signal it may be delivered
                   1233:          later when we unblock.  Also, there is no need to block SIGCHLD
                   1234:          since we no longer do the double fork.  The normal SIGCHLD
                   1235:          handler is sufficient.
                   1236:
                   1237: 2008-06-08 17:37  millert
                   1238:
                   1239:        * configure, configure.in: Add description for NO_PAM_SESSION, from
                   1240:          a redhat patch.
                   1241:
                   1242: 2008-06-06 09:36  millert
                   1243:
                   1244:        * sudo.cat, sudo.man.in, sudo.pod: Fix typos in -i usage
                   1245:
                   1246: 2008-05-18 13:54  millert
                   1247:
                   1248:        * configure, configure.in: Redo the test for dgettext() in a way
                   1249:          that hopefully will work around the libintl_dgettext() undefined
                   1250:          problem.
                   1251:
                   1252: 2008-05-11 09:21  millert
                   1253:
                   1254:        * schema.ActiveDirectory: change filename in comment
                   1255:
                   1256: 2008-05-10 09:18  millert
                   1257:
                   1258:        * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
                   1259:          sudoers.ldap.pod: Reference schema.ActiveDirectory
                   1260:
                   1261: 2008-05-09 14:49  millert
                   1262:
                   1263:        * schema.OpenLDAP, schema.iPlanet: Mark sudoRunAs as deprecated.
                   1264:
                   1265: 2008-05-09 14:48  millert
                   1266:
                   1267:        * schema.ActiveDirectory: add sudoRunAsUser and sudoRunAsGroup
                   1268:
                   1269: 2008-05-09 14:01  millert
                   1270:
                   1271:        * schema.ActiveDirectory: Active Directory schema by Chantal
                   1272:          Paradis and Eric Paquet
                   1273:
                   1274: 2008-05-08 17:54  millert
                   1275:
                   1276:        * parse.c: remove an XXX that was fixed
                   1277:
                   1278: 2008-05-08 12:53  millert
                   1279:
                   1280:        * ChangeLog: sync
                   1281:
                   1282: 2008-05-08 12:49  millert
                   1283:
                   1284:        * parse.c: Initialize tags to UNSPEC instead of def_* in "sudo -l"
                   1285:          mode.  This fixes a problem where the tag value printed was
                   1286:          influenced by defaults set in the first pass through the parser.
                   1287:
                   1288: 2008-05-03 21:29  millert
                   1289:
                   1290:        * Makefile.in, sudo.psf: No point in packaging the TODO file
                   1291:
                   1292: 2008-05-03 21:24  millert
                   1293:
                   1294:        * ChangeLog: sync
                   1295:
                   1296: 2008-05-02 20:53  millert
                   1297:
                   1298:        * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
                   1299:          sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod: Add env_file
                   1300:          Defaults option that is similar to /etc/environment on some
                   1301:          systems.
                   1302:
                   1303: 2008-05-02 16:38  millert
                   1304:
                   1305:        * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
                   1306:          sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in,
                   1307:          sudoers.man.in, version.h, visudo.cat, visudo.man.in: change
                   1308:          version to 1.7.0
                   1309:
                   1310: 2008-05-02 16:37  millert
                   1311:
                   1312:        * UPGRADE: initial valgrind pass done
                   1313:
                   1314: 2008-04-23 08:30  millert
                   1315:
                   1316:        * ldap.c: Fix typo/think in sudo_ldap_read_secret() when storing
                   1317:          the secret.
                   1318:
                   1319: 2008-04-11 10:03  millert
                   1320:
                   1321:        * ldap.c: define LDAPS_PORT if the system headers do not
                   1322:
                   1323: 2008-04-10 14:54  millert
                   1324:
                   1325:        * gram.c, gram.y: Fix another memory leak in init_parser().
                   1326:
                   1327: 2008-04-10 12:51  millert
                   1328:
                   1329:        * configure, configure.in: There was a missing space before the
                   1330:          ldap libs in SUDO_LIBS for some configurations.
                   1331:
                   1332: 2008-04-10 11:28  millert
                   1333:
                   1334:        * alias.c, gram.c, gram.y, toke.c, toke.l: Clean up some memory
                   1335:          leaks pointed out by valgrind.
                   1336:
                   1337: 2008-04-07 14:39  millert
                   1338:
                   1339:        * sudo.c: fix "sudo -s" broken by mode/flags breakout
                   1340:
                   1341: 2008-04-07 14:26  millert
                   1342:
                   1343:        * configure, configure.in: remove duplicate check for dgettext
                   1344:
                   1345: 2008-04-05 15:54  millert
                   1346:
                   1347:        * aix.c: Fall back to default stanza if no user-specific limit is
                   1348:          found.
                   1349:
                   1350: 2008-04-02 15:56  millert
                   1351:
                   1352:        * snprintf.c: include stdint.h if present
                   1353:
                   1354: 2008-04-02 15:28  millert
                   1355:
                   1356:        * snprintf.c: Use LLONG_MAX, not the old QUAD_MAX
                   1357:
                   1358: 2008-04-01 19:18  millert
                   1359:
                   1360:        * sudoers.ldap.pod: fix cut and pasto
                   1361:
                   1362: 2008-03-31 11:24  millert
                   1363:
                   1364:        * pwutil.c: Add #ifdef PURITY
                   1365:
                   1366: 2008-03-30 17:36  millert
                   1367:
                   1368:        * auth/bsdauth.c: remove useless cast
                   1369:
                   1370: 2008-03-27 19:07  millert
                   1371:
                   1372:        * ChangeLog: sync
                   1373:
                   1374: 2008-03-27 19:04  millert
                   1375:
                   1376:        * TODO: sync
                   1377:
                   1378: 2008-03-27 19:01  millert
                   1379:
                   1380:        * sudo.h: Split MODE_* defines into primary and flags.
                   1381:
                   1382: 2008-03-26 13:11  millert
                   1383:
                   1384:        * aix.c: It turns out the logic for getting AIX limits is more
                   1385:          convoluted than I realized and differs depending on whether the
                   1386:          soft and/or hard limits are defined.
                   1387:
                   1388: 2008-03-23 10:18  millert
                   1389:
                   1390:        * Makefile.in, configure, configure.in: Back out AIX-specific
                   1391:          change to set the sudo_noexec path to the .a file, we do really
                   1392:          want to use the .so file.  Since libtool doesn't do that
                   1393:          correctly, just install the .so file ourselves in the Makefile.
                   1394:
                   1395: 2008-03-23 10:12  millert
                   1396:
                   1397:        * install-sh: If the file given to install is a path, only use the
                   1398:          basename of the file when building the destination path.
                   1399:
                   1400: 2008-03-18 16:08  millert
                   1401:
                   1402:        * sudo.c: parse_args() cleanup: Sort command line options in the
                   1403:          getopt() switch The -U option requires a parameter Normalize a
                   1404:          few ISSET calls Split mode into mode and flags and retire the
                   1405:          now-obsolete excl variable
                   1406:
                   1407: 2008-03-18 16:04  millert
                   1408:
                   1409:        * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
                   1410:          sudo.pod, sudo_usage.h.in: Add -n (non-interactive) flag.
                   1411:
                   1412: 2008-03-18 15:59  millert
                   1413:
                   1414:        * sudo.c: Move version printing, etc. into a separate function.
                   1415:
                   1416: 2008-03-18 15:57  millert
                   1417:
                   1418:        * sudo.c: Don't try to cleanup nsswitch if it has not been
                   1419:          initialized.
                   1420:
                   1421: 2008-03-17 11:09  millert
                   1422:
                   1423:        * logging.c: Block SIGPIPE in send_mail() so sudo is not killed by
                   1424:          a problem executing the mailer.
                   1425:
                   1426: 2008-03-14 08:11  millert
                   1427:
                   1428:        * configure.in, configure: AIX shared libs end in .a, not .so.
                   1429:
                   1430: 2008-03-13 07:34  millert
                   1431:
                   1432:        * env.c: Preserve HOME by default too. Matches documentation and
                   1433:          previous behavior.
                   1434:
                   1435: 2008-03-12 19:42  millert
                   1436:
                   1437:        * sudo.c: Use getopt() to parse the command line.  We need to be
                   1438:          able to intersperse env variables and options yet still honor
                   1439:          "--"" which complicates things slightly.
                   1440:
                   1441: 2008-03-06 14:46  millert
                   1442:
                   1443:        * ChangeLog: sync
                   1444:
                   1445: 2008-03-06 14:43  millert
                   1446:
                   1447:        * acsite.m4, configure, ltmain.sh: update to libtool-1.5.26
                   1448:
                   1449: 2008-03-06 14:32  millert
                   1450:
                   1451:        * config.guess, config.sub: update from libtool-1.5.26 distribution
                   1452:
                   1453: 2008-03-06 13:18  millert
                   1454:
                   1455:        * aix.c, sudo.h: attempt to fix compilation errors on AIX
                   1456:
                   1457: 2008-03-06 13:08  millert
                   1458:
                   1459:        * Makefile.in: fix typo in last commit
                   1460:
                   1461: 2008-03-06 13:07  millert
                   1462:
                   1463:        * Makefile.in: Add WHATSNEW file to the distribution
                   1464:
                   1465: 2008-03-06 12:43  millert
                   1466:
                   1467:        * visudo.c: use warningx instead of fprintf(stderr, ...)
                   1468:
                   1469: 2008-03-06 12:31  millert
                   1470:
                   1471:        * list.c: add DEBUG to list2tq
                   1472:
                   1473: 2008-03-06 12:28  millert
                   1474:
                   1475:        * ChangeLog, TODO: sync
                   1476:
                   1477: 2008-03-06 12:21  millert
                   1478:
                   1479:        * WHATSNEW: mention mailfrom
                   1480:
                   1481: 2008-03-06 12:19  millert
                   1482:
                   1483:        * Makefile.in, config.h.in, configure, configure.in, set_perms.c,
                   1484:          sudo.h, aix.c: Add aix_setlimits() to set resource limits on AIX
                   1485:          using a combination of getuserattr() and setrlimit().  Currently
                   1486:          untested.
                   1487:
                   1488: 2008-03-05 16:52  millert
                   1489:
                   1490:        * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
                   1491:          sudoers.pod, sudoers.man.in: Add mailfrom Defaults option that
                   1492:          sets the value of the From: field in the warning/error mail.  If
                   1493:          unset the login name of the invoking user is used.
                   1494:
                   1495: 2008-03-05 16:18  millert
                   1496:
                   1497:        * defaults.c: store a copy of _PATH_SUDO_ASKPASS in def_askpass
                   1498:          that is freeable
                   1499:
                   1500: 2008-03-05 15:19  millert
                   1501:
                   1502:        * gram.c, gram.y: When adding a default, only call list2tq() once
                   1503:          to do the list to tq conversion.  It is not legal to call list2tq
                   1504:          multiple times on the same list since list2tq consumes and
                   1505:          modifies the list argument.
                   1506:
                   1507: 2008-03-05 09:38  millert
                   1508:
                   1509:        * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod: comment
                   1510:          out XXXs for now
                   1511:
                   1512: 2008-03-05 09:36  millert
                   1513:
                   1514:        * WHATSNEW: mention askpass
                   1515:
                   1516: 2008-03-04 17:20  millert
                   1517:
                   1518:        * sudo.c: Error out if both -A and -S are specified Error out if -A
                   1519:          is specified but no askpass is configured
                   1520:
                   1521: 2008-03-04 17:16  millert
                   1522:
                   1523:        * configure, configure.in: we are not going to ship a sudo-specific
                   1524:          askpass
                   1525:
                   1526: 2008-03-03 14:30  millert
                   1527:
                   1528:        * sudo.h: fix definition of TGP_ASKPASS
                   1529:
                   1530: 2008-03-03 13:54  millert
                   1531:
                   1532:        * def_data.c, def_data.in: make askpass boolean-capable
                   1533:
                   1534: 2008-03-03 13:53  millert
                   1535:
                   1536:        * INSTALL: document --with-askpass
                   1537:
                   1538: 2008-03-02 19:27  millert
                   1539:
                   1540:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
                   1541:          sudoers.ldap.cat, visudo.cat: regen
                   1542:
                   1543: 2008-03-02 17:31  millert
                   1544:
                   1545:        * sudo.pod, sudo_usage.h.in, sudoers.pod: document -A and askpass
                   1546:
                   1547: 2008-03-02 09:31  millert
                   1548:
                   1549:        * check.c, configure, configure.in, def_data.c, def_data.h,
                   1550:          def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
                   1551:          sudo_usage.h.in, tgetpass.c, auth/sudo_auth.c: Add support for
                   1552:          running a helper program to read the password when no tty is
                   1553:          present (or when specified with the -A flag).  TODO: docs.
                   1554:
                   1555: 2008-03-02 08:38  millert
                   1556:
                   1557:        * def_data.c, def_data.in: add missing printf format to SELinux
                   1558:          role and type strings
                   1559:
                   1560: 2008-02-27 09:26  millert
                   1561:
                   1562:        * INSTALL, configure, configure.in: Disable use of
                   1563:          gss_krb5_ccache_name() by default and add
                   1564:          --enable-gss-krb5-ccache-name configure option to enable it.  It
                   1565:          seems that gss_krb5_ccache_name() doesn't work properly with some
                   1566:          combinations of Heimdal and OpenLDAP.
                   1567:
                   1568: 2008-02-22 15:33  millert
                   1569:
                   1570:        * selinux.c: Ignore setexeccon() failing in permissive mode.  Also
                   1571:          add a call to setkeycreatecon() (though this is probably
                   1572:          insufficient).  From Dan Walsh.
                   1573:
                   1574: 2008-02-22 15:19  millert
                   1575:
                   1576:        * auth/pam.c: Only set std_prompt for the PAM_PROMPT_* cases.  The
                   1577:          conversation function may be called for non-password reading
                   1578:          purposes so we must be careful not to use def_prompt in cases
                   1579:          where it may not be set.
                   1580:
                   1581: 2008-02-20 12:00  millert
                   1582:
                   1583:        * selinux.c: Don't free the new tty context, we need to keep it
                   1584:          around when we restore the tty context after the command
                   1585:          completes
                   1586:
                   1587: 2008-02-19 16:04  millert
                   1588:
                   1589:        * selinux.c: s/newrole/sudo/
                   1590:
                   1591: 2008-02-19 13:21  millert
                   1592:
                   1593:        * sudo.man.pl, sudo.pod: Only put login_cap(3) in SEE ALSO section
                   1594:          if we have login.conf support
                   1595:
                   1596: 2008-02-18 11:05  millert
                   1597:
                   1598:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
                   1599:          sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
                   1600:          regen
                   1601:
                   1602: 2008-02-18 10:53  millert
                   1603:
                   1604:        * Makefile.in, configure, configure.in, sudo.man.pl, sudo.pod,
                   1605:          sudoers.man.pl, sudoers.pod: Substitute in comment characters for
                   1606:          lines partaining to login.conf, BSD auth and SELinux and only
                   1607:          enable them if pertinent.
                   1608:
                   1609: 2008-02-18 10:42  millert
                   1610:
                   1611:        * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
                   1612:          Remove the =cut on the first line (above the copyright notice) to
                   1613:          quiet pod2man.  Also remove the hackery in the FILES section and
                   1614:          just deal with the fact that there will a newline between each
                   1615:          pathname.
                   1616:
                   1617: 2008-02-17 08:19  millert
                   1618:
                   1619:        * Makefile.in: run sudo.man.pl when generating sudo.man.in
                   1620:
                   1621: 2008-02-17 08:11  millert
                   1622:
                   1623:        * configure, configure.in, sudo.man.pl: comment out SELinux manual
                   1624:          bits unless --with-selinux was specified
                   1625:
                   1626: 2008-02-17 08:04  millert
                   1627:
                   1628:        * sudoers.pod: document role and type defaults for SELinux
                   1629:
                   1630: 2008-02-16 20:26  millert
                   1631:
                   1632:        * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
                   1633:          Document "sudo -ll" and make "sudo -l -l" be equivalent.
                   1634:
                   1635: 2008-02-15 15:23  millert
                   1636:
                   1637:        * configure.in, configure: Treat k*bsd*-gnu like Linux, not BSD.
                   1638:          Fixes compilation problems on Debian GNU/kFreeBSD.
                   1639:
                   1640: 2008-02-13 17:17  millert
                   1641:
                   1642:        * auth/kerb5.c: Avoid Heimdal'isms introduced in the rev 1.32
                   1643:          rewrite of verify_krb_v5_tgt()
                   1644:
                   1645: 2008-02-13 07:28  millert
                   1646:
                   1647:        * logging.c, logging.h, sudo.c: Remove dependence on
                   1648:          VALIDATE_NOT_OK in logging functions.  Split log_auth() into
                   1649:          log_allowed() and log_denial() Replace mail_auth() with
                   1650:          should_mail() and a call to send_mail()
                   1651:
                   1652: 2008-02-10 18:06  millert
                   1653:
                   1654:        * ldap.c: Add debugging so we can tell if the krb5 ccache is
                   1655:          accessible
                   1656:
                   1657: 2008-02-10 17:34  millert
                   1658:
                   1659:        * INSTALL: mention --with-selinux
                   1660:
                   1661: 2008-02-09 09:48  millert
                   1662:
                   1663:        * configure: regen
                   1664:
                   1665: 2008-02-09 09:43  millert
                   1666:
                   1667:        * selinux.c: add Sudo tag
                   1668:
                   1669: 2008-02-09 09:30  millert
                   1670:
                   1671:        * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
                   1672:          def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
                   1673:          pathnames.h.in, selinux.c, sesh.c, sudo.c, sudo.cat, sudo.h,
                   1674:          sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.ldap.cat,
                   1675:          sudoers.ldap.man.in, sudoers.ldap.pod, testsudoers.c, toke.c,
                   1676:          toke.l: Add support for SELinux RBAC.  Sudoers entries may
                   1677:          specify a role and type.  There are also role and type defaults
                   1678:          that may be used.  To make sure a transition occurs, when using
                   1679:          RBAC commands are executed via the new sesh binary.  Based on
                   1680:          initial changes from Dan Walsh.
                   1681:
                   1682: 2008-02-08 08:18  millert
                   1683:
                   1684:        * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c: Add long
                   1685:          list (sudo -ll) support for printing verbose LDAP and sudoers
                   1686:          file entries.  Still need to update manual.
                   1687:
                   1688: 2008-02-03 10:43  millert
                   1689:
                   1690:        * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h: Unify the -l
                   1691:          output for file and ldap based sudoers and use lbufs for both.
                   1692:          The ldap output does not currently include options that cannot be
                   1693:          represented as tags.  This will be remedied in a long list output
                   1694:          mode to come.
                   1695:
                   1696: 2008-01-27 16:37  millert
                   1697:
                   1698:        * set_perms.c: Use a specific error message for errno == EAGAIN
                   1699:          when setuid() et al fails.  On Linux systems setuid() will fail
                   1700:          with errno set to EAGAIN if changing to the new uid would result
                   1701:          in a resource limit violation.
                   1702:
                   1703: 2008-01-27 16:34  millert
                   1704:
                   1705:        * sudo.c: Unlimit nproc on Linux systems where calling the setuid()
                   1706:          family of syscalls causes the nroc resource limit to be checked.
                   1707:          The limits will be reset by pam_limits.so when PAM is used.  In
                   1708:          the non-PAM case the nproc limit will remain unlimited but there
                   1709:          doesn't seem to be a way around that other than having sudo parse
                   1710:          /etc/security/limits.conf directly.
                   1711:
                   1712: 2008-01-27 16:31  millert
                   1713:
                   1714:        * env.c, sudo.c, sudo.pod: Only read /etc/environment on Linux and
                   1715:          AIX
                   1716:
                   1717: 2008-01-23 06:33  millert
                   1718:
                   1719:        * configure, configure.in: Use SUDO_DEFINE_UNQUOTED instead of
                   1720:          AC_DEFINE_UNQUOTED to prevent ldap.conf and ldap.secret paths
                   1721:          from going into config.h.  Avoid single quotes in variable
                   1722:          expansion when using SUDO_DEFINE_UNQUOTED since in some versions
                   1723:          of bash they will end up literally in the resulting define.
                   1724:
                   1725: 2008-01-21 13:22  millert
                   1726:
                   1727:        * README.LDAP: mention --with-nsswitch=no
                   1728:
                   1729: 2008-01-21 11:43  millert
                   1730:
                   1731:        * configure, configure.in: ldap_ssl.h depends on ldap.h being
                   1732:          included first
                   1733:
                   1734: 2008-01-21 11:07  millert
                   1735:
                   1736:        * configure, configure.in, ldap.c, config.h.in: Include ldap_ssl.h
                   1737:          if we can find it.  Needed for the ldapssl_set_strength defines
                   1738:          on HP-UX at least.
                   1739:
                   1740: 2008-01-21 10:02  millert
                   1741:
                   1742:        * TODO, sudoers.ldap.pod: sync
                   1743:
                   1744: 2008-01-21 10:01  millert
                   1745:
                   1746:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
                   1747:          sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
                   1748:          regen
                   1749:
                   1750: 2008-01-21 10:00  millert
                   1751:
                   1752:        * Makefile.in: Use 78n line length when formatting cat pages.
                   1753:
                   1754: 2008-01-21 09:50  millert
                   1755:
                   1756:        * README.LDAP: Remove redundant info that is now in
                   1757:          sudoers.ldap.pod
                   1758:
                   1759: 2008-01-20 16:18  millert
                   1760:
                   1761:        * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
                   1762:          Reorganize the first section a bit.  Substitute the proper path
                   1763:          for /etc/sudoers.
                   1764:
                   1765: 2008-01-20 10:17  millert
                   1766:
                   1767:        * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
                   1768:          Substitute values for ldap.conf, ldap.secret and nsswitch.conf
                   1769:          Move schema into EXAMPLES
                   1770:
                   1771: 2008-01-20 10:15  millert
                   1772:
                   1773:        * configure.in, configure: Substitute values for ldap.conf,
                   1774:          ldap.secret and nsswitch.conf into sudoers.ldap.man.
                   1775:
                   1776: 2008-01-19 20:35  millert
                   1777:
                   1778:        * configure, configure.in: substitute for sudoers.ldap.man
                   1779:
                   1780: 2008-01-19 20:34  millert
                   1781:
                   1782:        * Makefile.in: Fix cut & pasto introduced when adding sudoers.ldap
                   1783:          man page.
                   1784:
                   1785: 2008-01-19 20:25  millert
                   1786:
                   1787:        * sudoers.ldap.pod, sudoers.ldap.cat, sudoers.ldap.man.in: Fill in
                   1788:          some of the missing pieces.  Still needs some reorganization and
                   1789:          editing.
                   1790:
                   1791: 2008-01-19 15:06  millert
                   1792:
                   1793:        * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
                   1794:          sudoers.ldap.pod: Beginnings of a sudoers.ldap man page.
                   1795:          Currently, much of the information is adapted from README.LDAP.
                   1796:
                   1797: 2008-01-18 17:32  millert
                   1798:
                   1799:        * pwutil.c: When copying gr_mem we must guarantee that the storage
                   1800:          space for gr_mem is properly aligned.  The simplest way to do
                   1801:          this is to simply store gr_mem directly after struct group.  This
                   1802:          is not a problem for gr_passwd or gr_name as they are simple
                   1803:          strings.
                   1804:
                   1805: 2008-01-18 16:47  millert
                   1806:
                   1807:        * ldap.c: Fix a typo/thinko in one of the calls to
                   1808:          sudo_ldap_check_user_netgroup().  From Marco van Wieringen.
                   1809:
                   1810: 2008-01-17 15:44  millert
                   1811:
                   1812:        * config.h.in, configure, configure.in, ldap.c: include
                   1813:          <mps/ldap_ssl.h> in ldap.c if available
                   1814:
                   1815: 2008-01-16 18:20  millert
                   1816:
                   1817:        * gram.c, gram.y: Make sure we define SIZE_MAX for yacc's
                   1818:          skeleton.c
                   1819:
                   1820: 2008-01-16 13:03  millert
                   1821:
                   1822:        * tgetpass.c: Use TCSAFLUSH when restoring terminal settings (and
                   1823:          echo) to guarantee that any pending output is discarded
                   1824:
                   1825: 2008-01-15 17:18  millert
                   1826:
                   1827:        * sudoers: no longer need to specify SETENV when user has sudo ALL
                   1828:
                   1829: 2008-01-15 09:40  millert
                   1830:
                   1831:        * testsudoers.c: sync user_args size calculation with sudo.c Add -g
                   1832:          group option, renaming old -g to -G Add set_runasgr() and
                   1833:          set_runaspw() and use them
                   1834:
                   1835: 2008-01-15 09:23  millert
                   1836:
                   1837:        * sudo.h, sudo.c: Make set_runaspw static void
                   1838:
                   1839: 2008-01-15 09:17  millert
                   1840:
                   1841:        * testsudoers.c, visudo.c: g/c set_runaspw stub
                   1842:
                   1843: 2008-01-15 07:28  millert
                   1844:
                   1845:        * configure, configure.in: Don't add -llber twice.
                   1846:
                   1847: 2008-01-14 06:40  millert
                   1848:
                   1849:        * ldap.c: fix typo
                   1850:
                   1851: 2008-01-13 15:39  millert
                   1852:
                   1853:        * gram.c: regen
                   1854:
                   1855: 2008-01-13 14:57  millert
                   1856:
                   1857:        * configure, configure.in: Fix check that determines whether -llber
                   1858:          is required.
                   1859:
                   1860: 2008-01-13 14:22  millert
                   1861:
                   1862:        * config.h.in, configure, configure.in, README.LDAP, ldap.c: For
                   1863:          netscape-based LDAP, use ldapssl_set_strength() to implement the
                   1864:          checkpeer ldap.conf option.
                   1865:
                   1866: 2008-01-13 09:49  millert
                   1867:
                   1868:        * auth/kerb5.c: Delay krb5_cc_initialize() until we actually need
                   1869:          to use the cred cache, which is what krb5_verify_user() does.
                   1870:          Better cleanup on failure.
                   1871:
                   1872: 2008-01-12 12:40  millert
                   1873:
                   1874:        * auth/kerb5.c: Rewrite verify_krb_v5_tgt() based on what heimdal's
                   1875:          krb5_verify_user() does.
                   1876:
                   1877: 2008-01-09 14:58  millert
                   1878:
                   1879:        * gram.c: The U suffix on constants is an ANSI feature
                   1880:
                   1881: 2008-01-09 12:08  millert
                   1882:
                   1883:        * configure.in, configure: Add check for ber_set_option() in -llber
                   1884:
                   1885: 2008-01-06 19:02  millert
                   1886:
                   1887:        * README.LDAP: default if no nsswitch.conf is files only
                   1888:
                   1889: 2008-01-06 17:28  millert
                   1890:
                   1891:        * README.LDAP: don't tell people to mail aaron about LDAP stuff
                   1892:
                   1893: 2008-01-06 12:32  millert
                   1894:
                   1895:        * README.LDAP: timelimit and bind_timelimit
                   1896:
                   1897: 2008-01-06 08:54  millert
                   1898:
                   1899:        * ChangeLog: sync
                   1900:
                   1901: 2008-01-06 07:56  millert
                   1902:
                   1903:        * ldap.c: Move ldap.secret reading into a separate function.
                   1904:
                   1905: 2008-01-05 19:09  millert
                   1906:
                   1907:        * check.c: user_runas -> runas_pw
                   1908:
                   1909: 2008-01-05 18:59  millert
                   1910:
                   1911:        * TODO: sync
                   1912:
                   1913: 2008-01-05 18:59  millert
                   1914:
                   1915:        * check.c, sudo.pod, sudoers.pod: Add and document the %p escape in
                   1916:          the password prompt.  Based on a patch from Patrick Schoenfeld.
                   1917:
                   1918: 2008-01-05 18:25  millert
                   1919:
                   1920:        * ldap.c: Check strlcpy() return values.
                   1921:
                   1922: 2008-01-05 18:12  millert
                   1923:
                   1924:        * ldap.c: refactor ldap binding code into sudo_ldap_bind_s()
                   1925:
                   1926: 2008-01-05 16:35  millert
                   1927:
                   1928:        * README.LDAP: Make it clear that host and uri can take multiple
                   1929:          parameters.  URI is now supported for more than just openldap
                   1930:          nsswitch.conf does't accept "compat"
                   1931:
                   1932: 2008-01-05 16:27  millert
                   1933:
                   1934:        * sudo.c: comment cleanup and update (c) year
                   1935:
                   1936: 2008-01-05 16:25  millert
                   1937:
                   1938:        * parse.c, sudo_nss.c: Move display_privs() and display_cmnd() from
                   1939:          parse.c to sudo_nss.c.  This should make it possible to build an
                   1940:          LDAP-only sudo binary.
                   1941:
                   1942: 2008-01-05 13:27  millert
                   1943:
                   1944:        * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h: Improve chaining of
                   1945:          multiple sudoers sources by passing in the previous return value
                   1946:          to the next in the chain
                   1947:
                   1948: 2008-01-05 13:26  millert
                   1949:
                   1950:        * gram.y: Free up parser data structures in sudo_file_close().
                   1951:
                   1952: 2008-01-05 08:13  millert
                   1953:
                   1954:        * gram.c, parse.c: Free up parser data structures in
                   1955:          sudo_file_close().
                   1956:
                   1957: 2008-01-05 07:59  millert
                   1958:
                   1959:        * ldap.c: Parse uri ourself if no ldap_initialize() is present Use
                   1960:          ldap_create() instead of deprecated ldap_init() Use
                   1961:          ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
                   1962:
                   1963: 2008-01-05 07:56  millert
                   1964:
                   1965:        * config.h.in, configure, configure.in: Add check for
                   1966:          ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from CFLAGS
                   1967:
                   1968: 2008-01-04 09:56  millert
                   1969:
                   1970:        * configure.in, configure, config.h.in: add check for ldap_create
                   1971:
                   1972: 2008-01-03 16:11  millert
                   1973:
                   1974:        * config.h.in, configure, configure.in, ldap.c: Add
                   1975:          sudo_ldap_get_first_rdn() to return the first rdn of an entry's
                   1976:          dn using the mechanism appropriate for the LDAP SDK in use.  Use
                   1977:          ldap_unbind_ext_s() instead of deprecated ldap_unbind_s().
                   1978:          Emulate ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's
                   1979:          without them.
                   1980:
                   1981: 2008-01-03 16:02  millert
                   1982:
                   1983:        * lbuf.c: include unistd.h
                   1984:
                   1985: 2008-01-03 11:05  millert
                   1986:
                   1987:        * config.h.in, configure.in: fix typo in mtim_getnsec
                   1988:
                   1989: 2008-01-02 15:29  millert
                   1990:
                   1991:        * config.h.in, configure.in, configure: add check for st__tim in
                   1992:          struct stat as used by SCO
                   1993:
                   1994: 2008-01-02 11:05  millert
                   1995:
                   1996:        * ldap.c: use ldap_search_ext_s instead of deprecated ldap_search_s
                   1997:
                   1998: 2008-01-02 10:09  millert
                   1999:
                   2000:        * Makefile.in, TODO, sudo.cat, sudo.man.in: add sudo_nss.h to HDRS
                   2001:
                   2002: 2008-01-01 19:04  millert
                   2003:
                   2004:        * ldap.c: Replace deprecated ldap_explode_dn() with calls to
                   2005:          ldap_str2dn() and ldap_rdn2str().
                   2006:
                   2007: 2008-01-01 18:37  millert
                   2008:
                   2009:        * ldap.c: Use ldap_get_values_len()/ldap_value_free_len() instead
                   2010:          of the deprecated ldap_get_values()/ldap_value_free().
                   2011:
                   2012: 2008-01-01 17:07  millert
                   2013:
                   2014:        * TODO, ChangeLog: sync
                   2015:
                   2016: 2008-01-01 17:06  millert
                   2017:
                   2018:        * gettime.c, sudo.c: Remove some already fixed XXXs
                   2019:
                   2020: 2008-01-01 17:03  millert
                   2021:
                   2022:        * ldap.c: Same return value as non-existent sudoers if LDAP was
                   2023:          unable to connect.
                   2024:
                   2025: 2008-01-01 16:52  millert
                   2026:
                   2027:        * sudo.pod: mention /etc/environment
                   2028:
                   2029: 2008-01-01 16:42  millert
                   2030:
                   2031:        * UPGRADE, WHATSNEW, README.LDAP: Update to reflect recent
                   2032:          developments.
                   2033:
                   2034: 2008-01-01 16:42  millert
                   2035:
                   2036:        * sudo.c: Print nsswitch.conf, ldap.conf and ldap.secret paths in
                   2037:          -V output.
                   2038:
                   2039: 2008-01-01 16:25  millert
                   2040:
                   2041:        * ldap.c: When building up a query don't list groups in the aux
                   2042:          group vector that are the same as the passwd file group.  On most
                   2043:          systems the first gid in the group vector is the same as the
                   2044:          passwd entry gid.
                   2045:
                   2046: 2008-01-01 14:01  millert
                   2047:
                   2048:        * env.c, ldap.c: Define LDAPNOINIT before calling ldap_init(), etc.
                   2049:          to disable user ldaprc and system defaults that could affect how
                   2050:          LDAP works.
                   2051:
                   2052: 2008-01-01 13:21  millert
                   2053:
                   2054:        * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
                   2055:          sudo_nss.c, sudo_nss.h: Rename read_nss -> sudo_read_nss Add
                   2056:          --with-nsswitch to allow users to specify nsswitch.conf path or
                   2057:          disable it.  If --with-nsswitch=no but --with-ldap, order is
                   2058:          LDAP, then sudoers.  Fix --with-ldap-conf-file and
                   2059:          --with-ldap-secret-file
                   2060:
                   2061: 2008-01-01 13:12  millert
                   2062:
                   2063:        * parse.c: Honor def_ignore_local_sudoers
                   2064:
                   2065: 2007-12-31 16:44  millert
                   2066:
                   2067:        * ldap.c: no longer need to check def_ignore_local_sudoers here
                   2068:
                   2069: 2007-12-31 16:36  millert
                   2070:
                   2071:        * parse.c: Refactor group vector resetting into a function and also
                   2072:          call it from display_cmnd.  Stop after the first sucessful match
                   2073:          in display_cmnd.  Print a newline between each display_privs
                   2074:          method.
                   2075:
                   2076: 2007-12-31 16:23  millert
                   2077:
                   2078:        * parse.c: fix double free introduced in rev 1.218
                   2079:
                   2080: 2007-12-31 16:10  millert
                   2081:
                   2082:        * ldap.c: belt and suspenders; zero out result after freeing it
                   2083:
                   2084: 2007-12-31 15:04  millert
                   2085:
                   2086:        * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c: Refactor line
                   2087:          reading into a separate function, sudo_parseln(), which removes
                   2088:          comments, leading/trailing whitespace and newlines.  May want to
                   2089:          rethink the use of sudo_parseln() for /etc/ldap.secret
                   2090:
                   2091: 2007-12-31 14:26  millert
                   2092:
                   2093:        * parse.c, sudo.c: Make the inability to read the sudoers file a
                   2094:          non-fatal error if there are other sudoers sources available.
                   2095:          sudoers_file_lookup now returns "not OK" if sudoers was not
                   2096:          present
                   2097:
                   2098: 2007-12-31 14:24  millert
                   2099:
                   2100:        * ldap.c: make it clear that the global options are from LDAP
                   2101:
                   2102: 2007-12-31 14:13  millert
                   2103:
                   2104:        * logging.c: allocate proper amount of space for error string
                   2105:
                   2106: 2007-12-31 10:24  millert
                   2107:
                   2108:        * sudo_nss.c, sudo_nss.h: actual sudo nss code
                   2109:
                   2110: 2007-12-31 10:08  millert
                   2111:
                   2112:        * ldap.c, parse.c, sudo.c, sudo.h: nss-ify display_privs and
                   2113:          display_cmnd.
                   2114:
                   2115: 2007-12-31 07:54  millert
                   2116:
                   2117:        * defaults.c, parse.c, testsudoers.c, visudo.c: move
                   2118:          update_defaults() to parse.c
                   2119:
                   2120: 2007-12-31 07:39  millert
                   2121:
                   2122:        * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
                   2123:          Use nsswitch to hide some sudoers vs. ldap implementation details
                   2124:          and reduce the number of #ifdef LDAP TODO: fix display routines
                   2125:          and error handling
                   2126:
                   2127: 2007-12-28 11:20  millert
                   2128:
                   2129:        * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
                   2130:          First cut at nsswitch.conf support.  Further reorganizaton and
                   2131:          related changes are forthcoming.
                   2132:
                   2133: 2007-12-21 16:53  millert
                   2134:
                   2135:        * env.c, pathnames.h.in, sudo.c, sudo.h: Add support for reading
                   2136:          and /etc/environment file.  Still needs to be documented and
                   2137:          should probably only applies to OSes that have it (AIX and Linux,
                   2138:          maybe others).
                   2139:
                   2140: 2007-12-21 16:20  millert
                   2141:
                   2142:        * ldap.c: include limits.h
                   2143:
                   2144: 2007-12-20 10:02  millert
                   2145:
                   2146:        * WHATSNEW: reword LDAP SASL
                   2147:
                   2148: 2007-12-19 16:40  millert
                   2149:
                   2150:        * TODO: sync
                   2151:
                   2152: 2007-12-19 16:39  millert
                   2153:
                   2154:        * README.LDAP: Add an example sudoRole, clarify netscape vs.
                   2155:          openldap a bit more
                   2156:
                   2157: 2007-12-19 14:42  millert
                   2158:
                   2159:        * README.LDAP: Be clear on what is OpenLDAP vs. Netscape-derived
                   2160:
                   2161: 2007-12-19 14:28  millert
                   2162:
                   2163:        * config.h.in, configure, configure.in, ldap.c: Use ldapssl_init()
                   2164:          for ldaps support instead of trying to do it manually with
                   2165:          ldap_init() + ldapssl_install_routines().  Use tls_cert and
                   2166:          tls_key for cert7.db and key3.db respectively.  Don't print
                   2167:          debugging info for options that are not set.  Add warning if
                   2168:          start_tls specified when not supported.
                   2169:
                   2170: 2007-12-19 14:25  millert
                   2171:
                   2172:        * ldap.c: fix compilation on solaris
                   2173:
                   2174: 2007-12-19 14:23  millert
                   2175:
                   2176:        * Makefile.in: add missing .h and .c files for missing lib objs
                   2177:
                   2178: 2007-12-18 09:54  millert
                   2179:
                   2180:        * ldap.c: fix LDAP_OPT_NETWORK_TIMEOUT setting
                   2181:
                   2182: 2007-12-17 20:10  millert
                   2183:
                   2184:        * ldap.c: fix compilation on Solaris
                   2185:
                   2186: 2007-12-17 10:14  millert
                   2187:
                   2188:        * configure, configure.in: fix typo
                   2189:
                   2190: 2007-12-17 08:08  millert
                   2191:
                   2192:        * README.LDAP: try to clear up which variables are for OpenLDAP and
                   2193:          which are for netscape-derived SDKs
                   2194:
                   2195: 2007-12-17 07:31  millert
                   2196:
                   2197:        * config.h.in, configure, configure.in, ldap.c: Add support for
                   2198:          "ssl on" in both netscape and openldap flavors.  Only the
                   2199:          OpenLDAP flavor has been tested.
                   2200:
                   2201: 2007-12-17 07:28  millert
                   2202:
                   2203:        * logging.c, sudo.c, sudo.h: Call cleanup() before exit in
                   2204:          log_error() instead of calling sudo_ldap_close() directly.
                   2205:          ldap_conn can now be static to sudo.c
                   2206:
                   2207: 2007-12-16 20:02  millert
                   2208:
                   2209:        * sudo.c: ld -> ldap_conn
                   2210:
                   2211: 2007-12-16 14:42  millert
                   2212:
                   2213:        * logging.c, sudo.c, sudo.h: Better ldap cleanup.
                   2214:
                   2215: 2007-12-16 14:08  millert
                   2216:
                   2217:        * ldap.c: Distinguish between LDAP conf settings that are
                   2218:          connection-specific (which take an ld pointer) and those that are
                   2219:          default settings (which do not).
                   2220:
                   2221: 2007-12-14 16:46  millert
                   2222:
                   2223:        * ldap.c: Improved warnings on error.
                   2224:
                   2225: 2007-12-14 15:59  millert
                   2226:
                   2227:        * ldap.c: Make ldap config table driven and set the config *after*
                   2228:          we open the connection.
                   2229:
                   2230: 2007-12-13 16:41  millert
                   2231:
                   2232:        * ldap.c: fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
                   2233:
                   2234: 2007-12-13 09:13  millert
                   2235:
                   2236:        * configure, configure.in: some operating systems need to link with
                   2237:          -lkrb5support when using krb5
                   2238:
                   2239: 2007-12-10 17:12  millert
                   2240:
                   2241:        * WHATSNEW: minor update
                   2242:
                   2243: 2007-12-10 10:56  millert
                   2244:
                   2245:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
                   2246:
                   2247: 2007-12-07 19:17  millert
                   2248:
                   2249:        * TODO, ChangeLog: sync
                   2250:
                   2251: 2007-12-07 19:09  millert
                   2252:
                   2253:        * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif: add -g
                   2254:          support for LDAP
                   2255:
                   2256: 2007-12-03 11:36  millert
                   2257:
                   2258:        * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in: The -i and -s flags
                   2259:          can now take an optional command.
                   2260:
                   2261: 2007-12-02 12:13  millert
                   2262:
                   2263:        * def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
                   2264:          sudoers.pod, auth/pam.c: Add passprompt_override flag to sudoers
                   2265:          that will cause the prompt to be overridden in all cases.  This
                   2266:          flag is also set when the user specifies the -p flag.
                   2267:
                   2268: 2007-12-01 19:51  millert
                   2269:
                   2270:        * sudo.c: Move setting of login class until after sudoers has been
                   2271:          parsed.  Set NewArgv[0] for -i after runas_pw has been set.
                   2272:
                   2273: 2007-12-01 19:34  millert
                   2274:
                   2275:        * configure, configure.in: Move the dgettext check.
                   2276:
                   2277: 2007-12-01 11:22  millert
                   2278:
                   2279:        * config.h.in, configure, configure.in, auth/pam.c: Add basic
                   2280:          support for looking up the string "Password: " in the PAM
                   2281:          localized text db.  This allows us to determine whether the PAM
                   2282:          prompt is the default "Password: " one even if it has been
                   2283:          localized.
                   2284:
                   2285:          TODO: concatenate non-std PAM prompts and user-specified sudo
                   2286:          prompts.
                   2287:
                   2288: 2007-11-27 18:40  millert
                   2289:
                   2290:        * Makefile.in, config.h.in, configure.in, parse.c, set_perms.c,
                   2291:          sudo.c, configure, sudo.h: Use AC_FUNC_GETGROUPS instead of a
                   2292:          home-grown attempt that was insufficient.
                   2293:
                   2294: 2007-11-27 12:13  millert
                   2295:
                   2296:        * configure, acsite.m4, interfaces.c, memrchr.c: Fix typos;
                   2297:          Martynas Venckus
                   2298:
                   2299: 2007-11-25 19:26  millert
                   2300:
                   2301:        * set_perms.c: Don't assume runas_pw is set; it may not be in the
                   2302:          -g case.
                   2303:
                   2304: 2007-11-25 08:07  millert
                   2305:
                   2306:        * logging.c, set_perms.c: Set aux group vector for PERM_RUNAS and
                   2307:          restore group vector for PERM_ROOT if we previously changed it.
                   2308:          Stash the runas group vector so we don't have to call initgroups
                   2309:          more than once. Also add no-op check to check_perms.
                   2310:
                   2311: 2007-11-21 15:11  millert
                   2312:
                   2313:        * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h,
                   2314:          gram.y, ldap.c, logging.c, match.c, mon_systrace.c, parse.c,
                   2315:          parse.h, pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h,
                   2316:          sudo.man.in, sudo.pod, sudo_usage.h.in, sudoers.cat,
                   2317:          sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, visudo.c,
                   2318:          visudo.cat, visudo.man.in: Add support for runas groups.  This
                   2319:          allows the user to run a command with a different effective
                   2320:          group.  If the -g option is specified without -u the command will
                   2321:          be run as the current user (only the group will change).  the -g
                   2322:          and -u options may be used together.  TODO: implement runas group
                   2323:          for ldap       improve runas group documentation       add
                   2324:          testsudoers support
                   2325:
                   2326: 2007-11-21 15:02  millert
                   2327:
                   2328:        * configure, configure.in: fix setting of mandir
                   2329:
                   2330: 2007-11-21 14:26  millert
                   2331:
                   2332:        * sudo.pod, sudoers.pod: document that ALL implies SETENV
                   2333:
                   2334: 2007-11-21 13:50  millert
                   2335:
                   2336:        * ldap.c: s/setenv_ok/setenv_implied/g
                   2337:
                   2338: 2007-11-21 13:44  millert
                   2339:
                   2340:        * ldap.c: hostname_matches() returns TRUE on match in sudo 1.7.
                   2341:
                   2342: 2007-11-21 13:26  millert
                   2343:
                   2344:        * ldap.c: use strcmp, not strcasecmp when comparing ALL
                   2345:
                   2346: 2007-11-21 11:41  millert
                   2347:
                   2348:        * ldap.c: Make sudo ALL imply setenv.  Note that unlike with
                   2349:          file-based sudoers this does affect all the commands in the
                   2350:          sudoRole.
                   2351:
                   2352: 2007-11-21 11:05  millert
                   2353:
                   2354:        * gram.c, gram.y, parse.c, parse.h: sudo "ALL" now implies the
                   2355:          SETENV tag but, unlike an explicit tag, it is not passed on to
                   2356:          other commands in the list.
                   2357:
                   2358: 2007-11-21 11:02  millert
                   2359:
                   2360:        * visudo.c: Add missing sudo_setpwent() and sudo_setgrent() calls.
                   2361:          Also use sudo_getpwuid() instead of getpwuid().
                   2362:
                   2363: 2007-11-15 11:16  millert
                   2364:
                   2365:        * sudoers: Expand on the dangers of not using visudo to edit
                   2366:          sudoers.
                   2367:
                   2368: 2007-11-08 07:24  millert
                   2369:
                   2370:        * parse.c: Don't quote *?[]! on output since the lexer does not
                   2371:          strip off the backslash when reading those in.
                   2372:
                   2373: 2007-11-07 13:16  millert
                   2374:
                   2375:        * glob.c: expand "u_foo" types to "unsigned foo" to avoid
                   2376:          compatibility issues.
                   2377:
                   2378: 2007-11-04 08:33  millert
                   2379:
                   2380:        * logging.c: Refactor log line generation in to new_logline().
                   2381:
                   2382: 2007-10-25 09:23  millert
                   2383:
                   2384:        * TROUBLESHOOTING: fix typo
                   2385:
                   2386: 2007-10-24 12:41  millert
                   2387:
                   2388:        * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
                   2389:          match.c: Add configure check for struct in6_addr instead of
                   2390:          relying on AF_INET6 since some systems define AF_INET6 but do not
                   2391:          include IPv6 support.
                   2392:
                   2393: 2007-10-21 09:29  millert
                   2394:
                   2395:        * configure, configure.in: Fix block to add -lutil for FreeBSD and
                   2396:          NetBSD when logincap is in use.
                   2397:
                   2398: 2007-10-19 22:28  millert
                   2399:
                   2400:        * configure, configure.in: POSIX states that struct timespec be
                   2401:          declared in time.h so check there regardless of the value of
                   2402:          TIME_WITH_SYS_TIME.
                   2403:
                   2404: 2007-10-17 11:37  millert
                   2405:
                   2406:        * tgetpass.c: Instead of defining a macro to call the appropriate
                   2407:          method for turning on/off echo, just define tc[gs]etattr() and
                   2408:          the related defines that use the correct terminal ioctls if
                   2409:          needed.  Also go back to using TCSAFLUSH instead of TCSADRAIN on
                   2410:          all but QNX.
                   2411:
                   2412: 2007-10-08 20:18  millert
                   2413:
                   2414:        * Makefile.in: g/c @ALLOCA@
                   2415:
                   2416: 2007-10-08 20:07  millert
                   2417:
                   2418:        * configure: regen
                   2419:
                   2420: 2007-10-08 20:04  millert
                   2421:
                   2422:        * INSTALL, config.h.in, configure.in, auth/pam.c: Add
                   2423:          --disable-pam-session configure option to disable calling
                   2424:          pam_{open,close}_session.  May work around bugs in some PAM
                   2425:          implementations.
                   2426:
                   2427: 2007-10-08 12:00  millert
                   2428:
                   2429:        * tgetpass.c: quiet gcc warnings
                   2430:
                   2431: 2007-10-08 08:41  millert
                   2432:
                   2433:        * tgetpass.c: Avoid printing the prompt if we are already
                   2434:          backgrounded.  E.g. if the user runs "sudo foo &" from the shell.
                   2435:          In this case, the call to tcsetattr() will cause SIGTTOU to be
                   2436:          delivered.
                   2437:
                   2438: 2007-09-15 16:07  millert
                   2439:
                   2440:        * def_data.c, def_data.h, def_data.in: Reorder things such that the
                   2441:          definition of env_reset come right before the env variable lists.
                   2442:
                   2443: 2007-09-15 07:50  millert
                   2444:
                   2445:        * parse.h: Shrink type and seqno in struct alias from int to
                   2446:          u_short
                   2447:
                   2448: 2007-09-15 07:24  millert
                   2449:
                   2450:        * alias.c, match.c, parse.c, parse.h: Add a sequence number in the
                   2451:          aliases for loop detection.  If we find an alias with the seqno
                   2452:          already set to the current (global) value we know we've visited
                   2453:          it before so ignore it.
                   2454:
                   2455: 2007-09-13 19:05  millert
                   2456:
                   2457:        * TODO, sudo.c, sudo.h, auth/pam.c: PAM wants the full tty path so
                   2458:          add user_ttypath which holds the full path to the tty or is NULL
                   2459:          if no tty was present.
                   2460:
                   2461: 2007-09-13 18:42  millert
                   2462:
                   2463:        * auth/pam.c: Set PAM_RHOST to work around a bug in Solaris 7 and
                   2464:          lower that results in a segv.
                   2465:
                   2466: 2007-09-11 15:43  millert
                   2467:
                   2468:        * gram.c: regen
                   2469:
                   2470: 2007-09-11 15:42  millert
                   2471:
                   2472:        * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
                   2473:          parse.h, testsudoers.c, visudo.c: rename lh_ -> tq_
                   2474:
                   2475: 2007-09-10 17:33  millert
                   2476:
                   2477:        * alloc.c: remove some useless casts
                   2478:
                   2479: 2007-09-10 17:32  millert
                   2480:
                   2481:        * alloc.c: pull in inttypes.h for SIZE_MAX; we avoid stdint.h since
                   2482:          inttypes.h predates the final C99 spec and the standard specifies
                   2483:          that it shall include stdint.h anyway
                   2484:
                   2485: 2007-09-06 12:39  millert
                   2486:
                   2487:        * Makefile.in, alloca.c, configure.in: Since we ship with a
                   2488:          pre-generated parser there is no need to ship a bogus alloca
                   2489:          implementation.
                   2490:
                   2491: 2007-09-06 12:22  millert
                   2492:
                   2493:        * configure: regen
                   2494:
                   2495: 2007-09-06 12:19  millert
                   2496:
                   2497:        * configure.in: remove initial setting of CHECKSIA, we require that
                   2498:          it be unset if not used
                   2499:
                   2500: 2007-09-06 11:55  millert
                   2501:
                   2502:        * Makefile.in: add list.c to SRCS
                   2503:
                   2504: 2007-09-06 07:18  millert
                   2505:
                   2506:        * configure: regen
                   2507:
                   2508: 2007-09-06 07:17  millert
                   2509:
                   2510:        * configure.in: only do SIA checks on Digital Unix
                   2511:
                   2512: 2007-09-05 18:50  millert
                   2513:
                   2514:        * sudoers.cat, sudoers.man.in: regen
                   2515:
                   2516: 2007-09-05 18:48  millert
                   2517:
                   2518:        * ChangeLog, TODO: sync
                   2519:
                   2520: 2007-09-05 18:39  millert
                   2521:
                   2522:        * auth/kerb5.c: Remove call to krb5_cc_register() as it is not
                   2523:          needed for modern kerb5.
                   2524:
                   2525: 2007-09-05 18:16  millert
                   2526:
                   2527:        * configure: regen
                   2528:
                   2529: 2007-09-05 18:16  millert
                   2530:
                   2531:        * configure.in, aclocal.m4: New method for setting the default
                   2532:          authentication type and avoiding conflicts in auth types.
                   2533:
                   2534: 2007-09-05 14:45  millert
                   2535:
                   2536:        * match.c, parse.c, testsudoers.c: Each entry in a cmndlist now has
                   2537:          an associated runaslist so no need to keep track of the most
                   2538:          recent non-NULL one.
                   2539:
                   2540: 2007-09-04 18:51  millert
                   2541:
                   2542:        * ldap.c: back out partial ldaps support mistakenly committed
                   2543:
                   2544: 2007-09-04 10:57  millert
                   2545:
                   2546:        * ldap.c: Add support for unix groups and netgroups in sudoRunas
                   2547:
                   2548: 2007-09-03 16:28  millert
                   2549:
                   2550:        * sudo_edit.c: Fix sudoedit of a non-existent file.  From Tilo
                   2551:          Stritzky.
                   2552:
                   2553: 2007-09-02 17:05  millert
                   2554:
                   2555:        * configure: regen
                   2556:
                   2557: 2007-09-02 17:05  millert
                   2558:
                   2559:        * INSTALL: update --passprompt escape info
                   2560:
                   2561: 2007-09-02 17:03  millert
                   2562:
                   2563:        * configure.in: remove now-bogus comment and update copyright date
                   2564:
                   2565: 2007-09-02 16:35  millert
                   2566:
                   2567:        * configure.in: Fix up use of with_passwd
                   2568:
                   2569: 2007-09-02 16:25  millert
                   2570:
                   2571:        * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
                   2572:          Update to autoconf-2.61 andf libtool-1.5.24
                   2573:
                   2574: 2007-09-02 16:17  millert
                   2575:
                   2576:        * Makefile.in: "cmp -s" not just cmp Add @datarootdir@ to quiet
                   2577:          autoconf-2.61
                   2578:
                   2579: 2007-09-01 17:39  millert
                   2580:
                   2581:        * gram.c: regen
                   2582:
                   2583: 2007-09-01 17:39  millert
                   2584:
                   2585:        * gram.y: move tags and runaslist propagation to be earlier
                   2586:
                   2587: 2007-09-01 09:34  millert
                   2588:
                   2589:        * visudo.c: If -f flag given use the permissions of the original
                   2590:          file as a template
                   2591:
                   2592: 2007-09-01 08:45  millert
                   2593:
                   2594:        * gram.y: prevent a double free() when re-initing the parser
                   2595:
                   2596: 2007-08-31 19:30  millert
                   2597:
                   2598:        * configure: regen
                   2599:
                   2600: 2007-08-31 19:30  millert
                   2601:
                   2602:        * aclocal.m4, alias.c, alloc.c, config.h.in, configure.in, env.c,
                   2603:          ldap.c, list.c, list.h, memrchr.c, parse.c, parse.h, pwutil.c,
                   2604:          redblack.c, redblack.h, snprintf.c, sudo.c, sudo.h,
                   2605:          testsudoers.c, visudo.c, zero_bytes.c, auth/API, auth/afs.c,
                   2606:          auth/bsdauth.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
                   2607:          auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h:
                   2608:          Remove support for compilers that don't support void *
                   2609:
                   2610: 2007-08-31 19:14  millert
                   2611:
                   2612:        * gram.c: regen
                   2613:
                   2614: 2007-08-31 19:13  millert
                   2615:
                   2616:        * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h,
                   2617:          match.c, parse.c, parse.h, testsudoers.c, visudo.c: Move list
                   2618:          manipulation macros to list.h and create C versions of the more
                   2619:          complex ones in list.c.  The names have been down-cased so they
                   2620:          appear more like normal functions.
                   2621:
                   2622: 2007-08-31 17:21  millert
                   2623:
                   2624:        * Makefile.in: Fix cmp command when regenerating parser.  Make
                   2625:          gram.o the first dependency for all programs so gram.h will be
                   2626:          generated before anything that needs it.
                   2627:
                   2628: 2007-08-31 13:56  millert
                   2629:
                   2630:        * parse.h, gram.y: Convert NEW_DEFAULT anf NEW_MEMBER into static
                   2631:          functions.
                   2632:
                   2633: 2007-08-30 21:21  millert
                   2634:
                   2635:        * match.c, parse.c, testsudoers.c: Use LH_FOREACH_REV when checking
                   2636:          permission and short-circuit on the first non-UNSPEC hit we get
                   2637:          for the command.  This means that instead of cycling through the
                   2638:          all the parsed sudoers entries we start at the end and work
                   2639:          backwards and quit after the first positive or negative match.
                   2640:
                   2641: 2007-08-30 21:13  millert
                   2642:
                   2643:        * gram.c: regen
                   2644:
                   2645: 2007-08-30 21:12  millert
                   2646:
                   2647:        * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
                   2648:          Change list head macros to take a pointer, not a struct.
                   2649:
                   2650: 2007-08-30 20:46  millert
                   2651:
                   2652:        * gram.c: regen
                   2653:
                   2654: 2007-08-30 20:46  millert
                   2655:
                   2656:        * gram.y: Propagate the runasspec from one command to the next in a
                   2657:          cmndspec.
                   2658:
                   2659: 2007-08-30 16:15  millert
                   2660:
                   2661:        * match.c: Replace has_meta() with a macro that calls strpbrk().
                   2662:
                   2663: 2007-08-30 16:04  millert
                   2664:
                   2665:        * gram.c: regen
                   2666:
                   2667: 2007-08-30 13:26  millert
                   2668:
                   2669:        * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
                   2670:          testsudoers.c, visudo.c: Use a list head struct when storing the
                   2671:          semi-circular lists and convert to tail queues in the process.
                   2672:          This will allow us to reverse foreach loops more easily and it
                   2673:          makes it clearer which functions expect a list as opposed to a
                   2674:          single member.
                   2675:
                   2676:          Add macros for manipulating lists.  Some of these should become
                   2677:          functions.
                   2678:
                   2679:          When freeing up a list, just pop off the last item in the queue
                   2680:          instead of going from head to tail.  This is simpler since we
                   2681:          don't have to stash a pointer to the next member, we always just
                   2682:          use the last one in the queue until the queue is empty.
                   2683:
                   2684:          Rename match functions that take a list to have list in the name.
                   2685:           Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
                   2686:
                   2687: 2007-08-30 13:12  millert
                   2688:
                   2689:        * parse.c: Fix pasto, append "!" not negated (which is an int) for
                   2690:          sudo -l output.
                   2691:
                   2692: 2007-08-30 12:45  millert
                   2693:
                   2694:        * Makefile.in: Remove the dependency of gram .h on gram.y, the .c
                   2695:          dependency is enough.  Only move y.tab.h to gram.h if it is
                   2696:          different; avoids needless rebuilding.
                   2697:
                   2698: 2007-08-27 15:51  millert
                   2699:
                   2700:        * sudoers.pod: Defaults lines may be associated with lists of
                   2701:          users, hosts, commands and runas users, not just single entries.
                   2702:
                   2703: 2007-08-26 17:42  millert
                   2704:
                   2705:        * Makefile.in: Revert the "cmp" portion of the last diff, it
                   2706:          doesn't make sense.
                   2707:
                   2708: 2007-08-26 17:10  millert
                   2709:
                   2710:        * Makefile.in: Remove *.lo for clean: When generating the parser,
                   2711:          only move the generated files into place if they differ from the
                   2712:          existing ones.
                   2713:
                   2714: 2007-08-24 22:47  millert
                   2715:
                   2716:        * toke.c, toke.l: Replace IPV6 regexp with a much simpler
                   2717:          (readable) one and add an extra check when it matches to make
                   2718:          sure we have a valid address.
                   2719:
                   2720: 2007-08-24 22:36  millert
                   2721:
                   2722:        * match.c: Fix thinko introduced when merging IPV6 support.
                   2723:
                   2724: 2007-08-24 14:23  millert
                   2725:
                   2726:        * HISTORY, LICENSE: regen
                   2727:
                   2728: 2007-08-24 14:23  millert
                   2729:
                   2730:        * license.pod: add 2007
                   2731:
                   2732: 2007-08-24 14:19  millert
                   2733:
                   2734:        * UPGRADE: mention #uid vs. comment pitfall
                   2735:
                   2736: 2007-08-24 09:50  millert
                   2737:
                   2738:        * acsite.m4: Merge in a patch from the libtool cvs that fixes a
                   2739:          problem with the latest autoconf.  From Stepan Kasal.
                   2740:
                   2741: 2007-08-23 20:28  millert
                   2742:
                   2743:        * parse.h: Back out he XOR swap trick, it is slower than a temp
                   2744:          variable on modern CPUs.
                   2745:
                   2746: 2007-08-23 20:14  millert
                   2747:
                   2748:        * gram.c: regen
                   2749:
                   2750: 2007-08-23 20:14  millert
                   2751:
                   2752:        * gram.y, parse.h: Convert the tail queue to a semi-circle queue
                   2753:          and use the XOR swap trick to swap the prev pointers during
                   2754:          append.
                   2755:
                   2756: 2007-08-23 15:31  millert
                   2757:
                   2758:        * parse.h: remove useless statement
                   2759:
                   2760: 2007-08-23 07:47  millert
                   2761:
                   2762:        * toke.c, toke.l: Refactor #include parsing into a separate
                   2763:          function and return unparsed chars (such as newline or comment)
                   2764:          back to the lexer.
                   2765:
                   2766: 2007-08-22 18:56  millert
                   2767:
                   2768:        * WHATSNEW: mention better uid support
                   2769:
                   2770: 2007-08-22 18:55  millert
                   2771:
                   2772:        * sudoers.pod: Users may now consist of a uid.
                   2773:
                   2774: 2007-08-22 18:39  millert
                   2775:
                   2776:        * gram.c, gram.h, toke.c: regen
                   2777:
                   2778: 2007-08-22 18:32  millert
                   2779:
                   2780:        * parse.c: Use lbuf_append_quoted() for sudo -l output to quote
                   2781:          characters that would require quoting in sudoers.
                   2782:
                   2783: 2007-08-22 18:31  millert
                   2784:
                   2785:        * lbuf.c, lbuf.h: Add lbuf_append_quoted() which takes a set of
                   2786:          characters which should be quoted with a backslash when
                   2787:          displayed.
                   2788:
                   2789: 2007-08-22 18:28  millert
                   2790:
                   2791:        * toke.l: Require that the first character after a comment not be a
                   2792:          digit or a dash.  This allows us to remove the GOTRUNAS state and
                   2793:          treat uid/gids similar to other words.  It also means that we can
                   2794:          now specify uids in User_Lists and a User_Spec may now contain a
                   2795:          uid.
                   2796:
                   2797: 2007-08-22 18:23  millert
                   2798:
                   2799:        * gram.y, toke.l: Replace RUNAS token with '(' and ')' tokens to
                   2800:          make the runas portion of the grammar more natural.
                   2801:
                   2802: 2007-08-22 06:35  millert
                   2803:
                   2804:        * Makefile.in, README, BUGS: The BUGS file is history
                   2805:
                   2806: 2007-08-21 09:19  millert
                   2807:
                   2808:        * toke.c, toke.l: Allow comments after a RunasAlias as long as the
                   2809:          character after the pound sign isn't a digit or a dash.
                   2810:
                   2811: 2007-08-20 20:43  millert
                   2812:
                   2813:        * WHATSNEW: Glob support was back-ported to 1.6.9
                   2814:
                   2815: 2007-08-20 19:59  millert
                   2816:
                   2817:        * Makefile.in: remove sudo_usage.h in distclean
                   2818:
                   2819: 2007-08-20 19:24  millert
                   2820:
                   2821:        * parse.c: If a Defaults value contains a blank, double-quote the
                   2822:          string.
                   2823:
                   2824: 2007-08-20 19:19  millert
                   2825:
                   2826:        * toke.c, toke.l: Properly deal with Defaults double-quoted strings
                   2827:          that span multiple lines using the line continuation char.
                   2828:          Previously, the entire thing, including the continuation char,
                   2829:          newline, and spaces was stored as-is.
                   2830:
                   2831: 2007-08-20 10:46  millert
                   2832:
                   2833:        * sudo.c: Be consistent when using single quotes and backticks.
                   2834:
                   2835: 2007-08-19 16:48  millert
                   2836:
                   2837:        * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
                   2838:          sudo.c, sudo_usage.h.in: Add new linebuf code to do appends of
                   2839:          dynamically allocated strings and word-wrapped output.  Currently
                   2840:          used for sudo's usage() and sudo -l output.  Sudo usage strings
                   2841:          are now in sudo_usage.h which is generated at configure time.
                   2842:
                   2843: 2007-08-18 08:22  millert
                   2844:
                   2845:        * sudo.h, parse.c, sudo.c: Fix line wrapping in usage() and use the
                   2846:          actual tty width instead of assuming 80.
                   2847:
                   2848: 2007-08-17 18:32  millert
                   2849:
                   2850:        * history.pod: some more info
                   2851:
                   2852: 2007-08-17 17:28  millert
                   2853:
                   2854:        * history.pod: Mentioned Chris Jepeway's parser and also the new
                   2855:          one that is in sudo 1.7.
                   2856:
                   2857: 2007-08-16 09:38  millert
                   2858:
                   2859:        * sudo.pod, visudo.pod: For the options list, add flag args where
                   2860:          appropriate and increase the indent level so there is room for
                   2861:          them.
                   2862:
                   2863: 2007-08-15 13:49  millert
                   2864:
                   2865:        * parse.c: Fix some spacing in "sudo -l" and add a comment about
                   2866:          some bogosity in the line wrapping.
                   2867:
                   2868: 2007-08-15 11:21  millert
                   2869:
                   2870:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
                   2871:          visudo.man.in, visudo.cat: regen
                   2872:
                   2873: 2007-08-15 11:20  millert
                   2874:
                   2875:        * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
                   2876:          def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
                   2877:          parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
                   2878:          testsudoers.c, toke.c, toke.l: Remove monitor support until there
                   2879:          is a versino of systrace that uses a lookaside buffer (or we have
                   2880:          a better mechanism to use).
                   2881:
                   2882: 2007-08-15 09:22  millert
                   2883:
                   2884:        * configure.in, configure, config.h.in, sudo.c: use getaddrinfo()
                   2885:          instead of gethostbyname() if it is available
                   2886:
                   2887: 2007-08-14 15:27  millert
                   2888:
                   2889:        * parse.c, sudo.c: Deal with OSes where sizeof(gid_t) <
                   2890:          sizeof(int).
                   2891:
                   2892: 2007-08-14 11:19  millert
                   2893:
                   2894:        * interfaces.c: repair non-getifaddrs() code after ipv6 integration
                   2895:
                   2896: 2007-08-14 10:04  millert
                   2897:
                   2898:        * sudo.c: If we can open sudoers but fail to read the first byte,
                   2899:          close the file stream before trying again.
                   2900:
                   2901: 2007-08-13 12:34  millert
                   2902:
                   2903:        * gram.c, toke.c: regen
                   2904:
                   2905: 2007-08-13 12:29  millert
                   2906:
                   2907:        * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
                   2908:          Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
                   2909:
                   2910: 2007-08-13 12:23  millert
                   2911:
                   2912:        * sudo.pod, sudoers.pod, visudo.pod: Add some missing markup Update
                   2913:          copyright
                   2914:
                   2915: 2007-08-12 18:55  millert
                   2916:
                   2917:        * configure, configure.in: fix sudo_noexec extension which got
                   2918:          broken in the libtool update
                   2919:
                   2920: 2007-08-10 10:41  millert
                   2921:
                   2922:        * Makefile.in: explicitly specify -Tascii to nroff
                   2923:
                   2924: 2007-08-08 16:07  millert
                   2925:
                   2926:        * logging.c: remove an ANSI-ism that crept in
                   2927:
                   2928: 2007-08-06 20:37  millert
                   2929:
                   2930:        * sudo.pod: Adjust list indents Prevent -- from being turned into
                   2931:          an em dash Use a list for the environment instead of a literal
                   2932:          paragraph
                   2933:
                   2934: 2007-08-06 20:36  millert
                   2935:
                   2936:        * visudo.pod: Use a list for the environment instead of an indented
                   2937:          literal paragraph.
                   2938:
                   2939: 2007-08-06 20:33  millert
                   2940:
                   2941:        * sudoers.pod: Adjust list indentation
                   2942:
                   2943: 2007-08-06 20:31  millert
                   2944:
                   2945:        * license.pod: add =head3
                   2946:
                   2947: 2007-08-06 10:24  millert
                   2948:
                   2949:        * sudo.pod: mention that when specifying a uid for the -u option
                   2950:          the shell may require that the # be escaped
                   2951:
                   2952: 2007-08-01 22:08  millert
                   2953:
                   2954:        * match.c: Fix off by one in group matching.
                   2955:
                   2956: 2007-07-31 14:04  millert
                   2957:
                   2958:        * env.c: Fix typo: PYTHONINSPEC should be PYTHONINSPECT.  From
                   2959:          David Krause.
                   2960:
                   2961: 2007-07-30 10:45  millert
                   2962:
                   2963:        * configure, configure.in: Add missing define of
                   2964:          HAVE_GSS_KRB5_CCACHE_NAME for the -lgssapi_krb5 case.
                   2965:
                   2966: 2007-07-30 09:29  millert
                   2967:
                   2968:        * aclocal.m4, configure.in, configure: Fix link tests such that new
                   2969:          gcc doesn't optimize away the test.
                   2970:
                   2971: 2007-07-29 19:21  millert
                   2972:
                   2973:        * sudo.pod, sudoers.pod, visudo.pod: add missing over/back
                   2974:
                   2975: 2007-07-29 19:09  millert
                   2976:
                   2977:        * sudo.pod, sudoers.pod, visudo.pod: Change FILES section to use
                   2978:          =item
                   2979:
                   2980: 2007-07-29 18:32  millert
                   2981:
                   2982:        * env.c: Add back allocation of the env struct in rebuild_env but
                   2983:          save a copy of the old pointer and free it before returning.
                   2984:
                   2985: 2007-07-29 16:09  millert
                   2986:
                   2987:        * env.c: Don't init the private environment in rebuild_env() since
                   2988:          it may have already been done implicitly
                   2989:          sudo_setenv/sudo_unsetenv.
                   2990:
                   2991:          Multiply length by sizeof(char *) in memcpy/memmove when copying
                   2992:          the environment so we copy the full thing.
                   2993:
                   2994:          Add missing set of parens so we deref the right pointer in
                   2995:          sudo_unsetenv when searching for a matching variable.
                   2996:
                   2997: 2007-07-26 16:35  millert
                   2998:
                   2999:        * sudo.pod, sudoers.pod, visudo.pod: Use  file markup for paths in
                   3000:          the FILES section
                   3001:
                   3002: 2007-07-26 10:04  millert
                   3003:
                   3004:        * sudo.pod, sudoers.pod, visudo.pod: Don't capitalize sudo/visudo
                   3005:
                   3006: 2007-07-26 07:28  millert
                   3007:
                   3008:        * sudoers.pod: Sort sudoers options; based on a diff from Igor
                   3009:          Sobrado.
                   3010:
                   3011: 2007-07-25 16:19  millert
                   3012:
                   3013:        * sudo.pod, sudoers.pod, visudo.pod: Use 8 and 5 instead of
                   3014:          @mansectsu@ and @mansectform@ since the latter confuses pod2man.
                   3015:          The Makefile rules for the .man.in file will add @mansectsu@ and
                   3016:          @mansectform@ back in after pod2man is done anyway.
                   3017:
                   3018: 2007-07-22 19:09  millert
                   3019:
                   3020:        * LICENSE, Makefile.in, license.pod: Move license info to pod
                   3021:          format
                   3022:
                   3023: 2007-07-22 18:43  millert
                   3024:
                   3025:        * configure, configure.in, sudoers.pod: Substitute value of
                   3026:          path_info into sudoers man page.
                   3027:
                   3028: 2007-07-22 16:40  millert
                   3029:
                   3030:        * WHATSNEW: remove features that were back-ported to 1.6.9
                   3031:
                   3032: 2007-07-22 15:20  millert
                   3033:
                   3034:        * sudo.c, sudo.pod, visudo.c, visudo.pod: Sort SYNOPSIS and sync
                   3035:          usage.  From Igor Sobrado.
                   3036:
                   3037: 2007-07-22 15:19  millert
                   3038:
                   3039:        * env.c: Only need sudo_setenv/sudo_unsetenv if we are going to use
                   3040:          ldap_sasl_interactive_bind_s() but don't have
                   3041:          gss_krb5_ccache_name().
                   3042:
                   3043: 2007-07-22 08:23  millert
                   3044:
                   3045:        * ChangeLog: rebuild without branch info
                   3046:
                   3047: 2007-07-22 08:23  millert
                   3048:
                   3049:        * Makefile.in: Add ChangeLog target
                   3050:
                   3051: 2007-07-22 08:14  millert
                   3052:
                   3053:        * auth/pam.c: Run cleanup code if the user hits ^C at the password
                   3054:          prompt.
                   3055:
                   3056: 2007-07-22 08:13  millert
                   3057:
                   3058:        * auth/pam.c: Some versions of pam_lastlog have a bug that will
                   3059:          cause a crash if PAM_TTY is not set so if there is no tty, set
                   3060:          PAM_TTY to the empty string.
                   3061:
                   3062: 2007-07-20 09:32  millert
                   3063:
                   3064:        * Makefile.in: ChageLog not Changelog
                   3065:
                   3066: 2007-07-20 09:31  millert
                   3067:
                   3068:        * ChangeLog: sync
                   3069:
                   3070: 2007-07-20 09:29  millert
                   3071:
                   3072:        * Makefile.in: CHANGE -> Changelog
                   3073:
                   3074: 2007-07-19 20:23  millert
                   3075:
                   3076:        * TODO: sync
                   3077:
                   3078: 2007-07-19 19:53  millert
                   3079:
                   3080:        * config.h.in, configure.in, configure, ldap.c: Add configure hooks
                   3081:          for gss_krb5_ccache_name() and the gssapi headers.
                   3082:
                   3083: 2007-07-18 12:57  millert
                   3084:
                   3085:        * env.c, sudo.c: rebuild_env() and insert_env_vars() no longer
                   3086:          return environment pointer, they set environ directly.
                   3087:
                   3088:          No longer need to pass around an envp pointer since we just
                   3089:          operate on environ now.
                   3090:
                   3091:          Add dosync argument to insert_env() that indicates whether it
                   3092:          should reset environ when realloc()ing env.envp.
                   3093:
                   3094:          Use an initial size of 128 for the environment.
                   3095:
                   3096: 2007-07-18 12:41  millert
                   3097:
                   3098:        * env.c: Split sudo_setenv() into an external version and a version
                   3099:          only for use by rebuild_env().
                   3100:
                   3101: 2007-07-16 19:40  millert
                   3102:
                   3103:        * ldap.c: Add support for using gss_krb5_ccache_name() instead of
                   3104:          setting KRB5CCNAME.  Also use sudo_unsetenv() in the
                   3105:          non-gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
                   3106:          original environment.  TODO: configure setup for
                   3107:          gss_krb5_ccache_name()
                   3108:
                   3109: 2007-07-16 18:44  millert
                   3110:
                   3111:        * README.LDAP: add krb5_ccname
                   3112:
                   3113: 2007-07-16 18:44  millert
                   3114:
                   3115:        * README.LDAP, ldap.c: Add support for sasl_secprops in ldap.conf
                   3116:
                   3117: 2007-07-16 18:39  millert
                   3118:
                   3119:        * env.c, sudo.h: Add sudo_unsetenv() and refactor private env
                   3120:          syncing code into sync_env().
                   3121:
                   3122: 2007-07-16 07:27  millert
                   3123:
                   3124:        * README.LDAP, ldap.c: The ldap.conf variable is sasl_auth_id not
                   3125:          sasl_authid.
                   3126:
                   3127: 2007-07-15 15:44  millert
                   3128:
                   3129:        * ldap.c, sudo.c, sudo.h: Add support for krb5_ccname in ldap.conf.
                   3130:          If specified, it will override the default value of KRB5CCNAME
                   3131:          in the environment for the duration of the call to
                   3132:          ldap_sasl_interactive_bind_s().
                   3133:
                   3134: 2007-07-15 15:41  millert
                   3135:
                   3136:        * env.c, sudo.h: Remove format_env() Add sudo_setenv() to replace
                   3137:          most format_env() + insert_env() combinations.  insert_env() no
                   3138:          longer takes a struct environment *
                   3139:
                   3140: 2007-07-15 12:47  millert
                   3141:
                   3142:        * ldap.c: Fix use_sasl vs. rootuse_sasl logic.
                   3143:
                   3144: 2007-07-15 09:23  millert
                   3145:
                   3146:        * README.LDAP, config.h.in, configure, configure.in, ldap.c: Add
                   3147:          support for SASL auth when connecting to an LDAP server.  Adapted
                   3148:          from a diff by Tom McLaughlin.
                   3149:
                   3150: 2007-07-14 16:32  millert
                   3151:
                   3152:        * configure, configure.in: Only enable AIX or BSD auth if no other
                   3153:          exclusive auth method has been chosen.  Allows people to e.g.,
                   3154:          use PAM on AIX without adding --without-aixauth.  A better
                   3155:          solution is needed to deal with default authentication since if a
                   3156:          non-exclusive method is chosen we will still get an error.
                   3157:
                   3158: 2007-07-11 11:23  millert
                   3159:
                   3160:        * HISTORY, Makefile.in, history.pod: Generate HISTORY from
                   3161:          history.pod (which is also used for web pages)
                   3162:
                   3163: 2007-07-09 19:40  millert
                   3164:
                   3165:        * sudo.man.in, sudoers.man.in: regen
                   3166:
                   3167: 2007-07-09 19:25  millert
                   3168:
                   3169:        * sudo.pod: Better explanation of environment handling in the sudo
                   3170:          man page.
                   3171:
                   3172: 2007-07-09 15:13  millert
                   3173:
                   3174:        * env.c, sudo.c: Defer setting user-specified env vars until after
                   3175:          authentication.
                   3176:
                   3177: 2007-07-09 13:25  millert
                   3178:
                   3179:        * env.c: honor def_default_path for PATH set on the command line
                   3180:
                   3181: 2007-07-09 13:22  millert
                   3182:
                   3183:        * sudo.c, env.c, sudo.pod, sudoers.pod: Allow user to set
                   3184:          environment variables on the command line as long as they are
                   3185:          allowed by env_keep and env_check.  Ie: apply the same
                   3186:          restrictions as normal environment variables.  TODO: deal with
                   3187:          secure_path
                   3188:
                   3189: 2007-07-08 14:44  millert
                   3190:
                   3191:        * sudo.c, sudo_edit.c: Call rebuild_env() in call cases.  Pass
                   3192:          original envp to sudo_edit().  Don't allow -E or env var setting
                   3193:          in sudoedit mode.  More accurate usage() when called as sudoedit.
                   3194:
                   3195: 2007-07-08 14:41  millert
                   3196:
                   3197:        * ldap.c: warn -> warning
                   3198:
                   3199: 2007-07-08 14:11  millert
                   3200:
                   3201:        * sudo.pod: add -c option to sudoedit synopsis
                   3202:
                   3203: 2007-07-08 10:27  millert
                   3204:
                   3205:        * TODO: udpate to reality
                   3206:
                   3207: 2007-07-08 09:43  millert
                   3208:
                   3209:        * parse.c: Use ALLOW/DENY instead of TRUE/FALSE when dealing with
                   3210:          the return value from {user,host,runas,cmnd}_matches().  Rename
                   3211:          *matches variables -> *match.  Purely cosmetic.
                   3212:
                   3213: 2007-07-08 09:30  millert
                   3214:
                   3215:        * parse.c: Move setting of FLAG_NO_CHECK into the if(pwflag) block.
                   3216:          No change in behavior.
                   3217:
                   3218: 2007-07-08 09:17  millert
                   3219:
                   3220:        * sudoers: add SETENV tag
                   3221:
                   3222: 2007-07-06 15:51  millert
                   3223:
                   3224:        * parse.c: Make pwcheck local to the pwflag block.  Use pwcheck
                   3225:          even if user didn't match since Defaults options may still apply.
                   3226:
                   3227: 2007-07-06 14:51  millert
                   3228:
                   3229:        * check.c, sudo.c: Do not update timestamp if user not validated by
                   3230:          sudoers.
                   3231:
                   3232: 2007-07-06 10:14  millert
                   3233:
                   3234:        * set_perms.c: for PERM_RUNAS, set the egid to the runas user's gid
                   3235:          and restore to the user's original in PERM_ROOT
                   3236:
                   3237: 2007-07-06 10:04  millert
                   3238:
                   3239:        * logging.c, mon_systrace.c, set_perms.c, sudo.h: PERM_FULL_ROOT is
                   3240:          now no different than PERM_ROOT so remove PERM_FULL_ROOT
                   3241:
                   3242: 2007-07-06 09:49  millert
                   3243:
                   3244:        * check.c: don't check timestamp mtime if we are just going to
                   3245:          remove it
                   3246:
                   3247: 2007-07-06 09:33  millert
                   3248:
                   3249:        * sudoers.pod: Move sudoers defaults parameters into their own
                   3250:          section.
                   3251:
                   3252: 2007-07-05 20:21  millert
                   3253:
                   3254:        * testsudoers.c: Reduce a level of indent by a few placed continue
                   3255:          statements.
                   3256:
                   3257: 2007-07-05 20:20  millert
                   3258:
                   3259:        * parse.c: Make matching but negated commands/hosts/runas entries
                   3260:          override a previous match as expected.  Also reduce some levels
                   3261:          of indent by a few placed continue statements.
                   3262:
                   3263: 2007-07-05 16:34  millert
                   3264:
                   3265:        * parse.c: Print default runas in "sudo -l" if sudoers don't
                   3266:          specify one.
                   3267:
                   3268: 2007-07-05 15:46  millert
                   3269:
                   3270:        * match.c: Less hacky way of testing whether the domain was set.
                   3271:
                   3272: 2007-07-04 15:50  millert
                   3273:
                   3274:        * INSTALL: Mention pam-devel and openldap-devel for Linux
                   3275:
                   3276: 2007-07-03 19:38  millert
                   3277:
                   3278:        * README.LDAP: or vs. are
                   3279:
                   3280: 2007-07-01 16:55  millert
                   3281:
                   3282:        * sudo.c: fix typo in Solaris project support
                   3283:
                   3284: 2007-07-01 09:40  millert
                   3285:
                   3286:        * HISTORY: update
                   3287:
                   3288: 2007-07-01 09:07  millert
                   3289:
                   3290:        * sudo.c: Make -- on the command line match the manual page.  The
                   3291:          implied shell case has been simplified as a result.
                   3292:
                   3293: 2007-06-28 10:44  millert
                   3294:
                   3295:        * sudoers2ldif: add simplistic support for sudoRunas; note that if
                   3296:          a sudoers entry contains multiple Runas users, all will apply to
                   3297:          the sudoRole
                   3298:
                   3299: 2007-06-28 10:42  millert
                   3300:
                   3301:        * sudoers2ldif: honor SETENV and NOSETENV tags
                   3302:
                   3303: 2007-06-24 09:25  millert
                   3304:
                   3305:        * mon_systrace.c: Redo setting of user_args.  We now build up a
                   3306:          private copy of argv first and then replace the NULs with spaces.
                   3307:
                   3308: 2007-06-24 09:19  millert
                   3309:
                   3310:        * mon_systrace.c: getcwd() returns NULL on failure, not 0 on
                   3311:          success
                   3312:
                   3313: 2007-06-24 07:39  millert
                   3314:
                   3315:        * mon_systrace.c: allow chunksiz to reach 1 before erroring out
                   3316:
                   3317: 2007-06-23 20:00  millert
                   3318:
                   3319:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   3320:          visudo.man.in: regen
                   3321:
                   3322: 2007-06-23 19:58  millert
                   3323:
                   3324:        * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h,
                   3325:          gram.y, logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod,
                   3326:          sudoers.pod, toke.c, toke.l: Add support for setting environment
                   3327:          variables on the command line.  This is only allowed if the
                   3328:          setenv sudoers options is enabled or if the command is prefixed
                   3329:          with the SETENV tag.
                   3330:
                   3331: 2007-06-23 19:57  millert
                   3332:
                   3333:        * README.LDAP: replace Aaron's email address with the sudo-workers
                   3334:          list
                   3335:
                   3336: 2007-06-23 19:55  millert
                   3337:
                   3338:        * configure: regen
                   3339:
                   3340: 2007-06-21 20:35  millert
                   3341:
                   3342:        * Makefile.in, README.LDAP, schema.OpenLDAP, schema.iPlanet: Break
                   3343:          schema out into separate files.
                   3344:
                   3345: 2007-06-21 18:28  millert
                   3346:
                   3347:        * auth/aix_auth.c: free message if set by authenticate()
                   3348:
                   3349: 2007-06-21 13:03  millert
                   3350:
                   3351:        * match.c: deal with NULL gr_mem
                   3352:
                   3353: 2007-06-20 15:04  millert
                   3354:
                   3355:        * config.h.in: regen
                   3356:
                   3357: 2007-06-20 15:04  millert
                   3358:
                   3359:        * configure.in: add template for HAVE_PROJECT_H
                   3360:
                   3361: 2007-06-20 07:06  millert
                   3362:
                   3363:        * closefrom.c: include fcntl.h
                   3364:
                   3365: 2007-06-19 19:37  millert
                   3366:
                   3367:        * INSTALL: mention --with-project
                   3368:
                   3369: 2007-06-19 18:24  millert
                   3370:
                   3371:        * config.h.in, configure.in, sudo.c: Add Solaris 10 "project"
                   3372:          support.  From Michael Brantley.
                   3373:
                   3374: 2007-06-19 17:27  millert
                   3375:
                   3376:        * sudoers.pod: fix typo
                   3377:
                   3378: 2007-06-19 17:22  millert
                   3379:
                   3380:        * configure: regen
                   3381:
                   3382: 2007-06-19 17:21  millert
                   3383:
                   3384:        * configure.in: Fix preservation of LDFLAGS in the LDAP case.
                   3385:
                   3386: 2007-06-19 17:00  millert
                   3387:
                   3388:        * memrchr.c: Remove dependecy on NULL
                   3389:
                   3390: 2007-06-19 15:37  millert
                   3391:
                   3392:        * configure: regen
                   3393:
                   3394: 2007-06-19 15:37  millert
                   3395:
                   3396:        * aclocal.m4, configure.in: Can't use the regular autoconf
                   3397:          fnmatch() check since we need FNM_CASEFOLD so go back to our
                   3398:          custom one.
                   3399:
                   3400: 2007-06-19 12:52  millert
                   3401:
                   3402:        * env.c: Fix preserving of variables in env_keep.
                   3403:
                   3404: 2007-06-19 07:10  millert
                   3405:
                   3406:        * env.c: add XAUTHORIZATION
                   3407:
                   3408: 2007-06-18 20:41  millert
                   3409:
                   3410:        * UPGRADE: expand upon env resetting and mention that it began in
                   3411:          1.6.9 not 1.7.
                   3412:
                   3413: 2007-06-18 20:33  millert
                   3414:
                   3415:        * sudoers.pod: Update descriptions of env_keep and env_check to
                   3416:          match current reality.
                   3417:
                   3418: 2007-06-18 17:33  millert
                   3419:
                   3420:        * env.c: Add LINGUAS to initial_checkenv_table.  Add COLORS,
                   3421:          HOSTNAME, LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to
                   3422:          intial_keepenv_table.
                   3423:
                   3424: 2007-06-18 17:23  millert
                   3425:
                   3426:        * env.c, logging.c: Treat USERNAME environemnt variable like
                   3427:          LOGNAME/USER
                   3428:
                   3429: 2007-06-18 17:21  millert
                   3430:
                   3431:        * env.c: Don't need to populate keepenv table with the contents of
                   3432:          the checkenv table.
                   3433:
                   3434: 2007-06-18 08:57  millert
                   3435:
                   3436:        * sudo.c: Don't force sudo into the C locale.
                   3437:
                   3438: 2007-06-18 08:56  millert
                   3439:
                   3440:        * env.c: Make env_check apply when env_reset it true.  Environment
                   3441:          variables are passed through unless they contain '/' or '%'.
                   3442:          There is no need to have a variable in both env_check and
                   3443:          env_keep.
                   3444:
                   3445: 2007-06-16 07:31  millert
                   3446:
                   3447:        * visudo.c: Remove an duplicate lock_file() call and add a comment.
                   3448:
                   3449: 2007-06-15 21:16  millert
                   3450:
                   3451:        * UPGRADE: Add sudo 1.6.9 upgrade note.
                   3452:
                   3453: 2007-06-14 12:23  millert
                   3454:
                   3455:        * interfaces.c: Solaris will return EINVAL if the buffer used in
                   3456:          SIOCGIFCONF is too small.  From Klaus Wagner.
                   3457:
                   3458: 2007-06-14 12:03  millert
                   3459:
                   3460:        * Makefile.in, config.h.in, configure, configure.in, memrchr.c,
                   3461:          logging.c, sudo.h: Redo the long syslog line splitting based on a
                   3462:          patch from Eygene Ryabinkin.  Include memrchr() for systems
                   3463:          without it.
                   3464:
                   3465: 2007-06-14 07:09  millert
                   3466:
                   3467:        * configure.in: Since we need to be able to convert timespec to
                   3468:          timeval for utimes() the last 3 digits in the tv_nsec are not
                   3469:          significant.  This makes the sudoedit file date comparison work
                   3470:          again.
                   3471:
                   3472: 2007-06-13 13:41  millert
                   3473:
                   3474:        * aclocal.m4, configure, configure.in: Add SUDO_ADD_AUTH macro to
                   3475:          deal with adding things to AUTH_OBJS.  This deals with exclusive
                   3476:          authentication methods in a simple way.
                   3477:
                   3478: 2007-06-12 13:08  millert
                   3479:
                   3480:        * LICENSE: mkstemp.c is BSD code too.
                   3481:
                   3482: 2007-06-12 09:21  millert
                   3483:
                   3484:        * sudo.pod, sudoers.pod, visudo.pod: No commercial support for now.
                   3485:
                   3486: 2007-06-11 18:27  millert
                   3487:
                   3488:        * sudo.c: cleanenv() is no more.
                   3489:
                   3490: 2007-06-10 18:37  millert
                   3491:
                   3492:        * ChangeLog: Display branch info in Changelog
                   3493:
                   3494: 2007-06-10 18:18  millert
                   3495:
                   3496:        * utimes.c: Include config.h early so we have it for
                   3497:          TIME_WITH_SYS_TIME
                   3498:
                   3499: 2007-06-10 18:00  millert
                   3500:
                   3501:        * ChangeLog: Fix Changelog generation and update.
                   3502:
                   3503: 2007-06-09 07:26  millert
                   3504:
                   3505:        * closefrom.c: Use /proc/self/fd instead of /proc/$$/fd
                   3506:
                   3507:          Move old-style fd closing into closefrom_fallback() and call that
                   3508:          if /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
                   3509:
                   3510: 2007-06-09 07:24  millert
                   3511:
                   3512:        * config.h.in, configure.in, auth/kerb5.c:  o use
                   3513:          krb5_verify_user() if available instead of doing it by hand
                   3514:           o use krb5_init_secure_context() if we have it
                   3515:           o pass an encryption type of 0 to krb5_kt_read_service_key()
                   3516:          instead of
                   3517:             ENCTYPE_DES_CBC_MD5 to let kerberos choose.
                   3518:
                   3519: 2007-06-09 07:20  millert
                   3520:
                   3521:        * env.c: Check TERM and COLORTERM for '%' and '/' characters.  From
                   3522:          Debian.
                   3523:
                   3524: 2007-06-09 07:17  millert
                   3525:
                   3526:        * configure.in: Fix closefrom() substitution in the Makefile
                   3527:
                   3528: 2007-06-09 07:15  millert
                   3529:
                   3530:        * TROUBLESHOOTING: Mention alternate sudo pronunciation.
                   3531:
                   3532: 2007-06-07 07:52  millert
                   3533:
                   3534:        * env.c: Remove KRB5_KTNAME from environment.  Allow COLORTERM.
                   3535:
                   3536: 2007-06-07 07:22  millert
                   3537:
                   3538:        * auth/kerb5.c: If we cannot get a valid service key using the
                   3539:          default keytab it is a fatal error.  Fixes a bug where sudo could
                   3540:          be tricked into allowing access when it should not by a fake KDC.
                   3541:          From Thor Lancelot Simon.
                   3542:
                   3543: 2007-05-12 08:56  millert
                   3544:
                   3545:        * aclocal.m4, configure, configure.in: Update long long checks to
                   3546:          use AC_CHECK_TYPES and to cache values.
                   3547:
                   3548: 2007-05-12 08:07  millert
                   3549:
                   3550:        * aclocal.m4, configure.in: Use AC_FUNC_FNMATCH instead of a
                   3551:          homebrew fnmatch checker.  We can't use AC_REPLACE_FNMATCH since
                   3552:          that assumes replacing with GNU fnmatch.
                   3553:
                   3554: 2007-05-11 17:05  millert
                   3555:
                   3556:        * configure, configure.in: Add closefrom() to LIB_OBJS not
                   3557:          SUDO_OBJS if it is missing since we need it for visudo now too.
                   3558:
                   3559: 2007-04-24 14:44  millert
                   3560:
                   3561:        * sudoers.pod: Attempt to clarify the bit talking about network
                   3562:          numbers w/o netmasks.
                   3563:
                   3564: 2007-04-24 14:25  millert
                   3565:
                   3566:        * sudo.pod: Clarify timestamp dir ownership sentence.
                   3567:
                   3568: 2007-04-20 12:40  millert
                   3569:
                   3570:        * auth/pam.c: Linux PAM now defines __LINUX_PAM__, not
                   3571:          __LIBPAM_VERSION.  From Dmitry V. Levin.
                   3572:
                   3573: 2007-04-16 12:13  millert
                   3574:
                   3575:        * sudo.c: -i is also one of the mutually exclusive options to list
                   3576:          it in the warning message.  Noted by Chris Pepper.
                   3577:
                   3578: 2007-04-12 11:18  millert
                   3579:
                   3580:        * visudo.pod: The sudoers variable is env_editor, not enveditor.
                   3581:          From Jean-Francois Saucier.
                   3582:
                   3583: 2007-03-29 13:30  millert
                   3584:
                   3585:        * redblack.c: I tracked down the original author so credit him and
                   3586:          include his license info.
                   3587:
                   3588: 2007-02-06 13:25  millert
                   3589:
                   3590:        * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
                   3591:          sudoers.pod: Fix typos; from Jason McIntyre.
                   3592:
                   3593: 2007-02-06 13:23  millert
                   3594:
                   3595:        * logging.c: Restore signal mask before calling reapchild().  Fixes
                   3596:          a possible race condition that could prevent sudo from properly
                   3597:          waiting for the child.
                   3598:
                   3599: 2007-01-31 10:02  millert
                   3600:
                   3601:        * pwutil.c: Don't declare pw_free() if we are not going to use it.
                   3602:
                   3603: 2007-01-31 10:00  millert
                   3604:
                   3605:        * env.c: Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD
                   3606:          and LDR_PRELOAD64.  The 64-bit version is not currently
                   3607:          supported.  Remove zero_env() prototype as it no longer exists.
                   3608:
                   3609: 2006-12-11 13:21  millert
                   3610:
                   3611:        * logging.c: Add "Auto-Submitted: auto-generated" line to sudo mail
                   3612:          for rfc 3834.
                   3613:
                   3614: 2006-09-29 10:53  millert
                   3615:
                   3616:        * auth/pam.c: If the user enters ^C at the password prompt, abort
                   3617:          instead of trying to authenticate with an empty password (which
                   3618:          causes an annoying delay).
                   3619:
                   3620: 2006-08-17 11:26  millert
                   3621:
                   3622:        * closefrom.c, config.h.in, configure, configure.in: Add fcntl
                   3623:          F_CLOSEM support to closefrom(); adapted from a diff by Darren
                   3624:          Tucker.
                   3625:
                   3626: 2006-08-17 11:25  millert
                   3627:
                   3628:        * pwutil.c: pw_free() is only used by sudo_freepwcache() so ifdef
                   3629:          it out too.
                   3630:
                   3631: 2006-08-04 11:34  millert
                   3632:
                   3633:        * config.sub, config.guess: Update to latest versions from
                   3634:          cvs.savannah.gnu.org
                   3635:
                   3636: 2006-07-31 13:51  millert
                   3637:
                   3638:        * pwutil.c, sudo_edit.c: Move password/group cache cleaning out of
                   3639:          sudo_end{pw,grp}ent() so we can close the passwd/group files
                   3640:          early.
                   3641:
                   3642: 2006-07-31 13:50  millert
                   3643:
                   3644:        * config.h.in, configure, configure.in, set_perms.c: Add seteuid()
                   3645:          flavor of set_perms() for systems without setreuid() or
                   3646:          setresuid() that have a working seteuid().  Tested on Darwin.
                   3647:
                   3648: 2006-07-30 15:56  millert
                   3649:
                   3650:        * mon_systrace.c: systrace_read() returns ssize_t
                   3651:
                   3652: 2006-07-30 15:53  millert
                   3653:
                   3654:        * configure, configure.in: Fix typo, -lldap vs. -ldap; from Tim
                   3655:          Knox.
                   3656:
                   3657: 2006-07-28 13:12  millert
                   3658:
                   3659:        * HISTORY: Fix typo; Matt Ackeret
                   3660:
                   3661: 2006-07-17 08:25  millert
                   3662:
                   3663:        * sudo.c: Print sudoers path in -V mode for root.
                   3664:
                   3665: 2006-06-15 14:44  millert
                   3666:
                   3667:        * ldap.c: Do a sub tree search instead of a base search (one level
                   3668:          in the tree only) for sudo right objects.  This allows system
                   3669:          administrators to categorize the rights in a tree to make them
                   3670:          easier to manage.
                   3671:
                   3672: 2005-12-28 13:52  millert
                   3673:
                   3674:        * sudo.pod: fix typo
                   3675:
                   3676: 2005-12-04 12:16  millert
                   3677:
                   3678:        * ldap.c: Convert GET_OPT and GET_OPTI to use just 2 args.  Add
                   3679:          timelimit and bind_timelimit support; adapted from gentoo.
                   3680:
                   3681: 2005-11-23 18:57  millert
                   3682:
                   3683:        * ldap.c: Support comments that start in the middle of a line
                   3684:
                   3685: 2005-11-23 18:56  millert
                   3686:
                   3687:        * configure.in, configure: Define LDAP_DEPRECATED until we start
                   3688:          using ldap_get_values_len()
                   3689:
                   3690: 2005-11-18 09:55  millert
                   3691:
                   3692:        * closefrom.c: Silence gcc -Wsign-compare; djm@openbsd.org
                   3693:
                   3694: 2005-11-17 20:39  millert
                   3695:
                   3696:        * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c: cleanup() now
                   3697:          takes an int as an arg so it can be used as a signal handler too.
                   3698:
                   3699: 2005-11-17 20:38  millert
                   3700:
                   3701:        * sudo.c: Make a copy of the shell field in the passwd struct for
                   3702:          NewArgv to avoid a use after free situation after sudo_endpwent()
                   3703:          is called.
                   3704:
                   3705: 2005-11-16 20:36  millert
                   3706:
                   3707:        * Makefile.in, mkstemp.c, config.h.in, configure, configure.in: Add
                   3708:          mkstemp() for those poor souls without it.
                   3709:
                   3710: 2005-11-15 09:25  millert
                   3711:
                   3712:        * env.c: Add PERL5DB to list of environment variables to remove.
                   3713:
                   3714: 2005-11-13 15:49  millert
                   3715:
                   3716:        * mon_systrace.c, mon_systrace.h: Instead of calling the check
                   3717:          function twice with a state cookie use separate check/log
                   3718:          functions.
                   3719:
                   3720:          Check more ioctl() calls for failure.
                   3721:
                   3722:          systrace_{read,write} now return the number of bytes read/written
                   3723:          or -1 on error.
                   3724:
                   3725: 2005-11-13 14:51  millert
                   3726:
                   3727:        * env.c: Add more environment variables to remove; from gentoo
                   3728:          linux Add some comments about what bad env variables go to what
                   3729:          (more to do)
                   3730:
                   3731: 2005-11-11 17:23  millert
                   3732:
                   3733:        * sudo.c, sudo_edit.c: Move sudo_end{gr,pw}ent() until just before
                   3734:          the exec since they free up our cached copy of the passwd
                   3735:          structs, including sudo_user and sudo_runas.  Fixes a
                   3736:          use-after-free bug.
                   3737:
                   3738: 2005-11-11 17:19  millert
                   3739:
                   3740:        * visudo.c: Close all fd's before executing editor.
                   3741:
                   3742: 2005-11-11 17:17  millert
                   3743:
                   3744:        * sudo.c: Enable malloc debugging on OpenBSD when SUDO_DEVEL is
                   3745:          set.
                   3746:
                   3747: 2005-11-11 11:22  millert
                   3748:
                   3749:        * check.c: Fix fd leak when lecture file option is enabled.  From
                   3750:          Jerry Brown
                   3751:
                   3752: 2005-11-07 11:02  millert
                   3753:
                   3754:        * env.c: Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
                   3755:          environment variables to remove.  From Charles Morris
                   3756:
                   3757: 2005-11-01 13:24  millert
                   3758:
                   3759:        * env.c: add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
                   3760:
                   3761: 2005-10-27 20:35  millert
                   3762:
                   3763:        * env.c: add PS4 and SHELLOPTS to initial_badenv_table for bash
                   3764:
                   3765: 2005-08-14 20:32  millert
                   3766:
                   3767:        * sudoers.pod: Fix typo; Toby Peterson
                   3768:
                   3769: 2005-08-02 09:57  millert
                   3770:
                   3771:        * tsgetgrpw.c: Make return buffers static so they don't get
                   3772:          clobbered
                   3773:
                   3774: 2005-07-27 21:14  millert
                   3775:
                   3776:        * auth/securid5.c: Fix securid5 authentication, was not checking
                   3777:          for ACM_OK.  Also add default cases for the two switch()es.
                   3778:          Problem noted by ccon at worldbank
                   3779:
                   3780: 2005-06-26 20:10  millert
                   3781:
                   3782:        * ldap.c: Remove ncat() in favor of just counting bytes and
                   3783:          pre-allocating what is needed.
                   3784:
                   3785: 2005-06-26 19:44  millert
                   3786:
                   3787:        * ldap.c: Fix up some comments Add missing fclose() for the
                   3788:          rootbinddn case
                   3789:
                   3790: 2005-06-26 19:38  millert
                   3791:
                   3792:        * ldap.c: align struct ldap_config
                   3793:
                   3794: 2005-06-26 19:37  millert
                   3795:
                   3796:        * ldap.c: use LINE_MAX for max conf file line size
                   3797:
                   3798: 2005-06-26 18:36  millert
                   3799:
                   3800:        * pathnames.h.in: add _PATH_LDAP_SECRET
                   3801:
                   3802: 2005-06-26 18:36  millert
                   3803:
                   3804:        * README.LDAP: Mention rootbinddn Give example ou=SUDOers container
                   3805:
                   3806: 2005-06-25 18:03  millert
                   3807:
                   3808:        * configure, INSTALL, configure.in, ldap.c: Support rootbinddn in
                   3809:          ldap.conf
                   3810:
                   3811: 2005-06-25 17:46  millert
                   3812:
                   3813:        * env.c, sudo.pod, sudoers.pod: Preserve DISPLAY environment
                   3814:          variable by default.
                   3815:
                   3816: 2005-06-25 16:39  millert
                   3817:
                   3818:        * acsite.m4, configure: set need_lib_prefix=no for all cases; this
                   3819:          is safe for LD_PRELOAD
                   3820:
                   3821: 2005-06-25 16:15  millert
                   3822:
                   3823:        * acsite.m4, configure: set need_version=no for all cases; this is
                   3824:          safe for LD_PRELOAD
                   3825:
                   3826: 2005-06-25 14:45  millert
                   3827:
                   3828:        * aclocal.m4: typo
                   3829:
                   3830: 2005-06-25 14:33  millert
                   3831:
                   3832:        * configure, configure.in: Add dragonfly
                   3833:
                   3834: 2005-06-25 14:29  millert
                   3835:
                   3836:        * auth/pam.c: Fix call to pam_end() when pam_open_session() fails.
                   3837:
                   3838: 2005-06-25 14:21  millert
                   3839:
                   3840:        * configure: regen
                   3841:
                   3842: 2005-06-25 14:20  millert
                   3843:
                   3844:        * acsite.m4: rebuild acsite.m4 from libtool 1.9f  libtool.m4
                   3845:          ltoptions.m4 ltsugar.m4 ltversion.m4
                   3846:
                   3847: 2005-06-25 14:08  millert
                   3848:
                   3849:        * config.guess, config.sub, ltmain.sh: merge in local changes:
                   3850:          config.guess:  o better openbsd support config.sub:  o hiuxmpp
                   3851:          support ltmain.sh  o remove requirement that libs must begin with
                   3852:          "lib"  o don't print a bunch of crap about library installs  o
                   3853:          don't run ldconfig
                   3854:
                   3855: 2005-06-25 14:05  millert
                   3856:
                   3857:        * config.guess, config.sub, ltmain.sh: libtool 1.9f
                   3858:
                   3859: 2005-06-25 14:04  millert
                   3860:
                   3861:        * configure.in: Update with autoupdate and make minor changes for
                   3862:          libtool 1.9f
                   3863:
                   3864: 2005-06-22 23:19  millert
                   3865:
                   3866:        * parse.c: don't call sudo_ldap_display_cmnd if ldap not setup
                   3867:
                   3868: 2005-06-22 23:04  millert
                   3869:
                   3870:        * check.c, compat.h, fileops.c, gettime.c, sudo_edit.c, visudo.c,
                   3871:          emul/timespec.h: Move declatation of struct timespec to its own
                   3872:          include files for systems without it since it needs time_t
                   3873:          defined.
                   3874:
                   3875: 2005-06-22 22:57  millert
                   3876:
                   3877:        * ldap.c: Don't set safe_cmnd for the "sudo ALL" case.
                   3878:
                   3879: 2005-05-27 01:59  millert
                   3880:
                   3881:        * auth/pam.c: Call pam_open_session() and pam_close_session() to
                   3882:          give pam_limits a chance to run.  Idea from Karel Zak.
                   3883:
                   3884: 2005-04-24 19:24  millert
                   3885:
                   3886:        * check.c, sudo.c: Add explicit cast from mode_t -> u_int in printf
                   3887:          to silence warnings on Solaris
                   3888:
                   3889: 2005-04-24 19:22  millert
                   3890:
                   3891:        * parse.c: include grp.h to silence a warning on Solaris
                   3892:
                   3893: 2005-04-23 15:10  millert
                   3894:
                   3895:        * parse.c: Fix printing of += and -= defaults.
                   3896:
                   3897: 2005-04-17 01:21  millert
                   3898:
                   3899:        * mon_systrace.c: Sanity check number of syscall args with argsize.
                   3900:          Not really needed but a little paranoia never hurts.
                   3901:
                   3902: 2005-04-17 01:18  millert
                   3903:
                   3904:        * mon_systrace.c, mon_systrace.h: Don't do pointer arithmetic on
                   3905:          void * Use int, not size_t/ssize_t for systrace lengths (since it
                   3906:          uses int)
                   3907:
                   3908: 2005-04-16 03:14  millert
                   3909:
                   3910:        * mon_systrace.c: Add some memsets for paranoia Fix namespace
                   3911:          collsion w/ error Check rval of decode_args() and update_env()
                   3912:          Remove improper setting of validated variable
                   3913:
                   3914: 2005-04-11 21:37  millert
                   3915:
                   3916:        * parse.c, sudo.c, sudo.h: In -l mode, only check local sudoers
                   3917:          file if def_ignore_sudoers is not set and call LDAP versions from
                   3918:          display_privs() and display_cmnd() instead of directly from
                   3919:          main().  Because of this we need to defer closing the ldap
                   3920:          connection until after -l processing has ocurred and we must pass
                   3921:          in the ldap pointer to display_privs() and display_cmnd().
                   3922:
                   3923: 2005-04-11 21:33  millert
                   3924:
                   3925:        * ldap.c: Reorganize LDAP code to better match normal sudoers
                   3926:          parsing.  Instead of storing strings for later printing in -l
                   3927:          mode we do another query since the authenticating user and the
                   3928:          user being listed may not be the same (the new -U flag).  Also
                   3929:          add support for "sudo -l command".
                   3930:
                   3931:          There is still a fair bit if duplicated code that can probably be
                   3932:          refactored.
                   3933:
                   3934: 2005-04-11 00:37  millert
                   3935:
                   3936:        * ldap.c: Replace pass variable with do_netgr for better
                   3937:          readability.
                   3938:
                   3939: 2005-04-10 23:49  millert
                   3940:
                   3941:        * ldap.c: use DPRINTF macro
                   3942:
                   3943: 2005-04-10 23:18  millert
                   3944:
                   3945:        * ldap.c: estrdup, not strdup
                   3946:
                   3947: 2005-04-10 17:44  millert
                   3948:
                   3949:        * parse.c: Add macro to test if the tag changed to improve
                   3950:          readability.
                   3951:
                   3952: 2005-04-10 17:40  millert
                   3953:
                   3954:        * parse.c: Avoid printing defaults header if there are no defaults
                   3955:          to print...
                   3956:
                   3957: 2005-04-10 15:29  millert
                   3958:
                   3959:        * glob.c: Fix a warning on systems without strlcpy().
                   3960:
                   3961: 2005-04-10 13:32  millert
                   3962:
                   3963:        * pwutil.c: Use macros where possible for sudo_grdup() like
                   3964:          sudo_pwdup().
                   3965:
                   3966: 2005-04-08 17:04  millert
                   3967:
                   3968:        * utimes.c: It is possible for tv_usec to hold >= 1000000 usecs so
                   3969:          add in tv_usec / 1000000.
                   3970:
                   3971: 2005-03-29 23:38  millert
                   3972:
                   3973:        * auth/kerb5.c: The component in krb5_principal_get_comp_string()
                   3974:          should be 1, not 0 for Heimdal.  From Alex Plotnick.
                   3975:
                   3976: 2005-03-29 09:29  millert
                   3977:
                   3978:        * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c,
                   3979:          gram.y, interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c,
                   3980:          pwutil.c, redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
                   3981:          Add efree() for consistency with emalloc() et al.  Allows us to
                   3982:          rely on C89 behavior (free(NULL) is valid) even on K&R.
                   3983:
                   3984: 2005-03-28 22:33  millert
                   3985:
                   3986:        * parse.c, sudo.c: Move initgroups() for -U option into
                   3987:          display_privs() so group matching in sudoers works correctly.
                   3988:
                   3989: 2005-03-26 21:34  millert
                   3990:
                   3991:        * ldap.c: Removed duplicate call to ldap_unbind_s introduced along
                   3992:          with sudo_ldap_close.
                   3993:
                   3994: 2005-03-26 20:01  millert
                   3995:
                   3996:        * parse.c: Add missing space in Defaults printing
                   3997:
                   3998: 2005-03-25 12:36  millert
                   3999:
                   4000:        * pwutil.c: Sync sudo_pwdup with OpenBSD changes: use macros for
                   4001:          size computaton and string copies.
                   4002:
                   4003: 2005-03-18 22:08  millert
                   4004:
                   4005:        * pwutil.c: Zero old pw_passwd before replacing with version from
                   4006:          shadow file.
                   4007:
                   4008: 2005-03-18 22:07  millert
                   4009:
                   4010:        * configure, configure.in: Only attempt shadow password detection
                   4011:          if PAM is not being used Add shadow_* variables to make shadow
                   4012:          password detection more generic.
                   4013:
                   4014: 2005-03-18 21:46  millert
                   4015:
                   4016:        * configure.in: Use OSDEFS for os-specific -D_FOO_BAR stuff rather
                   4017:          than CPPFLAGS
                   4018:
                   4019: 2005-03-12 19:27  millert
                   4020:
                   4021:        * sudoers.pod: use a non-breaking space to avoid a double space
                   4022:          after e.g.
                   4023:
                   4024: 2005-03-12 19:26  millert
                   4025:
                   4026:        * sudo.pod: commna, not colon after e.g.
                   4027:
                   4028: 2005-03-12 18:43  millert
                   4029:
                   4030:        * sudo_noexec.c: Add __ variants of the exec functions.  GNU libc
                   4031:          at least uses __execve() internally.
                   4032:
                   4033: 2005-03-12 12:29  millert
                   4034:
                   4035:        * indent.pro: Match reality a bit more.
                   4036:
                   4037: 2005-03-12 12:27  millert
                   4038:
                   4039:        * pwutil.c: Missed piece from rev. 1.6, fix sudo_getpwnam() too.
                   4040:
                   4041: 2005-03-11 23:42  millert
                   4042:
                   4043:        * pwutil.c: Store shadow password after making a local copy of
                   4044:          struct passwd in case normal and shadow routines use the same
                   4045:          internal buffer in libc.
                   4046:
                   4047: 2005-03-10 20:57  millert
                   4048:
                   4049:        * alloc.c, logging.c: Make varargs usage consistent with the rest
                   4050:          of the code.
                   4051:
                   4052: 2005-03-10 10:09  millert
                   4053:
                   4054:        * sudo_noexec.c: Wrap more of the exec family since on Linux the
                   4055:          others do not appear to go through the normal execve() path.
                   4056:
                   4057: 2005-03-10 09:57  millert
                   4058:
                   4059:        * visudo.c: make print_unused static like proto says
                   4060:
                   4061: 2005-03-10 09:55  millert
                   4062:
                   4063:        * glob.c: silence a warning on K&R systems
                   4064:
                   4065: 2005-03-10 09:51  millert
                   4066:
                   4067:        * parse.c, alias.c, error.c: make this build in K&R land
                   4068:
                   4069: 2005-03-07 22:21  millert
                   4070:
                   4071:        * toke.c: regen
                   4072:
                   4073: 2005-03-05 22:46  millert
                   4074:
                   4075:        * ldap.c: return(foo) not return foo optimize _atobool() slightly
                   4076:
                   4077: 2005-03-05 22:40  millert
                   4078:
                   4079:        * ldap.c: Use TRUE/FALSE
                   4080:
                   4081: 2005-03-05 22:31  millert
                   4082:
                   4083:        * ldap.c: Reformat to match the rest of sudo's code.
                   4084:
                   4085: 2005-03-05 19:33  millert
                   4086:
                   4087:        * sudo.pod: I am the primary author
                   4088:
                   4089: 2005-02-22 22:28  millert
                   4090:
                   4091:        * README, RUNSON, Makefile.in: The RUNSON file is toast--it
                   4092:          confused too many people and really isn't needed in a
                   4093:          configure-oriented world.
                   4094:
                   4095: 2005-02-22 22:28  millert
                   4096:
                   4097:        * INSTALL: alternate -> alternative
                   4098:
                   4099: 2005-02-22 22:26  millert
                   4100:
                   4101:        * tgetpass.c: Use TCSADRAIN instead of TCSAFLUSH since some OSes
                   4102:          have issues with TCSAFLUSH.
                   4103:
                   4104: 2005-02-22 22:16  millert
                   4105:
                   4106:        * toke.l: Allow leading blanks before Defaults and Foo_Alias
                   4107:          definitions
                   4108:
                   4109: 2005-02-22 22:14  millert
                   4110:
                   4111:        * Makefile.in: fix rules to build toke.o and gram.o in devel mode
                   4112:
                   4113: 2005-02-20 13:00  millert
                   4114:
                   4115:        * sudoers.pod: env_keep overrides set_logname
                   4116:
                   4117: 2005-02-20 12:57  millert
                   4118:
                   4119:        * env.c: Fix disabling set_logname and make env_keep override
                   4120:          set_logname.
                   4121:
                   4122: 2005-02-20 12:28  millert
                   4123:
                   4124:        * compat.h, config.h.in, configure, configure.in: No longer need
                   4125:          memmove()
                   4126:
                   4127: 2005-02-20 11:48  millert
                   4128:
                   4129:        * env.c, sudo.c: Just clean the environment once.  This assumes
                   4130:          that any further setenv/putenv will be able to handle the fact
                   4131:          that we replaced environ with our own malloc'd copy but all the
                   4132:          implementations I've checked do.
                   4133:
                   4134: 2005-02-15 23:16  millert
                   4135:
                   4136:        * env.c, sudo.c: In -i mode, base the value of insert_env()'s
                   4137:          dupcheck flag on DID_FOO flags.  Move checks for $HOME resetting
                   4138:          into rebuild_env()
                   4139:
                   4140: 2005-02-13 00:33  millert
                   4141:
                   4142:        * env.c, sudo.c: Move setting of user_path, user_shell, user_prompt
                   4143:          and prev_user into init_vars() since user_shell at least is
                   4144:          needed there.
                   4145:
                   4146: 2005-02-12 18:51  millert
                   4147:
                   4148:        * Makefile.in: fix devel builds
                   4149:
                   4150: 2005-02-12 18:46  millert
                   4151:
                   4152:        * check.c, sudo.c: Fix some printf format mismatches on error.
                   4153:
                   4154: 2005-02-12 18:33  millert
                   4155:
                   4156:        * configure, gram.c, toke.c: regen
                   4157:
                   4158: 2005-02-12 17:56  millert
                   4159:
                   4160:        * LICENSE, Makefile.binary.in, Makefile.in, aclocal.m4, alias.c,
                   4161:          alloc.c, check.c, closefrom.c, compat.h, configure.in,
                   4162:          defaults.c, defaults.h, env.c, error.c, fileops.c, find_path.c,
                   4163:          getprogname.c, getspwuid.c, gettime.c, goodpath.c, gram.y,
                   4164:          interfaces.c, interfaces.h, ldap.c, logging.c, logging.h,
                   4165:          match.c, mon_systrace.c, parse.c, redblack.c, redblack.h,
                   4166:          set_perms.c, sigaction.c, snprintf.c, strcasecmp.c, strerror.c,
                   4167:          strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.pod, sudo_edit.c,
                   4168:          sudo_noexec.c, sudoers.pod, testsudoers.c, tgetpass.c, toke.l,
                   4169:          utimes.c, version.h, visudo.c, visudo.pod, zero_bytes.c,
                   4170:          auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
                   4171:          auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
                   4172:          auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   4173:          auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
                   4174:          emul/utime.h: Update copyright years.
                   4175:
                   4176: 2005-02-12 16:46  millert
                   4177:
                   4178:        * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
                   4179:          version 1.7
                   4180:
                   4181: 2005-02-12 16:16  millert
                   4182:
                   4183:        * WHATSNEW: What's new in sudo 1.7, based on the 1.7 CHANGES
                   4184:          entries.
                   4185:
                   4186: 2005-02-11 18:06  millert
                   4187:
                   4188:        * compat.h, logging.h, sudo.h: Add __printflike and use it with gcc
                   4189:          to warn about printf-like format mismatches
                   4190:
                   4191: 2005-02-10 00:16  millert
                   4192:
                   4193:        * CHANGES, ChangeLog: Replaced CHANGES file with ChangeLog
                   4194:          generated from cvs logs
                   4195:
                   4196: 2005-02-10 00:03  millert
                   4197:
                   4198:        * set_perms.c: Use warning/error instead of perror/fatal.
                   4199:
                   4200: 2005-02-09 23:13  millert
                   4201:
                   4202:        * config.guess: Update OpenBSD section
                   4203:
                   4204: 2005-02-09 23:10  millert
                   4205:
                   4206:        * UPGRADE: Add upgrading noted for 1.7
                   4207:
                   4208: 2005-02-09 23:00  millert
                   4209:
                   4210:        * env.c, sudo.c, sudoers.pod: Instead of zeroing out the
                   4211:          environment, just prune out entries based on the env_delete and
                   4212:          env_check lists.  Base building up the new environment on the
                   4213:          current environment and the variables we removed initially.
                   4214:
                   4215: 2005-02-09 22:23  millert
                   4216:
                   4217:        * configure, configure.in, sudo.c, config.h.in: Set locale to "C"
                   4218:          if locales are supported, just to be safe.
                   4219:
                   4220: 2005-02-09 22:19  millert
                   4221:
                   4222:        * toke.c, toke.l: Cast argument to ctype functions to unsigned
                   4223:          char.
                   4224:
                   4225: 2005-02-07 22:56  millert
                   4226:
                   4227:        * env.c: correct value for DID_USER
                   4228:
                   4229: 2005-02-07 22:55  millert
                   4230:
                   4231:        * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c: #include
                   4232:          <compat.h> not "compat.h"
                   4233:
                   4234: 2005-02-07 22:51  millert
                   4235:
                   4236:        * defaults.c: Reset the environment by default.
                   4237:
                   4238: 2005-02-07 22:50  millert
                   4239:
                   4240:        * sudo.c: Alloc an extra slot in NewArgv.  Removes the need to
                   4241:          malloc an new vector if execve() fails.
                   4242:
                   4243: 2005-02-06 23:16  millert
                   4244:
                   4245:        * INSTALL, config.h.in, configure, configure.in, sudo.c: Use
                   4246:          execve(2) and wrap the command in sh if we get ENOEXEC.
                   4247:
                   4248: 2005-02-05 23:01  millert
                   4249:
                   4250:        * sudo_noexec.c: Only include time.h on systems that lack struct
                   4251:          timespec which gets defind in compat.h (using time_t).
                   4252:
                   4253: 2005-02-05 22:59  millert
                   4254:
                   4255:        * sudo_noexec.c: Include time.h for time_t in compat.h for systems
                   4256:          w/o struct timespec.
                   4257:
                   4258: 2005-02-05 22:56  millert
                   4259:
                   4260:        * configure, compat.h, config.h.in, configure.in: use bcopy on
                   4261:          systems w/o memmove
                   4262:
                   4263: 2005-02-05 22:31  millert
                   4264:
                   4265:        * compat.h: __attribute__((__unused__)) doesn't work in gcc 2.7.2.1
                   4266:          so limit its use to gcc >= 2.8.
                   4267:
                   4268: 2005-02-05 21:21  millert
                   4269:
                   4270:        * Makefile.in: Add explicit rule to build sudo_noexec.lo
                   4271:
                   4272: 2005-02-05 17:56  millert
                   4273:
                   4274:        * INSTALL.configure, Makefile.in: No longer depend on VPATH;
                   4275:          pointed out a bunch of missed dependencies.
                   4276:
                   4277: 2005-02-05 13:18  millert
                   4278:
                   4279:        * TROUBLESHOOTING: Help for PAM when account section is missing
                   4280:
                   4281: 2005-02-05 13:01  millert
                   4282:
                   4283:        * auth/pam.c: Give user a clue when there is a missing "account"
                   4284:          section in the PAM config.
                   4285:
                   4286: 2005-02-05 10:22  millert
                   4287:
                   4288:        * auth/pam.c: Better error handling.
                   4289:
                   4290: 2005-02-05 09:57  millert
                   4291:
                   4292:        * configure, config.h.in, configure.in: Move _FOO_SOURCE to
                   4293:          CPPFLAGS so it takes effect as early as possible.  Silences a
                   4294:          warning about isblank() on linux.
                   4295:
                   4296: 2005-02-04 21:49  millert
                   4297:
                   4298:        * auth/pam.c: Fix typo (missing comma) that caused an incorrect
                   4299:          number of args to be passed to log_error().
                   4300:
                   4301: 2005-01-31 23:03  millert
                   4302:
                   4303:        * pwutil.c: Don't try to destroy a tree we didn't create.
                   4304:
                   4305: 2005-01-27 10:42  millert
                   4306:
                   4307:        * alias.c, alloc.c, check.c, closefrom.c, compat.h, defaults.c,
                   4308:          env.c, error.c, fileops.c, find_path.c, fnmatch.c, getcwd.c,
                   4309:          getprogname.c, getspwuid.c, gettime.c, goodpath.c, gram.c,
                   4310:          gram.y, interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c,
                   4311:          parse.c, pwutil.c, set_perms.c, sigaction.c, snprintf.c,
                   4312:          strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
                   4313:          sudo_edit.c, sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c,
                   4314:          toke.l, utimes.c, visudo.c, zero_bytes.c, auth/afs.c,
                   4315:          auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
                   4316:          auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
                   4317:          auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   4318:          auth/securid5.c, auth/sia.c, auth/sudo_auth.c: Add __unused to
                   4319:          rcsids
                   4320:
                   4321: 2005-01-21 10:34  millert
                   4322:
                   4323:        * configure, configure.in: Fix error message when mixing invalid
                   4324:          auth types
                   4325:
                   4326: 2005-01-21 10:32  millert
                   4327:
                   4328:        * INSTALL: PAM, AIX auth, BSD auth and login_cap are now on by
                   4329:          default if the OS supports them.
                   4330:
                   4331: 2005-01-21 10:29  millert
                   4332:
                   4333:        * config.h.in, auth/sudo_auth.h: s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
                   4334:
                   4335: 2005-01-21 10:29  millert
                   4336:
                   4337:        * configure.in: Better checking for conflicting authentication
                   4338:          methods Display the authentication methods used at the end of
                   4339:          configure Rename --with-authenticate -> --with-aixauth Use
                   4340:          --with-aixauth, --with-bsdauth, --with-pam, --with-logincap by
                   4341:          default on systems that support them unless disabled.  Add
                   4342:          OSMAJOR variable that replaces old OSREV; now OSREV has full
                   4343:          version number
                   4344:
                   4345: 2005-01-17 19:40  millert
                   4346:
                   4347:        * def_data.c, def_data.in, sudo.c, sudoers.pod: s/-O/-C/
                   4348:
                   4349: 2005-01-14 13:35  millert
                   4350:
                   4351:        * configure.in: Replace:     test -n "$FOO" || FOO="bar"
                   4352:
                   4353:          With:     : ${FOO='bar'}
                   4354:
                   4355: 2005-01-09 18:58  millert
                   4356:
                   4357:        * pwutil.c, testsudoers.c, tsgetgrpw.c: Use function pointers to
                   4358:          only call private passwd/group routines when using a nonstandard
                   4359:          passwd/group file.
                   4360:
                   4361: 2005-01-06 10:34  millert
                   4362:
                   4363:        * CHANGES: sync
                   4364:
                   4365: 2005-01-05 22:16  millert
                   4366:
                   4367:        * tsgetgrpw.c: Can't use strtok() since it doesn't handle empty
                   4368:          fields so add getpwent()/getgrent() functions and call those.
                   4369:
                   4370: 2005-01-05 17:29  millert
                   4371:
                   4372:        * Makefile.in: Fix dummied out toke.c and gram.c dependencies.
                   4373:
                   4374: 2005-01-05 17:18  millert
                   4375:
                   4376:        * Makefile.in: Rename PARSESRCS -> GENERATED since it is only used
                   4377:          in the clean target Add devdir variable and use it to specify the
                   4378:          path to parser sources
                   4379:
                   4380: 2005-01-05 17:17  millert
                   4381:
                   4382:        * configure: regen
                   4383:
                   4384: 2005-01-05 17:17  millert
                   4385:
                   4386:        * configure.in: Add a devdir variables that defaults to $(srcdir)
                   4387:          and is set to . if --devel was specified.  Allows for proper
                   4388:          dependecies building the parser.
                   4389:
                   4390: 2005-01-05 14:50  millert
                   4391:
                   4392:        * testsudoers.c: Add support for custom passwd/group files.
                   4393:
                   4394: 2005-01-05 14:47  millert
                   4395:
                   4396:        * Makefile.in: Build private copy of pwutil.o for testsudoers with
                   4397:          MYPW defined so it uses our own passwd/group routines.
                   4398:
                   4399: 2005-01-05 14:46  millert
                   4400:
                   4401:        * visudo.c: Remove sudo_*{pw,gr}* stubs and add
                   4402:          sudo_setspent/sudo_endspent stubs instead.  We can now just use
                   4403:          the caching sudo_*{pw,gr}* functions in pwutil.c Add comment
                   4404:          about wanting to call sudo_endpwent/sudo_endgrent in cleanup()
                   4405:
                   4406: 2005-01-05 14:44  millert
                   4407:
                   4408:        * tsgetgrpw.c: Remove caching; we will just use what is in pwutil.c
                   4409:          Use global buffers for passwd/group structs Rename functions from
                   4410:          sudo_* to my_*
                   4411:
                   4412: 2005-01-05 14:43  millert
                   4413:
                   4414:        * logging.c, sudo.c: g/c pwcache_init/pwcache_destroy
                   4415:
                   4416: 2005-01-05 14:42  millert
                   4417:
                   4418:        * sudo.h: Undo last commit and add sudo_setspent and sudo_endspent
                   4419:          instead.
                   4420:
                   4421: 2005-01-05 14:41  millert
                   4422:
                   4423:        * getspwuid.c, pwutil.c: Move all but the shadow stuff from
                   4424:          getspwuid.c to pwutil.c and pwcache_get and pwcache_put as they
                   4425:          are no longer needed.  Also add preprocessor magic to use private
                   4426:          versions of the passwd and group routines if MYPW is defined (for
                   4427:          use by testsudoers).
                   4428:
                   4429: 2005-01-04 22:40  millert
                   4430:
                   4431:        * tsgetgrpw.c: zero out struct passwd/group before filling it in so
                   4432:          if there are fields we don't handle they end up as 0.
                   4433:
                   4434: 2005-01-04 20:10  millert
                   4435:
                   4436:        * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c: Adapt to
                   4437:          pwutil.c
                   4438:
                   4439: 2005-01-04 20:09  millert
                   4440:
                   4441:        * Makefile.in: Add tsgetgrpw.c and pwutil.c Rename the *OBJ
                   4442:          variables for better readability.
                   4443:
                   4444: 2005-01-04 20:08  millert
                   4445:
                   4446:        * tsgetgrpw.c: Passwd and group lookup routines for testsudoers
                   4447:          that support alternate passwd and group files.
                   4448:
                   4449: 2005-01-04 20:07  millert
                   4450:
                   4451:        * getspwuid.c, pwutil.c: Split off pw/gr cache and dup code into
                   4452:          its own file.  This allows visudo and testsudoers to use the
                   4453:          pw/gr cache too.
                   4454:
                   4455: 2005-01-01 19:31  millert
                   4456:
                   4457:        * parse.c: Print Defaults info in "sudo -l" output and wrap lines
                   4458:          based on the terminal width.
                   4459:
                   4460: 2005-01-01 12:41  millert
                   4461:
                   4462:        * match.c, visudo.c, testsudoers.c: Only check group vector in
                   4463:          usergr_matches() if we are matching the invoking or list user.
                   4464:          Always check the group members, even if there was a group vector.
                   4465:
                   4466: 2004-12-17 17:24  millert
                   4467:
                   4468:        * LICENSE, Makefile.in, fnmatch.3: No longer bundle fnmatch.3
                   4469:
                   4470: 2004-12-17 13:12  millert
                   4471:
                   4472:        * CHANGES, TODO: checkpoint
                   4473:
                   4474: 2004-12-16 14:20  millert
                   4475:
                   4476:        * sudo.c: sort usage
                   4477:
                   4478: 2004-12-16 14:20  millert
                   4479:
                   4480:        * sudo.pod: Sort command line options
                   4481:
                   4482: 2004-12-16 13:33  millert
                   4483:
                   4484:        * def_data.c, def_data.h, def_data.in, defaults.c, logging.c,
                   4485:          sudo.c, sudo.pod, sudoers.pod: Add closefrom sudoers option to
                   4486:          start closing at a point other than 3.  Add closefrom_override
                   4487:          sudoers option and -C sudo flag to allow the user to specify a
                   4488:          different closefrom starting point.
                   4489:
                   4490: 2004-12-16 13:25  millert
                   4491:
                   4492:        * pathnames.h.in: Add _PATH_DEVNULL for those without it.
                   4493:
                   4494: 2004-12-15 22:55  millert
                   4495:
                   4496:        * LICENSE: no more UCB strcasecmp
                   4497:
                   4498: 2004-12-15 22:54  millert
                   4499:
                   4500:        * strcasecmp.c: replace BSD licensed one with version derived from
                   4501:          pdksh
                   4502:
                   4503: 2004-12-09 21:07  millert
                   4504:
                   4505:        * sudo.c: Fix last commit.
                   4506:
                   4507: 2004-12-09 19:26  millert
                   4508:
                   4509:        * sudo.c: Make sure stdin, stdout and stderr are open and dup them
                   4510:          to /dev/null if not.
                   4511:
                   4512: 2004-12-03 13:57  millert
                   4513:
                   4514:        * ldap.c, mon_systrace.c, sudo.c, sudo.h: add sudo_ldap_close
                   4515:
                   4516: 2004-12-03 13:52  millert
                   4517:
                   4518:        * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
                   4519:          Use TIME_WITH_SYS_TIME
                   4520:
                   4521: 2004-12-03 13:48  millert
                   4522:
                   4523:        * configure, configure.in, config.h.in: Add TIME_WITH_SYS_TIME_H
                   4524:
                   4525: 2004-12-02 11:18  millert
                   4526:
                   4527:        * env.c: Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE
                   4528:          being set unconditionally on darwin.  From Toby Peterson.
                   4529:
                   4530: 2004-12-02 10:40  millert
                   4531:
                   4532:        * getspwuid.c: Check rbinsert() return value.  In the case of faked
                   4533:          up entries there is usually a negative response cached that we
                   4534:          need to overwrite.
                   4535:
                   4536:          In pwfree() don't try to zero out a NULL pw_passwd pointer.
                   4537:
                   4538: 2004-12-02 09:53  millert
                   4539:
                   4540:        * mon_systrace.c: Use the double fork trick to avoid the monitor
                   4541:          process being waited for by the main program run through sudo.
                   4542:
                   4543: 2004-11-29 12:52  millert
                   4544:
                   4545:        * sudo.c: Call initgroups() in -U mode so group matches work
                   4546:          normally.
                   4547:
                   4548: 2004-11-29 12:34  millert
                   4549:
                   4550:        * def_data.h, mkdefaults: Don't print a trailing comma for the last
                   4551:          entry in enum def_tupple
                   4552:
                   4553: 2004-11-28 16:08  millert
                   4554:
                   4555:        * sudoers.cat, sudoers.man.in, sudoers.pod: Mention values when
                   4556:          lecture, listpw and verifypw are used in boolean context.
                   4557:
                   4558: 2004-11-28 16:05  millert
                   4559:
                   4560:        * def_data.c, def_data.in: verifypw when used in a boolean TRUE
                   4561:          context should be "all", not "any".
                   4562:
                   4563: 2004-11-26 14:21  millert
                   4564:
                   4565:        * def_data.in, defaults.c: Allow tuples that can be used as
                   4566:          booleans to be used as boolean TRUE.  In this case the 2nd
                   4567:          possible value of the tuple is used for TRUE.
                   4568:
                   4569: 2004-11-25 12:23  millert
                   4570:
                   4571:        * configure, configure.in: Correct the test for 2-parameter
                   4572:          timespecsub
                   4573:
                   4574: 2004-11-25 12:20  millert
                   4575:
                   4576:        * sudo.h: Add strub struct definitions for passwd, timeval and
                   4577:          timespec
                   4578:
                   4579: 2004-11-25 12:09  millert
                   4580:
                   4581:        * configure, configure.in, config.h.in, sudo_edit.c, visudo.c: Add
                   4582:          check for 2-argument form of timespecsub (FreeBSD and BSD/OS) and
                   4583:          fix a typo in the gettimeofday check.
                   4584:
                   4585: 2004-11-24 16:44  millert
                   4586:
                   4587:        * match.c, testsudoers.c: Deal with user_stat being NULL as it is
                   4588:          for visudo and testsudoers.
                   4589:
                   4590: 2004-11-24 16:31  millert
                   4591:
                   4592:        * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod: Add -U
                   4593:          option to use in conjunction with -l instead of -u.  Add support
                   4594:          for "sudo -l command" to test a specific command.
                   4595:
                   4596: 2004-11-24 16:28  millert
                   4597:
                   4598:        * gram.c, gram.y, sudo.c: Set safe_cmnd after sudoers_lookup() if
                   4599:          it has not been set.  Previously it was set by sudo "ALL" in the
                   4600:          parser but at that point the fully-qualified pathname has not yet
                   4601:          been found.
                   4602:
                   4603: 2004-11-23 18:18  millert
                   4604:
                   4605:        * parse.c, testsudoers.c: Correctly handle multiple privileges per
                   4606:          userspec and runas inheritence.
                   4607:
                   4608: 2004-11-21 14:09  millert
                   4609:
                   4610:        * defaults.c: Zero out sd_un for each entry in sudo_defs_table in
                   4611:          init_defaults.
                   4612:
                   4613: 2004-11-19 18:04  millert
                   4614:
                   4615:        * toke.c, toke.l: make per-command defaults work with sudoedit
                   4616:
                   4617: 2004-11-19 18:00  millert
                   4618:
                   4619:        * ldap.c, parse.c, sudo.c, sudo.h: Remove the FLAG_NOPASS,
                   4620:          FLAG_NOEXEC and FLAG_MONITOR flags.  Instead, we just set the
                   4621:          approriate defaults variable.
                   4622:
                   4623: 2004-11-19 17:09  millert
                   4624:
                   4625:        * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
                   4626:          Document per-command Defaults.
                   4627:
                   4628: 2004-11-19 16:35  millert
                   4629:
                   4630:        * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
                   4631:          sudo.c, testsudoers.c, toke.c, toke.l, visudo.c: Add support for
                   4632:          command-specific Defaults entries.  E.g.
                   4633:          Defaults!/usr/bin/vi noexec
                   4634:
                   4635: 2004-11-19 15:03  millert
                   4636:
                   4637:        * defaults.c, match.c, parse.c, parse.h, testsudoers.c: Change an
                   4638:          occurence of user_matches() -> runas_matches() missed previously
                   4639:          runas_matches(), host_matches() and cmnd_matches() only really
                   4640:          need to pass in a list of members.  user_matches() still needs to
                   4641:          pass in a passwd struct because of "sudo -l"
                   4642:
                   4643: 2004-11-19 14:46  millert
                   4644:
                   4645:        * parse.c: Check def_authenticate, def_noexec and def_monitor when
                   4646:          setting return flags.  XXX May be better to just set the defaults
                   4647:          directly and get rid of those flags.
                   4648:
                   4649: 2004-11-19 13:39  millert
                   4650:
                   4651:        * alias.c, alloc.c, check.c, closefrom.c, defaults.c, env.c,
                   4652:          error.c, fileops.c, find_path.c, fnmatch.c, getcwd.c,
                   4653:          getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
                   4654:          gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
                   4655:          mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
                   4656:          strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
                   4657:          sudo_edit.c, sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c,
                   4658:          toke.l, utimes.c, visudo.c, zero_bytes.c, auth/afs.c,
                   4659:          auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
                   4660:          auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
                   4661:          auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   4662:          auth/securid5.c, auth/sia.c, auth/sudo_auth.c: Use: #include
                   4663:          <config.h> Not: #include "config.h" That way we get the correct
                   4664:          config.h when build dir != src dir
                   4665:
                   4666: 2004-11-19 13:30  millert
                   4667:
                   4668:        * Makefile.in: Back out part of rev 1.263; fix -I order
                   4669:
                   4670: 2004-11-19 13:12  millert
                   4671:
                   4672:        * toke.c, toke.l: More robust parsing if #include; could be much
                   4673:          better still.
                   4674:
                   4675: 2004-11-19 12:55  millert
                   4676:
                   4677:        * sudo_edit.c, visudo.c: Make arg splitting in visudo and sudoedit
                   4678:          consistent.
                   4679:
                   4680: 2004-11-19 12:35  millert
                   4681:
                   4682:        * Makefile.in, alias.c, gram.c, gram.y, parse.h: Split alias
                   4683:          routines out into their own file.
                   4684:
                   4685: 2004-11-19 12:32  millert
                   4686:
                   4687:        * error.h: __attribute__ is already defined in compat.h
                   4688:
                   4689: 2004-11-19 12:30  millert
                   4690:
                   4691:        * visudo.c: quit() should not be __noreturn__ as it is non-void on
                   4692:          some platforms.
                   4693:
                   4694: 2004-11-19 12:24  millert
                   4695:
                   4696:        * auth/: fwtk.c, rfc1938.c, securid.c, securid5.c: Add local
                   4697:          error/warning functions like err/warn but that call an additional
                   4698:          cleanup routine in the error case.  This means we no longer need
                   4699:          to compile a special version of alloc.o for visudo.
                   4700:
                   4701: 2004-11-19 11:54  millert
                   4702:
                   4703:        * parse.h: Clarify comments about the data structures
                   4704:
                   4705: 2004-11-18 15:28  millert
                   4706:
                   4707:        * visudo.c: Add support for VISUAL and EDITOR containing command
                   4708:          line args.  If env_editor is not set any args in VISUAL and
                   4709:          EDITOR are ignored.  Arguments are also now supported in
                   4710:          def_editor.
                   4711:
                   4712: 2004-11-17 14:25  millert
                   4713:
                   4714:        * parse.h: alias_matches() is no more
                   4715:
                   4716: 2004-11-17 14:09  millert
                   4717:
                   4718:        * CHANGES, TODO: sync
                   4719:
                   4720: 2004-11-17 13:19  millert
                   4721:
                   4722:        * Makefile.in: When regenerating the parser, don't replace gram.h
                   4723:          unless it has changed.
                   4724:
                   4725: 2004-11-17 11:56  millert
                   4726:
                   4727:        * Makefile.in: remove Makefile.binary for distclean
                   4728:
                   4729: 2004-11-17 11:18  millert
                   4730:
                   4731:        * env.c: Preserve KRB5CCNAME in zero_env() and add a paranoia check
                   4732:          to make sure we can't overflow new_env.
                   4733:
                   4734: 2004-11-17 10:33  millert
                   4735:
                   4736:        * sudo_edit.c: paranoia when stripping trailing slashes from
                   4737:          tempdir.
                   4738:
                   4739: 2004-11-16 19:00  millert
                   4740:
                   4741:        * sudo.c: Set user_ngroups to 0 if getgroups() returns an error.
                   4742:
                   4743: 2004-11-16 18:59  millert
                   4744:
                   4745:        * configure, configure.in, config.h.in, sudo.c: Add configure check
                   4746:          for getgroups()
                   4747:
                   4748: 2004-11-16 18:55  millert
                   4749:
                   4750:        * ldap.c: Use supplementary group vector in struct sudo_user.
                   4751:
                   4752: 2004-11-16 18:40  millert
                   4753:
                   4754:        * match.c: Only do string comparisons on the group members if there
                   4755:          is no supplemental group list.
                   4756:
                   4757: 2004-11-16 16:10  millert
                   4758:
                   4759:        * CHANGES, TODO: sync
                   4760:
                   4761: 2004-11-16 15:54  millert
                   4762:
                   4763:        * sudo_edit.c: On Digital UNIX _PATH_VAR_TMP doesn't end with a
                   4764:          trailing slash so chop off any trailing slashes we see and add an
                   4765:          explicit one.
                   4766:
                   4767: 2004-11-16 12:02  millert
                   4768:
                   4769:        * match.c: remove bogus XXX comment
                   4770:
                   4771: 2004-11-16 11:10  millert
                   4772:
                   4773:        * match.c: Get rid of alias_matches and correctly fall through to
                   4774:          the non-alias cases when there is no alias with the specified
                   4775:          name.
                   4776:
                   4777: 2004-11-16 10:47  millert
                   4778:
                   4779:        * getspwuid.c: Cache non-existent passwd/group entries too.
                   4780:
                   4781: 2004-11-16 10:45  millert
                   4782:
                   4783:        * gram.c: regen
                   4784:
                   4785: 2004-11-15 23:32  millert
                   4786:
                   4787:        * getspwuid.c: fix typo
                   4788:
                   4789: 2004-11-15 23:24  millert
                   4790:
                   4791:        * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
                   4792:          mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
                   4793:          Implement group caching and use the passwd and group caches
                   4794:          throughout.
                   4795:
                   4796: 2004-11-15 14:43  millert
                   4797:
                   4798:        * match.c: Properly negate the return value of alias_matches() when
                   4799:          appropriate.
                   4800:
                   4801: 2004-11-15 14:38  millert
                   4802:
                   4803:        * match.c: Make hostname_matches() return TRUE for a match, else
                   4804:          FALSE like the caller expects.
                   4805:
                   4806: 2004-11-15 13:24  millert
                   4807:
                   4808:        * Makefile.in: Add missing dependencies on gram.h
                   4809:
                   4810: 2004-11-15 13:06  millert
                   4811:
                   4812:        * match.c: Use runas_matches in alias_matches() now that we have
                   4813:          it.
                   4814:
                   4815: 2004-11-15 13:00  millert
                   4816:
                   4817:        * parse.c, parse.h: Expand aliases in "sudo -l" mode
                   4818:
                   4819: 2004-11-15 12:33  millert
                   4820:
                   4821:        * gram.y, match.c: Use ALIAS for the member type when storing an
                   4822:          alias instead of HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since
                   4823:          match.c relies on the more generic type.  Expand runas_matches
                   4824:          instead of calling user_matches() inside of it since
                   4825:          user_matches() looks up USERALIASes, not RUNASALIASes.
                   4826:
                   4827: 2004-11-15 12:05  millert
                   4828:
                   4829:        * CHANGES, getspwuid.c: Paranoia; zero out pw_passwd before freeing
                   4830:          passwd entry.
                   4831:
                   4832: 2004-11-15 10:53  millert
                   4833:
                   4834:        * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
                   4835:          configure.in, err.c, error.c, error.h, defaults.c, env.c,
                   4836:          find_path.c, interfaces.c, logging.c, mon_systrace.c, sudo.c,
                   4837:          sudo.h, sudo_edit.c, testsudoers.c, visudo.c, emul/err.h: Add
                   4838:          local error/warning functions like err/warn but that call an
                   4839:          additional cleanup routine in the error case.  This means we no
                   4840:          longer need to compile a special version of alloc.o for visudo.
                   4841:
                   4842: 2004-11-15 09:59  millert
                   4843:
                   4844:        * match.c: Use userpw_matches() to compare usernames, not strcmp(),
                   4845:          since the latter checks for "#uid".
                   4846:
                   4847: 2004-11-15 09:53  millert
                   4848:
                   4849:        * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c: Cache passwd
                   4850:          db entries in 2 reb-black trees; one indexed by uid, the other by
                   4851:          user name.  The data returned from the cache should be considered
                   4852:          read-only and is destroyed by sudo_endpwent().
                   4853:
                   4854: 2004-11-15 09:50  millert
                   4855:
                   4856:        * match.c: add cast to uid_t
                   4857:
                   4858: 2004-11-15 09:49  millert
                   4859:
                   4860:        * gram.y: missing free in alias_destroy
                   4861:
                   4862: 2004-11-15 09:49  millert
                   4863:
                   4864:        * redblack.c: Can't use rbapply() for rbdestroy since the
                   4865:          destructor is passed a data pointer, not a node pointer.
                   4866:
                   4867: 2004-11-14 23:06  millert
                   4868:
                   4869:        * getspwuid.c, logging.c, sudo.c, sudo.h: Create and use private
                   4870:          versions of setpwent() and endpwent() that set/end the shadow
                   4871:          password file too.
                   4872:
                   4873: 2004-11-14 22:55  millert
                   4874:
                   4875:        * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c,
                   4876:          visudo.c: Store aliases in a red-black tree.
                   4877:
                   4878: 2004-11-14 22:52  millert
                   4879:
                   4880:        * Makefile.in, redblack.c, redblack.h: red-black tree
                   4881:          implementation
                   4882:
                   4883: 2004-11-14 22:37  millert
                   4884:
                   4885:        * visudo.c: Edit all sudoers file if there were unused or undefined
                   4886:          aliases and we are in strict mode.
                   4887:
                   4888: 2004-11-12 11:19  millert
                   4889:
                   4890:        * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
                   4891:          find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
                   4892:          Bring back the "secure_path" Defaults option now that Defaults
                   4893:          take effect before the path is searched.
                   4894:
                   4895: 2004-11-11 12:22  millert
                   4896:
                   4897:        * logging.c, parse.c: A user can always list their own entries,
                   4898:          even with -u.  Better error message when failing to list another
                   4899:          user's entries.
                   4900:
                   4901: 2004-11-11 12:12  millert
                   4902:
                   4903:        * parse.c, sudo.c, sudo.h: The syntax to list another user's
                   4904:          entries is now "-u otheruser -l".  Only root or users with sudo
                   4905:          "ALL" may list other user's entries.
                   4906:
                   4907: 2004-11-11 11:30  millert
                   4908:
                   4909:        * sudo.cat, sudo.man.in, sudo.pod: Update env variable info in
                   4910:          SECURITY NOTES
                   4911:
                   4912: 2004-11-11 11:25  millert
                   4913:
                   4914:        * env.c: strip CDPATH too
                   4915:
                   4916: 2004-11-11 11:20  millert
                   4917:
                   4918:        * env.c: strip exported bash functions from the environment.
                   4919:
                   4920: 2004-10-27 12:16  millert
                   4921:
                   4922:        * sudo.c: Only reset sudo_user.pw based on SUDO_USER environment
                   4923:          variables for real commands and sudoedit.  This avoids a
                   4924:          confusing message when a user tries "sudo -l" or "sudo -v" and is
                   4925:          denied.
                   4926:
                   4927: 2004-10-27 12:06  millert
                   4928:
                   4929:        * gram.c, gram.y, parse.h: Extend LIST_APPEND to deal with
                   4930:          appending lists too
                   4931:
                   4932: 2004-10-26 18:39  millert
                   4933:
                   4934:        * logging.c: Convert some bitwise AND to ISSET
                   4935:
                   4936: 2004-10-26 18:29  millert
                   4937:
                   4938:        * lex.yy.c, toke.c: toke.c replaces lex.yy.c
                   4939:
                   4940: 2004-10-26 18:29  millert
                   4941:
                   4942:        * CHANGES, TODO: sync
                   4943:
                   4944: 2004-10-26 18:28  millert
                   4945:
                   4946:        * BUGS: new parser fixes most of the outstanding bugs
                   4947:
                   4948: 2004-10-26 18:27  millert
                   4949:
                   4950:        * configure: regen
                   4951:
                   4952: 2004-10-26 18:26  millert
                   4953:
                   4954:        * visudo.c: Rework for the new parser.  Now checks for unused
                   4955:          aliases in sudoers.
                   4956:
                   4957: 2004-10-26 18:25  millert
                   4958:
                   4959:        * testsudoers.c: Rewrite for the new parser.  Now supports a -d
                   4960:          flag (dump) and adds a -h flag (host).  It now defaults to the
                   4961:          local hostname unless otherwise specified.
                   4962:
                   4963: 2004-10-26 18:23  millert
                   4964:
                   4965:        * sudo.h: Add new prototypes.  Remove NOMATCH/UNSPEC (now in
                   4966:          parse.h)
                   4967:
                   4968: 2004-10-26 18:22  millert
                   4969:
                   4970:        * sudo.c: Update for new parse.  We now call find_path() *after* we
                   4971:          have updated the global defaults based on sudoers.  Also adds
                   4972:          support for listing other user's privs if you are root.
                   4973:
                   4974: 2004-10-26 18:21  millert
                   4975:
                   4976:        * mon_systrace.c: Working LDAP support; also remove a now-unneeded
                   4977:          rewind().
                   4978:
                   4979: 2004-10-26 18:20  millert
                   4980:
                   4981:        * logging.c, logging.h: Add NO_STDERR flag.
                   4982:
                   4983: 2004-10-26 18:19  millert
                   4984:
                   4985:        * ldap.c: Split sudo_ldap_check() into three pieces:
                   4986:          sudo_ldap_open(), udo_ldap_update_defaults() and
                   4987:          sudo_ldap_check().  This allows us to connecto to LDAP, apply the
                   4988:          default options, find the command in the user's path, and then
                   4989:          check whether the user is allowed to run it.  The important thing
                   4990:          here is that the default runas user may be specified as a default
                   4991:          option and that needs to be set before we search for the command.
                   4992:
                   4993: 2004-10-26 18:17  millert
                   4994:
                   4995:        * ldap.c: Add casts to unsigned char for isspace() to quiet a gcc
                   4996:          warning.
                   4997:
                   4998: 2004-10-26 18:16  millert
                   4999:
                   5000:        * defaults.h: Add prototype for update_defaults()
                   5001:
                   5002: 2004-10-26 18:16  millert
                   5003:
                   5004:        * defaults.c: Don't warn about line numbers now that we operate on
                   5005:          a set of data structures (or LDAP) and not a file.
                   5006:
                   5007: 2004-10-26 18:15  millert
                   5008:
                   5009:        * config.h.in: No long use lsearch()
                   5010:
                   5011: 2004-10-26 18:14  millert
                   5012:
                   5013:        * Makefile.in: Update for new and changed file names.
                   5014:
                   5015: 2004-10-26 18:14  millert
                   5016:
                   5017:        * LICENSE: no more BSD lsearch.c
                   5018:
                   5019: 2004-10-26 18:14  millert
                   5020:
                   5021:        * match.c: foo_matches() routines now live in match.c Added
                   5022:          user_matches(), runas_matches(), host_matches(), cmnd_matches()
                   5023:          and alias_matches() that operate on the parsed sudoers file.
                   5024:
                   5025: 2004-10-26 18:12  millert
                   5026:
                   5027:        * parse.lex, toke.l: Move parse.lex -> toke.l Rename buffer_frob()
                   5028:          -> switch_buffer() WORD no longer needs to exclude '@' kill
                   5029:          yywrap()
                   5030:
                   5031: 2004-10-26 18:10  millert
                   5032:
                   5033:        * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.h:
                   5034:          Rewritten parser that converts sudoers into a set of data
                   5035:          structures.  This eliminates ordering issues and makes it
                   5036:          possible to apply sudoers Defaults entries before searching for
                   5037:          the command.
                   5038:
                   5039: 2004-10-26 18:09  millert
                   5040:
                   5041:        * configure.in, lsearch.c, emul/search.h: We won't be using
                   5042:          lsearch() any longer.
                   5043:
                   5044: 2004-10-26 18:07  millert
                   5045:
                   5046:        * ldap.c: sudo should not send mail if someone who runs 'sudo -l'
                   5047:          has no entry.
                   5048:
                   5049: 2004-10-26 16:09  millert
                   5050:
                   5051:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   5052:          visudo.man.in: regen
                   5053:
                   5054: 2004-10-26 16:09  millert
                   5055:
                   5056:        * visudo.pod: Update warnings to match new visudo
                   5057:
                   5058: 2004-10-26 16:08  millert
                   5059:
                   5060:        * sudoers.pod: The new parser doesn't have the old ordering
                   5061:          constraints.
                   5062:
                   5063: 2004-10-26 16:08  millert
                   5064:
                   5065:        * sudo.pod: Document that -l now takes an optional username
                   5066:          argument
                   5067:
                   5068: 2004-10-25 13:44  millert
                   5069:
                   5070:        * RUNSON: AIX 5.2.0.0 works
                   5071:
                   5072: 2004-10-25 13:38  millert
                   5073:
                   5074:        * ldap.c: If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS
                   5075:          instead.  Fixes a compilation problem with Solaris 9's native
                   5076:          LDAP.
                   5077:
                   5078:          Set FLAG_MONITOR when needed.
                   5079:
                   5080: 2004-10-23 13:32  millert
                   5081:
                   5082:        * mon_systrace.c: Call sudo_goodpath() *after* changing the cwd to
                   5083:          match the traced process.  Fixes relative paths.
                   5084:
                   5085: 2004-10-21 12:31  millert
                   5086:
                   5087:        * testsudoers.c: Kill set_perms() stub--it is no longer needed.
                   5088:
                   5089: 2004-10-13 12:52  millert
                   5090:
                   5091:        * sudoers.cat, sudoers.man.in, sudoers.pod: stay_setuid now
                   5092:          requires set_reuid() or setresuid()
                   5093:
                   5094: 2004-10-13 12:46  millert
                   5095:
                   5096:        * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
                   5097:          configure.in, set_perms.c, sudo.c, sudo.h: Kill use of POSIX
                   5098:          saved uids; they aren't worth bothering with.
                   5099:
                   5100: 2004-10-07 16:23  millert
                   5101:
                   5102:        * glob.c: remove call to issetugid()
                   5103:
                   5104: 2004-10-07 14:57  millert
                   5105:
                   5106:        * sudoers.cat, sudoers.man.in, sudoers.pod: Remove warning about
                   5107:          wildcards.  Now that we use glob() the bug is fixed.
                   5108:
                   5109: 2004-10-07 14:52  millert
                   5110:
                   5111:        * parse.c: Use glob(3) instead of fnmatch(3) for matching pathnames
                   5112:          and stat each result that matches the basename of the user's
                   5113:          command.  This makes "cd /usr/bin ; sudo ./blah" work when
                   5114:          sudoers allows /usr/bin/blah.  Fixes bug #143.
                   5115:
                   5116: 2004-10-07 14:27  millert
                   5117:
                   5118:        * configure, configure.in, config.h.in: Define HAVE_EXTENDED_GLOB
                   5119:          for extended glob (GLOB_TILDE and GLOB_BRACE)
                   5120:
                   5121: 2004-10-07 12:59  millert
                   5122:
                   5123:        * config.h.in, configure, configure.in: Check for a glob() that
                   5124:          supports GLOB_BRACE and GLOB_TILDE
                   5125:
                   5126: 2004-10-07 12:51  millert
                   5127:
                   5128:        * LICENSE: reference glob
                   5129:
                   5130: 2004-10-07 12:50  millert
                   5131:
                   5132:        * glob.c, emul/glob.h: 4.4BSD glob(3) with fixes from OpenBSD and
                   5133:          some unneeded extensions removed.
                   5134:
                   5135: 2004-10-05 17:26  millert
                   5136:
                   5137:        * mon_systrace.c: Just return if STRIOCINJECT or STRIOCREPLACE
                   5138:          fail.  It probably means we are out of space in the stack gap...
                   5139:
                   5140: 2004-10-05 17:20  millert
                   5141:
                   5142:        * CHANGES: sync
                   5143:
                   5144: 2004-10-05 16:53  millert
                   5145:
                   5146:        * mon_systrace.c: Take a stab at ldap sudoers support here.
                   5147:
                   5148: 2004-10-05 15:13  millert
                   5149:
                   5150:        * mon_systrace.c, mon_systrace.h: Detach from tracee on SIGHUP,
                   5151:          SIGINT and SIGTERM.  Now "sudo reboot" doesn't cause reboot to
                   5152:          inadvertanly kill itself.
                   5153:
                   5154: 2004-10-05 14:21  millert
                   5155:
                   5156:        * mon_systrace.c: put "monitor" in the proctitle, not "systrace"
                   5157:
                   5158: 2004-10-05 14:15  millert
                   5159:
                   5160:        * mon_systrace.c: When modifying the environment, don't replace
                   5161:          envp when we can get away with just rewriting pointers in the
                   5162:          traced process.
                   5163:
                   5164: 2004-10-05 13:46  millert
                   5165:
                   5166:        * mon_systrace.c, mon_systrace.h: Add environment updating via
                   5167:          STRIOCINJECT (if available).
                   5168:
                   5169: 2004-10-05 10:22  millert
                   5170:
                   5171:        * sudoers.cat, sudoers.man.in: regen
                   5172:
                   5173: 2004-10-04 16:15  millert
                   5174:
                   5175:        * lex.yy.c: regen
                   5176:
                   5177: 2004-10-04 16:15  millert
                   5178:
                   5179:        * parse.lex: Fix bug introduced in unput() removal; want yyless(0)
                   5180:          not yyless(1)
                   5181:
                   5182: 2004-10-04 12:09  millert
                   5183:
                   5184:        * mon_systrace.c: Include file is now mon_systrace.h
                   5185:
                   5186: 2004-10-04 12:07  millert
                   5187:
                   5188:        * Makefile.in, configure, configure.in, def_data.c, def_data.h,
                   5189:          def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
                   5190:          sudo.c, sudo.h, sudo.tab.h, sudoers.pod: No longer call it
                   5191:          tracing, it is now "monitoring" which should be more a obvious
                   5192:          name to non-hackers.
                   5193:
                   5194: 2004-10-01 15:06  millert
                   5195:
                   5196:        * mon_systrace.c, mon_systrace.h: Fix some XXX
                   5197:
                   5198: 2004-10-01 14:30  millert
                   5199:
                   5200:        * mon_systrace.c, mon_systrace.h: No need to include syscall.h, use
                   5201:          1024 as the max # of entries (the max that systrace(4) allows).
                   5202:
                   5203:          Only need to use SYSTR_POLICY_ASSIGN once
                   5204:
                   5205:          Change check_syscall() -> find_handler() and have it return the
                   5206:          handler instead of just running it.  We need this since handler
                   5207:          now have two parts: one part that generates and answer and
                   5208:          another that gets called after the answer is accepted (to do
                   5209:          logging).
                   5210:
                   5211:          Add some missing check_exec for emul execv
                   5212:
                   5213: 2004-10-01 10:58  millert
                   5214:
                   5215:        * sample.pam, sample.sudoers, sample.syslog.conf, sudoers: Add
1.6       millert  5216:          $Sudo$ tags.
1.1       millert  5217:
                   5218: 2004-10-01 10:47  millert
                   5219:
                   5220:        * config.h.in: Add missing HAVE_LINUX_SYSTRACE_H
                   5221:
                   5222: 2004-09-30 20:46  millert
                   5223:
                   5224:        * Makefile.in: add trace_systrace.o dependency
                   5225:
                   5226: 2004-09-30 19:00  millert
                   5227:
                   5228:        * configure, configure.in: Also look for systrace.h in
                   5229:          /usr/include/linux
                   5230:
                   5231: 2004-09-30 18:27  millert
                   5232:
                   5233:        * mon_systrace.c, mon_systrace.h: Move all struct defs and
                   5234:          prototypes into trace_systrace.h and mark all but
                   5235:          systace_attach() static.
                   5236:
                   5237: 2004-09-30 18:14  millert
                   5238:
                   5239:        * mon_systrace.c, mon_systrace.h: Add support for tracing
                   5240:          emulations.  At the moment, all emulations are compiled in.  It
                   5241:          might make sense to #ifdef them in the future, though this
                   5242:          impeeds readability.
                   5243:
                   5244: 2004-09-30 17:07  millert
                   5245:
                   5246:        * Makefile.in, configure.in, configure: rename systrace.c ->
                   5247:          trace_systrace.c
                   5248:
                   5249: 2004-09-30 15:58  millert
                   5250:
                   5251:        * parse.yacc: Allow this to build with a K&R compiler again
                   5252:
                   5253: 2004-09-30 13:58  millert
                   5254:
                   5255:        * TODO: sync
                   5256:
                   5257: 2004-09-30 13:55  millert
                   5258:
                   5259:        * sudo.c, compat.h, visudo.c: Use __attribute__((__noreturn__))
                   5260:
                   5261: 2004-09-30 13:44  millert
                   5262:
                   5263:        * visudo.c: Exit() takes a negative value to indicate it was not
                   5264:          called via signal.
                   5265:
                   5266: 2004-09-30 13:25  millert
                   5267:
                   5268:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   5269:          visudo.man.in: regen
                   5270:
                   5271: 2004-09-30 13:22  millert
                   5272:
                   5273:        * Makefile.in, visudo.c: Define Err() and Errx() that are like
                   5274:          err() and errx() but call Exit() instead of exit().  Build
                   5275:          private copy of alloc.o for visudo that calls Err() and Errx().
                   5276:
                   5277: 2004-09-29 15:22  millert
                   5278:
                   5279:        * lex.yy.c: regen
                   5280:
                   5281: 2004-09-29 15:22  millert
                   5282:
                   5283:        * CHANGES: sync
                   5284:
                   5285: 2004-09-29 14:41  millert
                   5286:
                   5287:        * visudo.c: Overhaul visudo for editing multiple files:  o visudo
                   5288:          has been broken out into functions (more work needed here)  o
                   5289:          each file is now edited before sudoers is re-parsed  o if a
                   5290:          #include line is added that file will be edited too
                   5291:
                   5292:          TODO:  o cleanup temp files when exiting via err() or errx()  o
                   5293:          continue breaking things out into separate functions
                   5294:
                   5295: 2004-09-29 14:36  millert
                   5296:
                   5297:        * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c: Add keepopen
                   5298:          arg to open_sudoers that open_sudoers can use to indicate to the
                   5299:          caller that the fd should not be closed when it is done with it.
                   5300:          To be used by visudo to keep locked fds from being closed
                   5301:          prematurely (and thus losing the lock).
                   5302:
                   5303: 2004-09-29 14:33  millert
                   5304:
                   5305:        * parse.yacc, sudo.c: Add errorfile global that contains the name
                   5306:          of the file that caused the error.
                   5307:
                   5308: 2004-09-29 14:30  millert
                   5309:
                   5310:        * parse.lex: return COMMENT to yacc grammar for a #include line
                   5311:
                   5312: 2004-09-29 14:29  millert
                   5313:
                   5314:        * parse.lex: Remove us of unput() in favor of yyless() which is
                   5315:          cheaper.
                   5316:
                   5317: 2004-09-29 14:28  millert
                   5318:
                   5319:        * parse.yacc: Allow an empty sudoers file.
                   5320:
                   5321: 2004-09-28 16:50  millert
                   5322:
                   5323:        * mon_systrace.c: Rewind sudoers_fp now that sudoers_lookup()
                   5324:          doesn't do it for us.
                   5325:
                   5326: 2004-09-28 14:37  millert
                   5327:
                   5328:        * lex.yy.c: regen
                   5329:
                   5330: 2004-09-28 14:36  millert
                   5331:
                   5332:        * visudo.c: Do signal setup before calling edit_sudoers().  Don't
                   5333:          shadow the "quiet" global.
                   5334:
                   5335: 2004-09-28 14:33  millert
                   5336:
                   5337:        * visudo.c: If a sudoers file includes other files, edit those too.
                   5338:          Does not yes deal with creating the new includes files itself.
                   5339:
                   5340: 2004-09-28 14:31  millert
                   5341:
                   5342:        * testsudoers.c: init_parser now takes a path
                   5343:
                   5344: 2004-09-28 14:31  millert
                   5345:
                   5346:        * parse.c, parse.h, parse.lex, parse.yacc: More scaffolding for
                   5347:          dealing with multiple sudoers files:  o init_parser() now takes a
                   5348:          path used to populate the sudoers global  o the sudoers global is
                   5349:          used to print the correct file in yyerror()  o when switching to
                   5350:          a new sudoers file, perserve old file name and line number
                   5351:
                   5352: 2004-09-28 14:29  millert
                   5353:
                   5354:        * Makefile.in, pathnames.h.in: Kill _PATH_SUDOERS_TMP; it is not
                   5355:          meaningful now that we can have multiple sudoers files.
                   5356:
                   5357: 2004-09-28 13:52  millert
                   5358:
                   5359:        * parse.c, sudo.c: Rewind sudoers_fp in open_sudoers() instead of
                   5360:          sudoers_lookup() so we start at the right file position when
                   5361:          reading include files.
                   5362:
                   5363: 2004-09-27 21:04  millert
                   5364:
                   5365:        * sudoers.pod: document #include
                   5366:
                   5367: 2004-09-27 20:47  millert
                   5368:
                   5369:        * lex.yy.c: regen
                   5370:
                   5371: 2004-09-27 20:47  millert
                   5372:
                   5373:        * parse.lex: Add max depth of 128 for the include stack to avoid
                   5374:          loops.
                   5375:
                   5376:          Since yyerror() doesn't stop parsing, pass return values back to
                   5377:          yylex and call yyterminate() on error.
                   5378:
                   5379: 2004-09-27 14:06  millert
                   5380:
                   5381:        * sudoers.pod: document tracing
                   5382:
                   5383: 2004-09-27 14:05  millert
                   5384:
                   5385:        * sudo.pod: Mention PREVENTING SHELL ESCAPES section of sudoers man
                   5386:          page
                   5387:
                   5388: 2004-09-27 12:08  millert
                   5389:
                   5390:        * lex.yy.c: regen
                   5391:
                   5392: 2004-09-27 12:03  millert
                   5393:
                   5394:        * parse.lex: Add support for #include in sudoers (visudo support
                   5395:          TBD)
                   5396:
                   5397: 2004-09-27 12:02  millert
                   5398:
                   5399:        * parse.yacc: make yyerror()'s argument const
                   5400:
                   5401: 2004-09-27 12:02  millert
                   5402:
                   5403:        * testsudoers.c, visudo.c: Add open_sudoers() stubs.
                   5404:
                   5405: 2004-09-27 12:01  millert
                   5406:
                   5407:        * sudo.c, sudo.h: Rename check_sudoers() open_sudoers() and make it
                   5408:          return a FILE *
                   5409:
                   5410: 2004-09-26 12:35  millert
                   5411:
                   5412:        * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
                   5413:          version.h: Crank version
                   5414:
                   5415: 2004-09-26 12:33  millert
                   5416:
                   5417:        * Makefile.in, sudo.psf: Better HP-UX depot construction
                   5418:
                   5419: 2004-09-25 17:08  millert
                   5420:
                   5421:        * mon_systrace.c: o Made children global so check_exec() can lookup
                   5422:          a child.  o Replaced uid in struct childinfo with struct passwd *
                   5423:          (for runas) o new_child() now takes a parent pid so the runas
                   5424:          info can be inherited o Added find_child() to lookup a child by
                   5425:          its pid o update_child() now fills in a struct passwd o Converted
                   5426:          the big if/else mess in set_policy to a switch o Syscalls that
                   5427:          change uid are now "ask" so we get SYSTR_MSG_UGID events
                   5428:
                   5429: 2004-09-25 17:01  millert
                   5430:
                   5431:        * getspwuid.c: Add flag to sudo_pwdup that indicates whether or not
                   5432:          to lookup the shadow password.  Will be used to a struct passwd
                   5433:          that has the shadow password already filled in.
                   5434:
                   5435: 2004-09-25 16:58  millert
                   5436:
                   5437:        * mon_systrace.c: add missing increment of addr in read_string()
                   5438:
                   5439: 2004-09-25 16:15  millert
                   5440:
                   5441:        * mon_systrace.c: Remove bogus call to update_child() and some
                   5442:          cosmetic fixes
                   5443:
                   5444: 2004-09-25 16:11  millert
                   5445:
                   5446:        * mon_systrace.c: Don't leak /dev/systrace fd to tracee Make
                   5447:          initialized global for simplicity If STRIOCATTACH returns EBUSY
                   5448:          we are already being traced Check for user_args == NULL in
                   5449:          setproctitle() call Add missing calls to STRIOCANSWER
                   5450:
                   5451: 2004-09-25 13:15  millert
                   5452:
                   5453:        * sudo.c: g/c sudo_pwdup proto
                   5454:
                   5455: 2004-09-24 20:21  millert
                   5456:
                   5457:        * Makefile.in, sudo.psf: Add target for building a depot file
                   5458:
                   5459: 2004-09-24 20:07  millert
                   5460:
                   5461:        * mon_systrace.c: trim includes
                   5462:
                   5463: 2004-09-24 14:11  millert
                   5464:
                   5465:        * lex.yy.c, sudo.tab.h: regen
                   5466:
                   5467: 2004-09-24 14:10  millert
                   5468:
                   5469:        * INSTALL: document --with-systrace
                   5470:
                   5471: 2004-09-24 14:10  millert
                   5472:
                   5473:        * config.h.in, configure, configure.in: Add check for setproctitle
                   5474:
                   5475: 2004-09-24 14:09  millert
                   5476:
                   5477:        * mon_systrace.c: pass struct str_msg_ask in to syscall checker so
                   5478:          it can set the error code
                   5479:
                   5480: 2004-09-24 13:30  millert
                   5481:
                   5482:        * mon_systrace.c: systrace(4) support for sudo.  On systems with
                   5483:          the systrace(4) kernel facility (OpenBSD, NetBSD, Linux w/
                   5484:          patches) sudo can intercept exec calls and check the exec args
                   5485:          against the sudoers file.  In other words, sudo can now control
                   5486:          subcommands and shell escapes.
                   5487:
                   5488: 2004-09-24 13:17  millert
                   5489:
                   5490:        * sudo.c, sudo.h: Call systrace_attach() if FLAG_TRACE is set.
                   5491:
                   5492: 2004-09-24 13:15  millert
                   5493:
                   5494:        * parse.c, parse.h, parse.lex, parse.yacc, sudo.h: Add trace
                   5495:          Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
                   5496:
                   5497: 2004-09-24 13:13  millert
                   5498:
                   5499:        * parse.c, sudo.c: Don't close sudoers_fp, keep it open and set
                   5500:          close on exec flag instead.
                   5501:
                   5502: 2004-09-24 13:11  millert
                   5503:
                   5504:        * def_data.c, def_data.h, def_data.in: Add trace option
                   5505:
                   5506: 2004-09-23 20:24  millert
                   5507:
                   5508:        * Makefile.in: Add systrace
                   5509:
                   5510: 2004-09-23 20:23  millert
                   5511:
                   5512:        * INSTALL: SunOS /bin/sh blows up with configure
                   5513:
                   5514: 2004-09-23 20:23  millert
                   5515:
                   5516:        * configure, configure.in: Include sys/param.h before systrace.h
                   5517:
                   5518: 2004-09-23 20:15  millert
                   5519:
                   5520:        * configure: regen
                   5521:
                   5522: 2004-09-23 20:15  millert
                   5523:
                   5524:        * pathnames.h.in: _PATH_DEV_SYSTRACE
                   5525:
                   5526: 2004-09-23 20:14  millert
                   5527:
                   5528:        * configure.in: line up options in --help
                   5529:
                   5530: 2004-09-23 20:11  millert
                   5531:
                   5532:        * config.h.in, configure.in: Add --with-systrace
                   5533:
                   5534: 2004-09-23 13:35  millert
                   5535:
                   5536:        * configure: regen
                   5537:
                   5538: 2004-09-23 13:35  millert
                   5539:
                   5540:        * aclocal.m4, configure.in: make this work with autoconf-2.59
                   5541:
                   5542: 2004-09-16 12:58  millert
                   5543:
                   5544:        * sudo_edit.c: Simplify logic around open & stat of files and do
                   5545:          sanity on edited file even if we lack fstat (still racable but
                   5546:          worth doing).
                   5547:
                   5548: 2004-09-15 18:47  millert
                   5549:
                   5550:        * HISTORY: Add support url
                   5551:
                   5552: 2004-09-15 16:11  millert
                   5553:
                   5554:        * Makefile.in: versino 1.6.8p1
                   5555:
                   5556: 2004-09-15 15:20  millert
                   5557:
                   5558:        * CHANGES: more changes for 1.6.8p1
                   5559:
                   5560: 2004-09-15 15:18  millert
                   5561:
                   5562:        * version.h: 1.6.8p1
                   5563:
                   5564: 2004-09-15 12:16  millert
                   5565:
                   5566:        * CHANGES, sudo_edit.c: Add sanity check so we don't try to edit
                   5567:          something other than a regular file.
                   5568:
                   5569: 2004-09-14 20:55  aaron
                   5570:
                   5571:        * CHANGES: sync
                   5572:
                   5573: 2004-09-14 20:21  aaron
                   5574:
                   5575:        * INSTALL: document --with-ldap-conf-file
                   5576:
                   5577: 2004-09-14 17:43  millert
                   5578:
                   5579:        * CHANGES, ins_csops.h: political correctness strikes again
                   5580:
                   5581: 2004-09-14 15:09  millert
                   5582:
                   5583:        * RUNSON: sync
                   5584:
                   5585: 2004-09-12 19:50  millert
                   5586:
                   5587:        * Makefile.binary.in, Makefile.in: Install sudoedit man link
                   5588:
                   5589: 2004-09-12 14:25  millert
                   5590:
                   5591:        * INSTALL: Update PAM note and mention where HP-UX users can
                   5592:          download gcc binaries.
                   5593:
                   5594: 2004-09-12 12:08  millert
                   5595:
                   5596:        * Makefile.in: libtool wants to install stuff from .libs so fake
                   5597:          one up for binary installations.
                   5598:
                   5599: 2004-09-12 11:53  millert
                   5600:
                   5601:        * Makefile.binary.in: rm -f old sudoedit link instead of using ln
                   5602:          -f set LIBTOOL correctly
                   5603:
                   5604: 2004-09-12 11:53  millert
                   5605:
                   5606:        * Makefile.in: Deal with "uname -m" having slashes in it rm -f old
                   5607:          sudoedit link instead of using ln -f
                   5608:
                   5609: 2004-09-12 10:22  millert
                   5610:
                   5611:        * Makefile.binary, Makefile.binary.in: Makefile.binary ->
                   5612:          Makefile.binary.in for config.status substitution Add support for
                   5613:          installing noexec bits
                   5614:
                   5615: 2004-09-12 10:21  millert
                   5616:
                   5617:        * Makefile.in: Copy noexec bits into binary dists too No longer use
                   5618:          my old arch script for making binary dists
                   5619:
                   5620: 2004-09-12 09:36  millert
                   5621:
                   5622:        * Makefile.binary: Install sudoedit link.
                   5623:
                   5624: 2004-09-11 12:25  millert
                   5625:
                   5626:        * emul/utime.h: avoid __P so there is no need for compat.h to be
                   5627:          included
                   5628:
                   5629: 2004-09-11 12:24  millert
                   5630:
                   5631:        * utimes.c: Don't use HAVE_UTIME_H before including config.h.
                   5632:
                   5633: 2004-09-10 12:31  millert
                   5634:
                   5635:        * compat.h: Fix Solatis futimes macro
                   5636:
                   5637: 2004-09-09 11:02  millert
                   5638:
                   5639:        * sudo_edit.c: Rename ots -> omtim for improved readability.
                   5640:
                   5641: 2004-09-08 14:38  millert
                   5642:
                   5643:        * sudo_edit.c: Redo changes in revision 1.7.  Don't really need to
                   5644:          keep the temp file open; re-opening it with the invoking user's
                   5645:          euid is sufficient.
                   5646:
                   5647: 2004-09-08 14:36  millert
                   5648:
                   5649:        * CHANGES: sync
                   5650:
                   5651: 2004-09-08 14:35  millert
                   5652:
                   5653:        * sudo.cat, sudo.man.in: regen
                   5654:
                   5655: 2004-09-08 14:34  millert
                   5656:
                   5657:        * sudo.pod: back out revision 1.70; it is no long applicable
                   5658:
                   5659: 2004-09-08 11:57  millert
                   5660:
                   5661:        * env.c: Let the loader initialize nep
                   5662:
                   5663: 2004-09-08 11:49  millert
                   5664:
                   5665:        * configure, configure.in, config.h.in: Removed unneed check for
                   5666:          fchown Add check for gettimeofday Move autoheader template stuff
                   5667:          into separate AH_TEMPLATE lines
                   5668:
                   5669: 2004-09-08 11:48  millert
                   5670:
                   5671:        * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c: Use
                   5672:          timespec throughout.
                   5673:
                   5674: 2004-09-08 11:47  millert
                   5675:
                   5676:        * Makefile.in: gettime.[co]
                   5677:
                   5678: 2004-09-08 11:47  millert
                   5679:
                   5680:        * gettime.c: function to return the current time in a struct
                   5681:          timespec
                   5682:
                   5683: 2004-09-08 10:51  millert
                   5684:
                   5685:        * utimes.c: Not a darpa-sponsored file.
                   5686:
                   5687: 2004-09-07 16:36  millert
                   5688:
                   5689:        * compat.h, config.h.in, configure, configure.in: Add a check for
                   5690:          struct timespec and provide it for those without.
                   5691:
                   5692: 2004-09-07 15:56  millert
                   5693:
                   5694:        * config.h.in, configure, configure.in, sudo_edit.c: Add checks for
                   5695:          st_mtim and st_mtimespec and add macros for pulling the mtime sec
                   5696:          and nsec out of struct stat.  These are used in sudo_edit() to
                   5697:          better tell whether or not the file has changed.
                   5698:
                   5699: 2004-09-07 15:55  millert
                   5700:
                   5701:        * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c: Add an extra
                   5702:          param to touch() for nsec
                   5703:
                   5704: 2004-09-07 14:06  millert
                   5705:
                   5706:        * sudo_edit.c: Call mkstemp() as the in invoking user so we don't
                   5707:          have to chown the file later.  Only touch() the temp file if we
                   5708:          can do it via the file descriptor.  Don't check for modification
                   5709:          of the temp file if we lack fstat().  Catch errors read()ing the
                   5710:          temp file.
                   5711:
                   5712: 2004-09-07 14:04  millert
                   5713:
                   5714:        * fileops.c: If path is NULL and fd == -1 return -1.
                   5715:
                   5716: 2004-09-07 13:31  millert
                   5717:
                   5718:        * sudo_edit.c: closefrom() is overkill, the only extra fds are the
                   5719:          ones we opened so just close those in the child.
                   5720:
                   5721: 2004-09-07 13:14  millert
                   5722:
                   5723:        * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in,
                   5724:          configure, configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c,
                   5725:          utimes.c, visudo.c: Use utimes() and futimes() instead of utime()
                   5726:          in touch(), emulating as needed.  Not all systems are able to
                   5727:          support setting the times of an fd so touch() takes both an fd
                   5728:          and a file name as arguments.
                   5729:
                   5730: 2004-09-06 21:12  aaron
                   5731:
                   5732:        * env.c: Rare SEGV
                   5733:
                   5734: 2004-09-06 16:46  millert
                   5735:
                   5736:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   5737:          visudo.man.in: regen
                   5738:
                   5739: 2004-09-06 16:45  millert
                   5740:
                   5741:        * sudo.pod, sudoers.pod, visudo.pod: Add SUPPORT section and
                   5742:          re-order some of the sections to match the order we use in
                   5743:          OpenBSD.
                   5744:
                   5745: 2004-09-06 15:05  aaron
                   5746:
                   5747:        * env.c: Openldap ~/.ldaprc fix
                   5748:
                   5749: 2004-09-06 12:18  millert
                   5750:
                   5751:        * sudo.pod: Talk about how the editor must write its changes to the
                   5752:          original file and not just use rename(2).
                   5753:
                   5754: 2004-09-06 12:12  millert
                   5755:
                   5756:        * CHANGES: sync
                   5757:
                   5758: 2004-09-06 12:11  millert
                   5759:
                   5760:        * sudo_edit.c: Keep the temp file open instead of re-opening after
                   5761:          the editor has exited.
                   5762:
                   5763: 2004-09-06 12:10  millert
                   5764:
                   5765:        * sample.pam: Update for current redhat/fedora core.
                   5766:
                   5767: 2004-09-02 21:56  aaron
                   5768:
                   5769:        * README.LDAP: tls_ examples
                   5770:
                   5771: 2004-09-02 00:03  aaron
                   5772:
                   5773:        * ldap.c: config tls_* options
                   5774:
                   5775: 2004-08-29 11:39  millert
                   5776:
                   5777:        * configure, configure.in: No need for -lcrypt when using pam.
                   5778:
                   5779: 2004-08-26 23:57  millert
                   5780:
                   5781:        * configure: regen
                   5782:
                   5783: 2004-08-26 23:44  aaron
                   5784:
                   5785:        * configure.in, ldap.c, pathnames.h.in: Allow --with-ldap-conf-file
                   5786:          option to override LDAP_CONF
                   5787:
                   5788: 2004-08-26 22:08  aaron
                   5789:
                   5790:        * ldap.c: cleanup debug message
                   5791:
                   5792: 2004-08-26 19:29  aaron
                   5793:
                   5794:        * README.LDAP: more config info
                   5795:
                   5796: 2004-08-24 14:01  millert
                   5797:
                   5798:        * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
                   5799:          Add cmnd_base to struct sudo_user and set it in init_vars().  Add
                   5800:          cmnd_stat to struct sudo_user and set it in sudo_goodpath().  No
                   5801:          longer use gross statics in command_matches().  Also rename some
                   5802:          variables for improved clarity.
                   5803:
                   5804: 2004-08-21 14:33  millert
                   5805:
                   5806:        * INSTALL: document HP's crippled compiler deficiency.
                   5807:
                   5808: 2004-08-21 14:25  millert
                   5809:
                   5810:        * INSTALL: Fix some thinkos in --with-editor and --with-env-editor
                   5811:          descriptions.  Noticed by Norihiko Murase.
                   5812:
                   5813: 2004-08-21 14:20  millert
                   5814:
                   5815:        * configure, configure.in: --with-noexec takes an optional PATH
                   5816:          argument.
                   5817:
                   5818: 2004-08-21 14:20  millert
                   5819:
                   5820:        * INSTALL: document --with-noexec
                   5821:
                   5822: 2004-08-17 16:21  millert
                   5823:
                   5824:        * RUNSON, TODO: sync
                   5825:
                   5826: 2004-08-17 15:11  millert
                   5827:
                   5828:        * sudo_edit.c: Better warning message when sudoedit is unable to
                   5829:          write to the destination file.
                   5830:
                   5831: 2004-08-17 14:53  millert
                   5832:
                   5833:        * sudo.cat, sudo.man.in: regen
                   5834:
                   5835: 2004-08-17 14:53  millert
                   5836:
                   5837:        * sudo.pod: Don't italicize the string "sudoedit"
                   5838:
                   5839: 2004-08-16 18:45  millert
                   5840:
                   5841:        * HISTORY: Mention GratiSoft.
                   5842:
                   5843: 2004-08-11 14:29  millert
                   5844:
                   5845:        * parse.yacc: Reset used_runas to FALSE when re-intializing the
                   5846:          parser.
                   5847:
                   5848: 2004-08-09 19:04  millert
                   5849:
                   5850:        * config.guess: Correct OpenBSD mips support
                   5851:
                   5852: 2004-08-09 17:28  millert
                   5853:
                   5854:        * config.guess: Add OpenBSD/mips
                   5855:
                   5856: 2004-08-06 23:43  aaron
                   5857:
                   5858:        * README.LDAP: More behavior notes
                   5859:
                   5860: 2004-08-06 23:36  aaron
                   5861:
                   5862:        * README.LDAP: Updates on current behavior
                   5863:
                   5864: 2004-08-06 19:56  millert
                   5865:
                   5866:        * sudo.pod, sudoers.pod: =back does not take an indentlevel (makes
                   5867:          no difference to formatted files).
                   5868:
                   5869: 2004-08-06 19:48  millert
                   5870:
                   5871:        * CHANGES: new
                   5872:
                   5873: 2004-08-06 19:42  millert
                   5874:
                   5875:        * sudo.c: Consistency.  Use same error for bad -u #uid when
                   5876:          targetpw is set as we do when a bad -u username is specified.
                   5877:
                   5878: 2004-08-06 19:33  millert
                   5879:
                   5880:        * TODO: Add checksum idea from Steve Mancini
                   5881:
                   5882: 2004-08-06 19:32  millert
                   5883:
                   5884:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
                   5885:
                   5886: 2004-08-06 19:31  millert
                   5887:
                   5888:        * sudo.pod, sudoers.pod: Document the restriction on uids specified
                   5889:          via -u when targetpw is set.
                   5890:
                   5891: 2004-08-06 19:24  millert
                   5892:
                   5893:        * sudo.c: Error out when targetpw is enabled and sudo is run with
                   5894:          -u #uid but #uid does not exist in the passwd database.  We can't
                   5895:          do target authentication when the target is not in passwd!
                   5896:
                   5897: 2004-08-05 21:16  millert
                   5898:
                   5899:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: regen
                   5900:
                   5901: 2004-08-05 21:14  millert
                   5902:
                   5903:        * TODO: Some more todo for the next release.
                   5904:
                   5905: 2004-08-05 21:13  millert
                   5906:
                   5907:        * INSTALL: Make it clear that PAM should be used for DCE support
                   5908:          when possible.
                   5909:
                   5910: 2004-08-05 21:13  millert
                   5911:
                   5912:        * sudoers.pod: o Document problems with wildcards and relative
                   5913:          paths.  o Make the order requirements more prominent.  o Change a
                   5914:          "set" to "reset" for clarity.
                   5915:
                   5916: 2004-08-05 14:29  millert
                   5917:
                   5918:        * sudo.pod: Mention --with-secure-path, not SECURE_PATH.
                   5919:
                   5920: 2004-08-02 22:34  aaron
                   5921:
                   5922:        * ldap.c: reflect changes to parse.c
                   5923:
                   5924: 2004-08-02 14:44  millert
                   5925:
                   5926:        * parse.c, parse.h, parse.yacc, testsudoers.c, visudo.c: Don't pass
                   5927:          user_cmnd and user_args to command_matches(), just use the
                   5928:          globals there.  Since we keep state with statics anyway it is
                   5929:          misleading to pretend that passing in different cmnd and
                   5930:          cmnd_args will work.
                   5931:
                   5932: 2004-08-02 14:40  millert
                   5933:
                   5934:        * parse.c: Fix a bug introduced in rev. 1.149.  When checking for
                   5935:          pseudo-commands check for a '/' anywhere in cmnd, not just the
                   5936:          first character.
                   5937:
                   5938: 2004-07-30 23:07  aaron
                   5939:
                   5940:        * sudo.man.in, sudo.pod: Clarification thanks to Olivier Blin
                   5941:          <oblin@mandrakesoft.com>
                   5942:
                   5943: 2004-07-30 22:41  aaron
                   5944:
                   5945:        * sudoers.man.in, sudoers.pod: Add ignore_local_sudoers
                   5946:
                   5947: 2004-07-30 22:06  aaron
                   5948:
                   5949:        * README.LDAP: Sun One schema definition by
                   5950:          Andreas.Bussjaeger@t-systems.com and janth@moldung.no
                   5951:
                   5952: 2004-07-29 11:57  millert
                   5953:
                   5954:        * CHANGES: typo
                   5955:
                   5956: 2004-07-23 16:44  millert
                   5957:
                   5958:        * CHANGES: sync
                   5959:
                   5960: 2004-07-23 16:43  millert
                   5961:
                   5962:        * parse.c: Parse sudoers file as PERM_RUNAS not PERM_ROOT and
                   5963:          remove a useless PERM_SUDOERS.  Restore to PERM_ROOT upon exit of
                   5964:          the parse.
                   5965:
                   5966: 2004-07-08 10:20  millert
                   5967:
                   5968:        * CHANGES: PAM change
                   5969:
                   5970: 2004-07-07 21:04  aaron
                   5971:
                   5972:        * ldap.c: Better debugging of ALL command
                   5973:
                   5974: 2004-07-07 20:15  millert
                   5975:
                   5976:        * parse.c: When matching for "sudoedit" in sudoers check both the
                   5977:          command the user typed *and* the command that is listed in the
                   5978:          sudoers entry.
                   5979:
                   5980: 2004-07-04 19:59  aaron
                   5981:
                   5982:        * ldap.c: Added !command feature
                   5983:
                   5984: 2004-06-28 10:51  millert
                   5985:
                   5986:        * auth/pam.c: Use pam_acct_mgmt() to check for disabled accounts;
                   5987:          Brian Farrell
                   5988:
                   5989: 2004-06-10 23:11  millert
                   5990:
                   5991:        * LICENSE: License is ISC-style, not BSD-style
                   5992:
                   5993: 2004-06-10 20:58  millert
                   5994:
                   5995:        * CHANGES: sync
                   5996:
                   5997: 2004-06-10 16:54  millert
                   5998:
                   5999:        * sudo.man.in, sudo.cat: regen
                   6000:
                   6001: 2004-06-10 16:53  millert
                   6002:
                   6003:        * sudo.pod: o Update some out of date bits to reality o Change the
                   6004:          shell promt in examples to bourne-shell style o Clarify some
                   6005:          details o Add a CAVEAT about "sudo cd /foo"
                   6006:
                   6007: 2004-06-10 16:19  millert
                   6008:
                   6009:        * check.c: Don't ask for a password if invoking user == target
                   6010:          user.
                   6011:
                   6012: 2004-06-10 12:32  millert
                   6013:
                   6014:        * sudo.c: typo in comment
                   6015:
                   6016: 2004-06-08 19:20  millert
                   6017:
                   6018:        * sudoers.man.in, sudoers.cat: regen
                   6019:
                   6020: 2004-06-08 19:19  millert
                   6021:
                   6022:        * sudoers.pod: Expand on NOEXEC a little.
                   6023:
                   6024: 2004-06-08 16:20  millert
                   6025:
                   6026:        * TODO: sync
                   6027:
                   6028: 2004-06-08 15:58  millert
                   6029:
                   6030:        * visudo.man.in, visudo.cat: regen
                   6031:
                   6032: 2004-06-08 15:55  millert
                   6033:
                   6034:        * CHANGES, parse.yacc, visudo.c, visudo.pod: Add a check in visudo
                   6035:          for runas_default being set after it has already been used.
                   6036:
                   6037: 2004-06-08 13:53  millert
                   6038:
                   6039:        * parse.yacc: Add a MATCHED macro for testing whether foo_matches
                   6040:          has been set to TRUE or FALSE.  This is more readable than
                   6041:          checking for >=0 or < 0.  Doesn't change the actual code
                   6042:          generated.
                   6043:
                   6044: 2004-06-06 20:11  millert
                   6045:
                   6046:        * sudoers.man.in, sudoers.cat: regen
                   6047:
                   6048: 2004-06-06 20:07  millert
                   6049:
                   6050:        * sudoers, sudoers.pod: Correct description of where Defaults specs
                   6051:          should go.
                   6052:
                   6053: 2004-06-06 20:02  millert
                   6054:
                   6055:        * find_path.c, ldap.c, logging.h, testsudoers.c, visudo.c,
                   6056:          auth/bsdauth.c, auth/kerb5.c, auth/pam.c: update (c) year
                   6057:
                   6058: 2004-06-06 19:58  millert
                   6059:
                   6060:        * check.c, compat.h, defaults.c, env.c, find_path.c, getcwd.c,
                   6061:          ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c,
                   6062:          tgetpass.c, visudo.c, auth/bsdauth.c, auth/kerb5.c, auth/pam.c:
                   6063:          Remove trailing spaces, no actual code changes.
                   6064:
                   6065: 2004-06-06 16:22  millert
                   6066:
                   6067:        * parse.yacc: Fix a >=0 that should be <0 that was improperly
                   6068:          converted when UNSPEC was added.
                   6069:
                   6070: 2004-06-06 15:54  millert
                   6071:
                   6072:        * parse.yacc: Add do {} while(0) around pop macro Set cmnd_matches
                   6073:          to UNSPEC, not NOMATCH when resetting it.
                   6074:
                   6075: 2004-06-06 15:39  millert
                   6076:
                   6077:        * parse.yacc: Fix pastos introduced in SETNMATCH addition.
                   6078:
                   6079: 2004-06-05 13:55  millert
                   6080:
                   6081:        * README.LDAP: Update for configure changes
                   6082:
                   6083: 2004-06-05 13:42  millert
                   6084:
                   6085:        * parse.yacc, sudo.h: Add NOMATCH and UNSPEC defines (-1 and -2
                   6086:          respectively) and use these in parse.yacc.  Also in parse.yacc
                   6087:          initialize the *_matches vars to UNSPEC and add two macros,
                   6088:          SETMATCH and SETNMATCH for use when setting *_matches to a value
                   6089:          that may be NOMATCH/UNSPEC/TRUE/FALSE.
                   6090:
                   6091: 2004-06-05 11:17  millert
                   6092:
                   6093:        * parse.yacc: Initialize runas to -2, not -1 since we need to be
                   6094:          able to distinguish between the initialized value and the value
                   6095:          of a non-match when passing along the runas value to multiple
                   6096:          commands.
                   6097:
                   6098:          The result of this is that an unmatched runas is now set to -1,
                   6099:          not 0.  This is required now that parse.c treats a FALSE value
                   6100:          for runas as being explicitly denied.
                   6101:
                   6102: 2004-06-03 16:21  millert
                   6103:
                   6104:        * getprogname.c, sudo.c, visudo.c: Error out if argc < 1.
                   6105:
                   6106: 2004-06-03 12:37  millert
                   6107:
                   6108:        * configure, configure.in: Add tests for what libs we need to link
                   6109:          with for ldap and for whether or not lber.h needs to be
                   6110:          explicitly included.
                   6111:
                   6112: 2004-06-02 20:30  aaron
                   6113:
                   6114:        * ldap.c: Solaris native LDAP build fix
                   6115:
                   6116: 2004-06-01 16:56  millert
                   6117:
                   6118:        * ldap.c: Set edn to NULL is ldap_get_dn() fails to avoid potential
                   6119:          use of an unset variable.
                   6120:
                   6121: 2004-06-01 16:56  millert
                   6122:
                   6123:        * sudo.h: Add prototype for sudo_ldap_list_matches
                   6124:
                   6125: 2004-06-01 16:53  millert
                   6126:
                   6127:        * compat.h, config.h.in, configure, configure.in: Better check for
                   6128:          dirfd macro--we now set HAVE_DIRFD for the macro version too.
                   6129:          Added check for dd_fd in `DIR' if no dirfd is found; this is now
                   6130:          used to confitionally define the dirfd macro in compat.h.
                   6131:
                   6132: 2004-06-01 16:51  millert
                   6133:
                   6134:        * closefrom.c: Only check /proc/$$/fd if we have the dirfd
                   6135:          function/macro.
                   6136:
                   6137: 2004-06-01 15:13  millert
                   6138:
                   6139:        * compat.h, config.h.in, configure, configure.in: Add a check for a
                   6140:          dirfd() function (like Linux) and add a dirfd macro in compat.h
                   6141:          if there is no dirfd() function or macro.
                   6142:
                   6143: 2004-06-01 14:59  millert
                   6144:
                   6145:        * closefrom.c, getcwd.c: dirfd() is now defined in compat.h as
                   6146:          needed.
                   6147:
                   6148: 2004-06-01 14:30  millert
                   6149:
                   6150:        * CHANGES: Clarify closefrom() note.
                   6151:
                   6152: 2004-06-01 12:51  millert
                   6153:
                   6154:        * parse.c: When checking for a command in the directory, only copy
                   6155:          the base dir once.
                   6156:
                   6157: 2004-06-01 12:44  millert
                   6158:
                   6159:        * closefrom.c: If there is a /proc/$$/fd directory, behave like the
                   6160:          Solaris closefrom() and only close the descriptors listed
                   6161:          therein.
                   6162:
                   6163: 2004-06-01 12:23  millert
                   6164:
                   6165:        * alloc.c: compat.h guarantees INT_MAX is defined.
                   6166:
                   6167: 2004-06-01 12:23  millert
                   6168:
                   6169:        * compat.h: Add definitions of OPEN_MAX and INT_MAX for those
                   6170:          without it and remove definition of RLIM_INFINITY (now unused).
                   6171:
                   6172: 2004-05-31 21:22  millert
                   6173:
                   6174:        * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c,
                   6175:          parse.c, sudo.c, sudo.h, visudo.c: Use PATH_MAX, not MAXPATHLEN
                   6176:          since the former is standardized.
                   6177:
                   6178: 2004-05-31 19:18  millert
                   6179:
                   6180:        * CHANGES: sync
                   6181:
                   6182: 2004-05-31 19:10  millert
                   6183:
                   6184:        * RUNSON: Add some entries that were mailed in a while ago
                   6185:
                   6186: 2004-05-31 14:16  millert
                   6187:
                   6188:        * closefrom.c: o sysconf returns a long, not an int.  o check for
                   6189:          negative return value from sysconf/getdtablesize and use
                   6190:          OPEN_MAX in this case.  o define OPEN_MAX to 256 for those
                   6191:          without it (a fair guess...)
                   6192:
                   6193: 2004-05-30 12:25  millert
                   6194:
                   6195:        * UPGRADE: Mention change in parse order for RunAs entries.
                   6196:
                   6197: 2004-05-30 12:15  millert
                   6198:
                   6199:        * configure: regen
                   6200:
                   6201: 2004-05-29 18:29  millert
                   6202:
                   6203:        * config.h.in, configure.in, INSTALL, README.LDAP:  o --with-ldap
                   6204:          now takes an optional dir as a parameter
                   6205:           o added check for ldap_initialize() and start_tls_s()
                   6206:
                   6207: 2004-05-29 14:54  millert
                   6208:
                   6209:        * README.LDAP: Fix some typos, word choice and formatting issues.
                   6210:
                   6211: 2004-05-28 18:06  millert
                   6212:
                   6213:        * tgetpass.c: Use SA_INTERRUPT so SunOS works correctly, avoid
                   6214:          stdio and just use read/write as it is simpler.
                   6215:
                   6216: 2004-05-28 16:27  millert
                   6217:
                   6218:        * configure, configure.in: Remove hack overriding cross-compiler
                   6219:          check.  It should no longer be needed.
                   6220:
                   6221: 2004-05-28 16:26  millert
                   6222:
                   6223:        * compat.h: Remove select() compat bits since we no longer use
                   6224:          select().
                   6225:
                   6226: 2004-05-28 16:24  millert
                   6227:
                   6228:        * CHANGES, tgetpass.c: Use alarm() instead of select() for the
                   6229:          timeout for systems that don't fully/properly implement select().
                   6230:
                   6231: 2004-05-27 19:14  millert
                   6232:
                   6233:        * CHANGES: synbc
                   6234:
                   6235: 2004-05-27 19:12  millert
                   6236:
                   6237:        * RUNSON: update
                   6238:
                   6239: 2004-05-27 19:12  millert
                   6240:
                   6241:        * set_perms.c: Deal with systems that have no way of setting the
                   6242:          effective uid such as nsr-tandem-nsk.
                   6243:
                   6244: 2004-05-27 19:01  millert
                   6245:
                   6246:        * configure, configure.in: Define NO_SAVED_IDS if we don't find
                   6247:          seteuid()
                   6248:
                   6249: 2004-05-27 18:21  millert
                   6250:
                   6251:        * config.h.in, configure, configure.in: Add back check for
                   6252:          setreuid() since NSK doesn't have it.
                   6253:
                   6254: 2004-05-27 15:57  millert
                   6255:
                   6256:        * sudoers.cat, sudoers.man.in: regen
                   6257:
                   6258: 2004-05-27 15:56  millert
                   6259:
                   6260:        * BUGS, CHANGES: sync
                   6261:
                   6262: 2004-05-27 15:55  millert
                   6263:
                   6264:        * parse.c: In sudoers_lookup() return VALIDATE_NOT_OK if the runas
                   6265:          user was explicitly denied and the command matched.  This fixes a
                   6266:          long-standing bug and makes:     foo machine = (ALL)
                   6267:          /usr/bin/blah     foo machine = (!bar) /usr/bin/blah
                   6268:
                   6269:          equivalent to:     foo machine = (ALL, !bar) /usr/bin/blah
                   6270:
                   6271: 2004-05-27 15:52  millert
                   6272:
                   6273:        * sudoers.pod: Clarify mail_noperm
                   6274:
                   6275: 2004-05-19 21:25  aaron
                   6276:
                   6277:        * Makefile.in: Missing DESTDIR in make install for sudo_noexec.la
                   6278:
                   6279: 2004-05-17 18:32  millert
                   6280:
                   6281:        * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
                   6282:          sudoers.cat, visudo.cat: regen
                   6283:
                   6284: 2004-05-17 18:31  millert
                   6285:
                   6286:        * TODO: sync
                   6287:
                   6288: 2004-05-17 18:31  millert
                   6289:
                   6290:        * sample.sudoers, sudoers.pod: Remove fastboot/fasthalt (who still
                   6291:          remembers these?) and add a minimal sudoedit example.
                   6292:
                   6293: 2004-05-17 18:21  millert
                   6294:
                   6295:        * CHANGES, INSTALL, TROUBLESHOOTING, UPGRADE, sudo.c, visudo.c:
                   6296:          filesystem -> file system
                   6297:
                   6298: 2004-05-17 18:19  millert
                   6299:
                   6300:        * sudo.pod, sudoers.pod: Fix some minor typos and formatting goofs
                   6301:
                   6302: 2004-05-17 18:10  millert
                   6303:
                   6304:        * lex.yy.c: regen
                   6305:
                   6306: 2004-05-17 17:57  millert
                   6307:
                   6308:        * visudo.pod: remove my email addr
                   6309:
                   6310: 2004-05-17 17:55  millert
                   6311:
                   6312:        * sudo.pod, sudoers.pod, visudo.pod: Use @mansectform@ and
                   6313:          @mansectsu@ everywhere Make man page references links with L<>
                   6314:
                   6315: 2004-05-17 16:51  millert
                   6316:
                   6317:        * parse.lex: Accept quoted globbing characters and pass them
                   6318:          verbatim for fnmatch()
                   6319:
                   6320: 2004-05-17 16:50  millert
                   6321:
                   6322:        * UPGRADE: Document that /tmp/.odus is gone.
                   6323:
                   6324: 2004-05-17 16:28  millert
                   6325:
                   6326:        * CHANGES, aclocal.m4, configure, pathnames.h.in: No longer use
                   6327:          /tmp/.odus as a possible timestamp dir unless specifically
                   6328:          configured to do so.  Instead, if no /var/run exists, use
                   6329:          /var/adm/sudo or /usr/adm/sudo.
                   6330:
                   6331: 2004-05-17 16:08  millert
                   6332:
                   6333:        * check.c, compat.h, logging.c, set_perms.c, sudo.c, tgetpass.c,
                   6334:          visudo.c: Preliminary changes to support nsr-tandem-nsk.  Based
                   6335:          on patches from Tom Bates.
                   6336:
                   6337: 2004-05-16 18:47  millert
                   6338:
                   6339:        * CHANGES: There was no 1.6.7p6.
                   6340:
                   6341: 2004-05-16 16:38  millert
                   6342:
                   6343:        * BUGS, CHANGES: sync
                   6344:
                   6345: 2004-05-16 16:36  millert
                   6346:
                   6347:        * Makefile.in: add missing files to DISTFILES
                   6348:
                   6349: 2004-05-16 16:23  millert
                   6350:
                   6351:        * sudoers.man.in, sudo.cat, sudoers.cat, visudo.cat: regen
                   6352:
                   6353: 2004-05-16 16:20  millert
                   6354:
                   6355:        * Makefile.in: Fix some line wrap and update (c) year
                   6356:
                   6357: 2004-04-28 15:05  aaron
                   6358:
                   6359:        * README.LDAP: Build Note
                   6360:
                   6361: 2004-04-06 22:03  aaron
                   6362:
                   6363:        * Makefile.in: Fix install-dirs
                   6364:
                   6365: 2004-04-04 20:27  millert
                   6366:
                   6367:        * visudo.c: In Exit() when used as a signal handler, emsg is a
                   6368:          pointer so sizeof() is wrong so make it a #define instead.  Also
                   6369:          avoid using a negative exit value.  Found by Aaron Campbell
                   6370:
                   6371: 2004-03-24 18:23  millert
                   6372:
                   6373:        * sudoers.pod: Remove bogus sentence about uids in a User_List.
                   6374:          Document usernames vs. uid parsing in a Runas_List.
                   6375:
                   6376: 2004-03-24 18:06  millert
                   6377:
                   6378:        * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c: If
                   6379:          the user specified a uid with the -u flag and the uid exists in
                   6380:          the passwd file, set runas_user to the name, not the uid.
                   6381:
                   6382:          When comparing usernames in sudoers, if a name is really a uid
                   6383:          (starts with '#') compare it numerically to pw_uid.
                   6384:
                   6385: 2004-03-22 13:35  millert
                   6386:
                   6387:        * auth/kerb5.c: krb5_mcc_ops should be const; Johnny C. Lam
                   6388:
                   6389: 2004-02-28 18:54  aaron
                   6390:
                   6391:        * CHANGES, config.h.in, ldap.c: Added start_tls support
                   6392:
                   6393: 2004-02-14 18:04  millert
                   6394:
                   6395:        * Makefile.in: Clean up libtool stuff for 'make distclean' and add
                   6396:          def_data.c, def_data.h to PARSESRCS.
                   6397:
                   6398: 2004-02-14 10:13  aaron
                   6399:
                   6400:        * strlcat.c, strlcpy.c: Un-Fix last license munge
                   6401:
                   6402: 2004-02-13 16:37  millert
                   6403:
                   6404:        * CHANGES, RUNSON, TODO: checkpoint
                   6405:
                   6406: 2004-02-13 16:37  millert
                   6407:
                   6408:        * lex.yy.c, configure: regen
                   6409:
                   6410: 2004-02-13 16:36  millert
                   6411:
                   6412:        * LICENSE, Makefile.binary, Makefile.in, alloc.c, check.c,
                   6413:          closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
                   6414:          find_path.c, getprogname.c, getspwuid.c, goodpath.c, ins_2001.h,
                   6415:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   6416:          interfaces.h, ldap.c, logging.c, logging.h, parse.c, parse.h,
                   6417:          parse.lex, parse.yacc, pathnames.h.in, set_perms.c, sigaction.c,
                   6418:          strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in,
                   6419:          sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.man.in,
                   6420:          sudoers.pod, testsudoers.c, tgetpass.c, utime.c, version.h,
                   6421:          visudo.c, visudo.man.in, visudo.pod, zero_bytes.c, auth/afs.c,
                   6422:          auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
                   6423:          auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
                   6424:          auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   6425:          auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
                   6426:          emul/search.h, emul/utime.h: More to a less restrictive,
                   6427:          ISC-style license.
                   6428:
                   6429: 2004-02-12 21:08  aaron
                   6430:
                   6431:        * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in,
                   6432:          def_data.c, def_data.h, def_data.in, ldap.c, sudo.c, sudo.h,
                   6433:          sudoers2ldif: Merged in LDAP Support
                   6434:
                   6435: 2004-02-08 15:53  millert
                   6436:
                   6437:        * sudo.h, sudo_noexec.c: Only do "extern int errno" if errno is not
                   6438:          a macro.
                   6439:
                   6440: 2004-02-06 18:08  millert
                   6441:
                   6442:        * set_perms.c: setreuid(0, 0) fails on QNX if the euid is not
                   6443:          already 0 so set the euid first, then just call setuid(0) to set
                   6444:          the real uid too.
                   6445:
                   6446: 2004-02-06 14:52  millert
                   6447:
                   6448:        * set_perms.c: Use setresuid() and setreuid() for PERM_RUNAS when
                   6449:          appropriate instead of seteuid() which may not exist.
                   6450:
                   6451: 2004-02-04 14:58  millert
                   6452:
                   6453:        * LICENSE: 2004
                   6454:
                   6455: 2004-02-03 23:38  millert
                   6456:
                   6457:        * INSTALL, config.h.in, configure, configure.in, ins_classic.h: Add
                   6458:          --with-pc-insults configure option
                   6459:
                   6460: 2004-02-03 23:32  millert
                   6461:
                   6462:        * visudo.man.in: Prefer VISUAL over EDITOR like old vipw did.
                   6463:
                   6464: 2004-02-01 15:45  millert
                   6465:
                   6466:        * sudo.man.in, sudoers.man.in: regen
                   6467:
                   6468: 2004-02-01 15:44  millert
                   6469:
                   6470:        * sudoers.pod: Add a note that noexec is not a cure-all.
                   6471:
                   6472: 2004-02-01 15:20  millert
                   6473:
                   6474:        * sudoers.pod: Mention that disabling "root_sudo" is pretty
                   6475:          pointless.
                   6476:
                   6477: 2004-02-01 15:20  millert
                   6478:
                   6479:        * configure, configure.in: Substitute for root_sudo in sudoers.pod
                   6480:
                   6481: 2004-02-01 15:03  millert
                   6482:
                   6483:        * sudo.pod: Add sudoedit to the NAME section
                   6484:
                   6485: 2004-02-01 15:00  millert
                   6486:
                   6487:        * sudoers.pod: Document that fact that setting ignore_dot in
                   6488:          sudoers has no effect due to the fact that find_path() is called
                   6489:          *before* sudoers is read.
                   6490:
                   6491: 2004-01-29 19:50  millert
                   6492:
                   6493:        * sudo_edit.c: Do not require _PATH_USRTMP to be set.
                   6494:
                   6495: 2004-01-29 19:42  millert
                   6496:
                   6497:        * BUGS, CHANGES, TODO: sync
                   6498:
                   6499: 2004-01-29 19:42  millert
                   6500:
                   6501:        * sudo.man.in: regen
                   6502:
                   6503: 2004-01-29 19:41  millert
                   6504:
                   6505:        * sudo.pod: Clarify that when sudo is run by root with the
                   6506:          SUDO_USER variable set, the sudoers lookup happens for root and
                   6507:          not the SUDO_USER user.
                   6508:
                   6509: 2004-01-29 17:33  millert
                   6510:
                   6511:        * defaults.c, env.c, fnmatch.c, interfaces.c, logging.c, parse.c,
                   6512:          set_perms.c, sigaction.c, sudo.c, tgetpass.c, auth/pam.c,
                   6513:          auth/sudo_auth.c: Use the SET, CLR and ISSET macros.
                   6514:
                   6515: 2004-01-29 16:22  millert
                   6516:
                   6517:        * interfaces.h: MAIN was replaced with _SUDO_MAIN some time ago.
                   6518:
                   6519: 2004-01-29 16:15  millert
                   6520:
                   6521:        * sudo.c: Don't look at prev_user until after we've parsed sudoers
                   6522:          and done the password check.  That way, if sudo/sudoedit is run
                   6523:          from a root process that was invoked by sudo, we check sudoers
                   6524:          for root, not the previous user.  This makes sudoedit much more
                   6525:          useful and means that for the sudo case, we get correct logging
                   6526:          on who actually ran the command.
                   6527:
                   6528: 2004-01-22 19:22  millert
                   6529:
                   6530:        * sudo_edit.c: Add a comment describing why we need to be notified
                   6531:          about our child stopping.
                   6532:
                   6533: 2004-01-22 16:06  millert
                   6534:
                   6535:        * def_data.c, def_data.in: Update the noexec variable descriptions
                   6536:
                   6537: 2004-01-22 14:18  millert
                   6538:
                   6539:        * sudoers.man.in, sudoers.pod: noexec now replaces more than just
                   6540:          execve()
                   6541:
                   6542: 2004-01-22 12:14  millert
                   6543:
                   6544:        * sudo_noexec.c: Alas, all the world does not go through execve(2).
                   6545:          Many systems still have an execv(2) system call, Linux 2.6
                   6546:          provides fexecve(2) and it is not uncommon for libc to have
                   6547:          underscore ('_') versions of the functions to be used internally
                   6548:          by the library.  Instead of stubbing all these out by hand,
                   6549:          define a macro and let it do the work.  Extra exec functions
                   6550:          pointed out by Reznic Valery.
                   6551:
                   6552: 2004-01-21 21:57  millert
                   6553:
                   6554:        * sudo.c, sudo_edit.c: Fix suspending the editor in -e mode.
                   6555:          Because we do a fork() first we need to be notified when the
                   6556:          child has been stopped and then send that same signal to ourself
                   6557:          so the shell can do its job control thing.
                   6558:
                   6559: 2004-01-21 21:44  millert
                   6560:
                   6561:        * visudo.c: Use WIFEXITED and WEXITSTATUS macros.  If there are
                   6562:          systems out there that want to run sudo that still don't support
                   6563:          these we can try to deal with that later.
                   6564:
                   6565: 2004-01-21 20:03  millert
                   6566:
                   6567:        * lex.yy.c: regen
                   6568:
                   6569: 2004-01-21 20:00  millert
                   6570:
                   6571:        * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod: Document sudo
                   6572:          -e / sudoedit
                   6573:
                   6574: 2004-01-21 19:08  millert
                   6575:
                   6576:        * configure, configure.in: fix typo
                   6577:
                   6578: 2004-01-21 19:02  millert
                   6579:
                   6580:        * config.h.in, configure.in: Add SET/CLR/ISSET
                   6581:
                   6582: 2004-01-21 18:55  millert
                   6583:
                   6584:        * sudo.c: Allow non-exclusive flags when invoked as sudoedit.
                   6585:          Pretty print the long usage() line to not wrap (assumes 80 char
                   6586:          display)
                   6587:
                   6588: 2004-01-21 18:01  millert
                   6589:
                   6590:        * Makefile.in, sudo.c: If sudo is invoked as "sudoedit" the -e flag
                   6591:          is implied and no other flags are permitted.
                   6592:
                   6593: 2004-01-21 18:00  millert
                   6594:
                   6595:        * sudo.h: Add a new flag, -e, that makes it possible to give users
                   6596:          the ability to edit files with the editor of their choice as the
                   6597:          invoking user, not the runas user.  Temporary files are used for
                   6598:          the actual edit and the temp file is copied over the original
                   6599:          after the editor is done.
                   6600:
                   6601: 2004-01-21 17:25  millert
                   6602:
                   6603:        * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c: Add a new
                   6604:          flag, -e, that makes it possible to give users the ability to
                   6605:          edit files with the editor of their choice as the invoking user,
                   6606:          not the runas user.  Temporary files are used for the actual edit
                   6607:          and the temp file is copied over the original after the editor is
                   6608:          done.
                   6609:
                   6610: 2004-01-21 17:06  millert
                   6611:
                   6612:        * sudo.c, env.c: If real uid == 0 and the SUDO_USER environment
                   6613:          variables is set, use that to determine the invoking user's true
                   6614:          identity.  That way the proper info gets logged by someone who
                   6615:          has done "sudo su" but still uses sudo to as root.  We can't do
                   6616:          this for non-root users since that would open up a security hole,
                   6617:          though perhaps it would be acceptable to use getlogin(2) on OSes
                   6618:          where this a system call (and doesn't just look in the utmp
                   6619:          file).
                   6620:
                   6621: 2004-01-21 16:58  millert
                   6622:
                   6623:        * pathnames.h.in: Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
                   6624:
                   6625: 2004-01-21 16:57  millert
                   6626:
                   6627:        * configure, config.h.in, configure.in: Add check for fchown(2)
                   6628:
                   6629: 2004-01-20 14:22  millert
                   6630:
                   6631:        * sudo.c: Back out portions of the -i commit that set NewArgv[0] in
                   6632:          set_runaspw.  It is far to late to set NewArgv[0] there and will
                   6633:          have no effect anyway as cmnd and safe_cmnd have already been
                   6634:          set.
                   6635:
                   6636: 2004-01-20 14:18  millert
                   6637:
                   6638:        * visudo.c, visudo.pod: Prefer VISUAL over EDITOR like old vipw
                   6639:          did.
                   6640:
                   6641: 2004-01-18 20:17  millert
                   6642:
                   6643:        * env.c, sudo.c: In -i mode always set new environment based on the
                   6644:          runas user's passwd entry.
                   6645:
                   6646: 2004-01-18 17:56  millert
                   6647:
                   6648:        * sudo.man.in, sudo.pod: Document the new -i flag and sync SYNOPSIS
                   6649:          section with usage() in sudo.c.  Also sort the flags in the
                   6650:          OPTIONS section.
                   6651:
                   6652: 2004-01-18 17:55  millert
                   6653:
                   6654:        * sudo.c, sudo.h: o Add -i that acts similar to "su -", based on
                   6655:          patches from David J. MacKenzie o Sort the flags in the usage
                   6656:          message
                   6657:
                   6658: 2004-01-18 17:22  millert
                   6659:
                   6660:        * sudoers.man.in, sudoers.pod: Add a missing @runas_default@
                   6661:          substitution.
                   6662:
                   6663: 2004-01-17 16:34  millert
                   6664:
                   6665:        * sudo.c: Change euid to runas user before calling find_path().
                   6666:          Unfortunately, though runas_user can be modified in sudoers we
                   6667:          haven't parsed sudoers yet.
                   6668:
                   6669: 2004-01-17 16:25  millert
                   6670:
                   6671:        * sudoers.man.in, sudoers.pod: Add missing defintion of
                   6672:          Parameter_List and use single pipes in the Defaults EBNF
                   6673:          definition.
                   6674:
                   6675: 2004-01-17 13:49  millert
                   6676:
                   6677:        * sudo.c: Fix a bug when set_runaspw() is used as a callback.  We
                   6678:          don't want to reset the contents of runas_pw if the user
                   6679:          specified a user via the -u flag.
                   6680:
                   6681:          Avoid unnecessary passwd lookups in set_authpw().  In most cases
                   6682:          we already have the info in runas_pw.
                   6683:
                   6684: 2004-01-16 18:16  millert
                   6685:
                   6686:        * check.c: Add Stan Lee / Uncle Ben quote to the lecture from
                   6687:          RedHat
                   6688:
                   6689: 2004-01-16 18:12  millert
                   6690:
                   6691:        * sudo.h: Update sudo_getepw() proto and add one for set_runaspw()
                   6692:
                   6693: 2004-01-16 18:10  millert
                   6694:
                   6695:        * parse.c: If we can't stat the command as root, try as the runas
                   6696:          user instead.
                   6697:
                   6698: 2004-01-16 18:09  millert
                   6699:
                   6700:        * testsudoers.c, visudo.c: Add stub set_runaspw() function
                   6701:
                   6702: 2004-01-16 18:09  millert
                   6703:
                   6704:        * sudo.c: Add set_runaspw() function to fill in runas_pw.  This
                   6705:          will be used as a callback to update runas_pw when the runas user
                   6706:          changes.
                   6707:
                   6708: 2004-01-16 18:07  millert
                   6709:
                   6710:        * env.c, sudo.c: PERM_RUNAS -> PERM_FULL_RUNAS
                   6711:
                   6712: 2004-01-16 18:05  millert
                   6713:
                   6714:        * set_perms.c, sudo.h: Rename PERM_RUNAS -> PERM_FULL_RUNAS and add
                   6715:          a PERM_RUNAS that just changes the euid.
                   6716:
                   6717: 2004-01-16 18:04  millert
                   6718:
                   6719:        * getspwuid.c: Make sudo_pwdup() act like OpenBSD pw_dup() and
                   6720:          allocate memory in one chunk for easy free()ing.  Also change it
                   6721:          from static to extern.
                   6722:
                   6723: 2004-01-16 18:03  millert
                   6724:
                   6725:        * defaults.c, defaults.h: Add callback support
                   6726:
                   6727: 2004-01-16 18:02  millert
                   6728:
                   6729:        * def_data.c, def_data.in, mkdefaults: Add a callback field and use
                   6730:          it for runas_default
                   6731:
                   6732: 2004-01-15 15:13  millert
                   6733:
                   6734:        * auth/fwtk.c: Add support for chalnecho and display server
                   6735:          responses used by fwtk >= 2.0
                   6736:
                   6737: 2004-01-12 18:39  millert
                   6738:
                   6739:        * sudoers.man.in, sudoers.pod: ld.so is ld.so.1 on solaris
                   6740:
                   6741: 2004-01-12 14:03  millert
                   6742:
                   6743:        * Makefile.in, config.h.in, configure, configure.in, sudo.c,
                   6744:          sudo.h: Use closefrom() instead of doing the equivalent inline.
                   6745:
                   6746: 2004-01-12 13:55  millert
                   6747:
                   6748:        * closefrom.c: closefrom(3) for systems w/o it
                   6749:
                   6750: 2004-01-09 16:29  millert
                   6751:
                   6752:        * sudoers.man.in: Update from .pod file.
                   6753:
                   6754: 2004-01-09 16:26  millert
                   6755:
                   6756:        * configure, configure.in: Substitute noexec_file for the sudoers
                   6757:          man page
                   6758:
                   6759: 2004-01-09 16:24  millert
                   6760:
                   6761:        * sudo.man.in, sudo.pod: Mention noexec
                   6762:
                   6763: 2004-01-09 16:16  millert
                   6764:
                   6765:        * sudoers.man.in, sudoers.pod: Document noexec
                   6766:
                   6767: 2004-01-09 14:38  millert
                   6768:
                   6769:        * config.h.in, configure.in, auth/pam.c: Move PAM_CONST macro
                   6770:          definition from config.h to pam.c where it belongs.  We can't
                   6771:          have this in config.h since that gets included too early.
                   6772:
                   6773: 2004-01-09 14:35  millert
                   6774:
                   6775:        * config.h.in, configure, configure.in, auth/pam.c: Some PAM
                   6776:          implementations put their headers in /usr/include/pam instead of
                   6777:          /usr/include/security.
                   6778:
                   6779: 2004-01-09 14:32  millert
                   6780:
                   6781:        * configure.in: I missed changing the EXEC macro -> EXECV here when
                   6782:          I changed this in config.h.in and sudo.c a while ago.
                   6783:
                   6784: 2004-01-09 13:15  millert
                   6785:
                   6786:        * acsite.m4: OpenBSD vax/m88k/hppa don't do shared libs
                   6787:
                   6788: 2004-01-09 03:29  millert
                   6789:
                   6790:        * configure, configure.in: o merge the hpux case entries into a
                   6791:          single entry w/ its own sub-case statement.  o HP-UX >= 11
                   6792:          support getspnam(), use it in preference to getprpwuid()
                   6793:
                   6794: 2004-01-09 02:58  millert
                   6795:
                   6796:        * configure, configure.in: eval $shrext so that it expands nicely
                   6797:          on MacOS X
                   6798:
                   6799: 2004-01-09 02:50  millert
                   6800:
                   6801:        * Makefile.in: Don't lie about making a module, it does the wrong
                   6802:          thing on mach
                   6803:
                   6804: 2004-01-09 02:49  millert
                   6805:
                   6806:        * ltmain.sh: Remove requirement that libs must begin with "lib".
                   6807:          They don't when we point directly at the lib using LD_PRELOAD or
                   6808:          its equivalent.
                   6809:
                   6810: 2004-01-09 02:01  millert
                   6811:
                   6812:        * acsite.m4: Disable support for c++, f77 and java.  We don't need
                   6813:          it, it takes a lot of time, and it hosed our check for shared lib
                   6814:          support.
                   6815:
                   6816: 2004-01-09 02:00  millert
                   6817:
                   6818:        * configure: regen
                   6819:
                   6820: 2004-01-09 02:00  millert
                   6821:
                   6822:        * configure.in: Call AC_ENABLE_SHARED and check the status of
                   6823:          enable_shared to know when shared libs are available.
                   6824:
                   6825: 2004-01-09 01:37  millert
                   6826:
                   6827:        * acsite.m4: Duh, OpenBSD suports shared libs too
                   6828:
                   6829: 2004-01-09 01:18  millert
                   6830:
                   6831:        * configure.in, config.h.in: Only OpenPAM and Linux PAM use const
                   6832:          qualifiers.
                   6833:
                   6834: 2004-01-09 01:15  millert
                   6835:
                   6836:        * configure, configure.in: o No need to check for sed, libtool
                   6837:          config does that for us o move check for --with-noexec until
                   6838:          after libtool magic is run so we   can use $can_build_shared and
                   6839:          $shrext
                   6840:
                   6841: 2004-01-09 01:14  millert
                   6842:
                   6843:        * ltmain.sh: Don't print a bunch of crap about library installs
                   6844:          since we are not really installing a library.
                   6845:
                   6846: 2004-01-09 00:38  millert
                   6847:
                   6848:        * env.c: Make format_env() varargs Add noexec support for Darwin,
                   6849:          MacOS X, Irix, and Tru64
                   6850:
                   6851: 2004-01-09 00:32  millert
                   6852:
                   6853:        * acsite.m4, ltconfig, ltmain.sh: Update to libtool 1.5 with local
                   6854:          changes:  o no ldconfig in the finish step  o assume no libprefix
                   6855:          or version is needed
                   6856:
                   6857: 2004-01-09 00:15  millert
                   6858:
                   6859:        * sudo_noexec.c: Fix compilation under K&R
                   6860:
                   6861: 2004-01-06 09:31  millert
                   6862:
                   6863:        * CHANGES: checkpoint
                   6864:
                   6865: 2004-01-06 09:28  millert
                   6866:
                   6867:        * sudo_noexec.c: stub execve() that just returns EACCES; used for
                   6868:          noexec functionality
                   6869:
                   6870: 2004-01-06 01:42  millert
                   6871:
                   6872:        * sudo.tab.h: Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2
                   6873:          issue with generated code.
                   6874:
                   6875: 2004-01-05 16:10  millert
                   6876:
                   6877:        * def_data.c, def_data.h, def_data.in: Move the environment
                   6878:          defaults to the end and shorten a few of the descriptions.
                   6879:
                   6880: 2004-01-05 15:05  millert
                   6881:
                   6882:        * configure.in, configure: no shared libs on ultris or convexos
                   6883:
                   6884: 2004-01-05 15:03  millert
                   6885:
                   6886:        * Makefile.in, configure, configure.in: Build sudo_noexec shared
                   6887:          object using libtool; could use some cleanup.
                   6888:
                   6889: 2004-01-05 14:59  millert
                   6890:
                   6891:        * acsite.m4, ltconfig, ltmain.sh: libtool scaffolding
                   6892:
                   6893: 2004-01-05 14:56  millert
                   6894:
                   6895:        * parse.yacc: Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so
                   6896:          that order is not important.
                   6897:
                   6898: 2004-01-05 12:15  millert
                   6899:
                   6900:        * defaults.c, env.c, parse.c, parse.h, parse.lex, parse.yacc,
                   6901:          pathnames.h.in, sudo.c, sudo.h, lex.yy.c: update copyright year
                   6902:
                   6903: 2004-01-04 22:58  millert
                   6904:
                   6905:        * configure, configure.in, defaults.c, env.c, pathnames.h.in: Add
                   6906:          _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
                   6907:          option.  The default value of noexec_file is set to this.
                   6908:
                   6909: 2004-01-04 21:48  millert
                   6910:
                   6911:        * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
                   6912:          parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.h: Add
                   6913:          support for preloading a shared object containing a dummy
                   6914:          execve() function that just sets error and returns -1.  This adds
                   6915:          a "noexec_file" option to load the filename as well as a "noexec"
                   6916:          flag to enable it unconditionally.  There is also a NOEXEC tag
                   6917:          that can be attached to specific commands and an EXEC tag to
                   6918:          disable it.
                   6919:
                   6920: 2004-01-04 21:40  millert
                   6921:
                   6922:        * mkdefaults: add missing newline to usage statement
                   6923:
                   6924: 2004-01-04 20:39  millert
                   6925:
                   6926:        * config.h.in, sudo.c: Rename EXEC macro -> EXECV
                   6927:
                   6928: 2004-01-04 20:16  millert
                   6929:
                   6930:        * logging.c: Don't truncate usernames to 8 characters in the log
                   6931:          message.
                   6932:
                   6933: 2004-01-04 20:13  millert
                   6934:
                   6935:        * check.c, sudoers.man.in, sudoers.pod: Update copyright year
                   6936:
                   6937: 2004-01-04 20:12  millert
                   6938:
                   6939:        * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
                   6940:          sudoers.pod: Add a new option, lecture_file, that can be used to
                   6941:          point to a custom sudo lecture.
                   6942:
                   6943: 2003-12-31 17:46  millert
                   6944:
                   6945:        * Makefile.in, sudo.h, zero_bytes.c, auth/aix_auth.c,
                   6946:          auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c: Add a
                   6947:          zero_bytes() function to do the equivalent of bzero in such a way
                   6948:          that will heopfully not be optimized away by sneaky compilers.
                   6949:
                   6950: 2003-12-31 13:35  millert
                   6951:
                   6952:        * err.c: Use #ifdef __STDC__, not #if __STDC__.
                   6953:
                   6954: 2003-12-30 17:41  millert
                   6955:
                   6956:        * mkdefaults: Always put at least one space between the def_* macro
                   6957:          name and its definition.
                   6958:
                   6959: 2003-12-30 17:34  millert
                   6960:
                   6961:        * configure, configure.in: Adjust code for --without-lecture to
                   6962:          match new values.
                   6963:
                   6964: 2003-12-30 17:33  millert
                   6965:
                   6966:        * visudo.man.in: regen after pasto fix
                   6967:
                   6968: 2003-12-30 17:31  millert
                   6969:
                   6970:        * sudoers.man.in, sudoers.pod: Document that "lecture" has changed
                   6971:          from a flag to a tuple.
                   6972:
                   6973: 2003-12-30 17:31  millert
                   6974:
                   6975:        * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
                   6976:          defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h: Add
                   6977:          support for tuples in def_data.in; these are implemented as an
                   6978:          enum type.  Currently there is only a single tuple enum but in
                   6979:          the future we may have one tuple enum per T_TUPLE entry in
                   6980:          def_data.in.  Currently listpw, verifypw and lecture are tuples.
                   6981:          This avoids the need to have two entries (one ival, one str) for
                   6982:          pwflags and syslog values.
                   6983:
                   6984:          lecture is now a tuple with the following values: never, once,
                   6985:          always
                   6986:
                   6987:          We no longer use both an int and string entry for syslog
                   6988:          facilities and priorities.  Instead, there are logfac2str() and
                   6989:          logpri2str() functions that get used when we need to print the
                   6990:          string values.
                   6991:
                   6992: 2003-12-30 17:20  millert
                   6993:
                   6994:        * check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
                   6995:          logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
                   6996:          visudo.c, auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c,
                   6997:          auth/pam.c, auth/rfc1938.c, auth/securid5.c, auth/sia.c,
                   6998:          auth/sudo_auth.c: Create def_* macros for each defaults value so
                   6999:          we no longer need the def_{flag,ival,str,list,mode} macros (which
                   7000:          have been removed).  This is a step toward more flexible data
                   7001:          types in def_data.in.
                   7002:
                   7003: 2003-12-30 15:55  millert
                   7004:
                   7005:        * TODO: checkpoint
                   7006:
                   7007: 2003-12-22 21:18  millert
                   7008:
                   7009:        * sudo.c: If we are in -k/-K mode, just spew to stderr.  It is not
                   7010:          unusual for users to place "sudo -k" in a .logout file which can
                   7011:          cause sudo to be run during reboot after the YP/NIS/NIS+/LDAP/etc
                   7012:          daemon has died.  Previously, this would result in useless mail
                   7013:          and logging.
                   7014:
                   7015: 2003-12-16 13:51  millert
                   7016:
                   7017:        * visudo.pod: fix pasto in VISUAL description
                   7018:
                   7019: 2003-12-09 22:09  millert
                   7020:
                   7021:        * configure: regen
                   7022:
                   7023: 2003-12-09 22:08  millert
                   7024:
                   7025:        * CHANGES: checkpoint
                   7026:
                   7027: 2003-12-09 22:02  millert
                   7028:
                   7029:        * TROUBLESHOOTING: Some OSes (like Solaris) allow export w/ nosuid
                   7030:          too
                   7031:
                   7032: 2003-08-12 16:45  millert
                   7033:
                   7034:        * compat.h: We don't use FD_ZERO anymore so just define FD_SET (if
                   7035:          not already there).
                   7036:
                   7037: 2003-06-28 21:31  millert
                   7038:
                   7039:        * auth/pam.c: Fix a core dump on Solaris by preserving the
                   7040:          pam_handle_t we used during authentication for pam_prep_user().
                   7041:          If we didn't authenticate (ie: ticket still valid), we call
                   7042:          pam_init() from pam_prep_user().  This is something of a hack; it
                   7043:          may be better to change the auth API and add an auth_final()
                   7044:          function that acts like pam_prep_user().
                   7045:
                   7046: 2003-06-21 12:50  millert
                   7047:
                   7048:        * set_perms.c: Add explicit declaration of printerr variable in
                   7049:          function header (was defaulting to int which is OK but oh so K&R
                   7050:          :-).  From Theo.
                   7051:
                   7052: 2003-06-09 19:00  millert
                   7053:
                   7054:        * config.h.in, configure.in: s/HAVE_STOW/USE_STOW/
                   7055:
                   7056: 2003-06-09 16:07  millert
                   7057:
                   7058:        * logging.c: Also exit waitpid() loop when pid == 0.  Fixes a
                   7059:          problem where the sudo process would spin eating up CPU until
                   7060:          sendmail finished when it has to send mail.
                   7061:
                   7062: 2003-05-30 16:22  millert
                   7063:
                   7064:        * fnmatch.3, fnmatch.c: Remove advertising clause, UCB has
                   7065:          disavowed it
                   7066:
                   7067: 2003-05-21 21:53  millert
                   7068:
                   7069:        * parse.c: Don't assume that getgrnam() calls don't modify contents
                   7070:          of struct passwd returned by getpwnam().  On FreeBSD w/ NIS this
                   7071:          can happen.  Based on a patch from Kirk Webb.
                   7072:
                   7073: 2003-05-06 11:25  millert
                   7074:
                   7075:        * configure.in: missing ;;
                   7076:
                   7077: 2003-05-06 00:53  millert
                   7078:
                   7079:        * configure.in: darwin has a broken setreuid() in at least some
                   7080:          versions
                   7081:
                   7082: 2003-05-06 00:31  millert
                   7083:
                   7084:        * env.c: Fix an off by one error when reallocating the environment;
                   7085:          Kevin Pye
                   7086:
                   7087: 2003-04-30 14:04  millert
                   7088:
                   7089:        * sudoers.pod: Fix User_Spec definition; SEKINE Tatsuo
                   7090:
                   7091: 2003-04-28 19:30  millert
                   7092:
                   7093:        * HISTORY: More info on the early days from Coggs.
                   7094:
                   7095: 2003-04-21 14:47  millert
                   7096:
                   7097:        * auth/kerb5.c: remove errant semicolon that prevented compilation
                   7098:          under heimdal
                   7099:
                   7100: 2003-04-15 20:42  millert
                   7101:
                   7102:        * Makefile.in, alloc.c, check.c, compat.h, defaults.c, defaults.h,
                   7103:          env.c, fileops.c, find_path.c, getprogname.c, getspwuid.c,
                   7104:          goodpath.c, interfaces.c, interfaces.h, logging.c, parse.c,
                   7105:          parse.lex, parse.yacc, pathnames.h.in, set_perms.c, sigaction.c,
                   7106:          strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
                   7107:          sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, utime.c,
                   7108:          version.h, visudo.c, visudo.man.in, visudo.pod, auth/afs.c,
                   7109:          auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
                   7110:          auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
                   7111:          auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   7112:          auth/securid5.c, auth/sia.c, auth/sudo_auth.c: add DARPA credit
                   7113:          on affected files
                   7114:
                   7115: 2003-04-15 20:25  millert
                   7116:
                   7117:        * LICENSE: slightly different wording for the darpa credit
                   7118:
                   7119: 2003-04-15 14:37  millert
                   7120:
                   7121:        * LICENSE: Add DARPA credit
                   7122:
                   7123: 2003-04-14 16:49  millert
                   7124:
                   7125:        * auth/kerb5.c: Use krb5_princ_component() instead of
                   7126:          krb5_princ_realm() for MIT Kerberos like we did before I messed
                   7127:          things up ;-)
                   7128:
                   7129:          Use krb5_principal_get_comp_string() to do the same thing w/
                   7130:          Heimdal.  I'm not sure if the component should be 0 or 1 in this
                   7131:          case.
                   7132:
                   7133:          #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
                   7134:          older versions lack ENCTYPE_DES_CBC_MD5.  This is gross and there
                   7135:          should be a configure check for this I guess.
                   7136:
                   7137: 2003-04-13 15:48  millert
                   7138:
                   7139:        * TROUBLESHOOTING, config.h.in, configure, configure.in,
                   7140:          sample.sudoers: builtin -> built-in; Jason McIntyre
                   7141:
                   7142: 2003-04-13 15:45  millert
                   7143:
                   7144:        * sudoers.pod: built in -> built-in; Jason McIntyre
                   7145:
                   7146: 2003-04-09 16:14  millert
                   7147:
                   7148:        * CHANGES: checkpoint for 1.6.7p3
                   7149:
                   7150: 2003-04-09 16:14  millert
                   7151:
                   7152:        * HISTORY: Update info on the early years @ SUNY-Buffalo from Cliff
                   7153:          Spencer.  Amazingly, sudo source from 1985 is available via
                   7154:          groups.google.com
                   7155:
                   7156: 2003-04-09 16:13  millert
                   7157:
                   7158:        * sudo.c: Don't change rl.rlim_max for RLIMIT_CORE.  We need only
                   7159:          set rl.rlim_cur to 0 to turn off core dumps.  This may be needed
                   7160:          for the RLIMIT_CORE restoration on some OSes.
                   7161:
                   7162: 2003-04-04 12:46  millert
                   7163:
                   7164:        * auth/kerb5.c: Make this compile on Heimdal and MIT Kerberos 5
                   7165:
                   7166: 2003-04-04 12:45  millert
                   7167:
                   7168:        * config.h.in, configure, configure.in: Check for heimdal even if
                   7169:          we found krb5-config and define HAVE_HEIMDAL.
                   7170:
                   7171: 2003-04-03 22:04  millert
                   7172:
                   7173:        * auth/kerb5.c: Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5.
                   7174:          The former is no longer defined by MIT kerb5 (though it used to
                   7175:          be and indeed remains so in Heimdal).
                   7176:
                   7177: 2003-04-03 10:16  millert
                   7178:
                   7179:        * mkinstalldirs: Remove newer stuff that passes multiple (possibly
                   7180:          duplicate) directories to "mkdir -p" since that seems to break on
                   7181:          Tru64 Unix at least.  This basically brings back what shipped
                   7182:          with sudo 1.6.6.
                   7183:
                   7184: 2003-04-02 13:57  millert
                   7185:
                   7186:        * auth/kerb5.c: Correct number of args to
                   7187:          krb5_principal_get_realm() and fix an unclosed comment that hid
                   7188:          the bug.
                   7189:
                   7190: 2003-04-02 13:45  millert
                   7191:
                   7192:        * configure: regen
                   7193:
                   7194: 2003-04-02 13:45  millert
                   7195:
                   7196:        * BUGS, CHANGES, INSTALL, INSTALL.binary, Makefile.in, README,
                   7197:          configure.in, version.h: ++version
                   7198:
                   7199: 2003-04-02 13:44  millert
                   7200:
                   7201:        * configure.in: use krb5-config to determine Kerberos V details if
                   7202:          it exists
                   7203:
                   7204: 2003-04-02 13:25  millert
                   7205:
                   7206:        * alloc.c, check.c, compat.h, defaults.c, env.c, find_path.c,
                   7207:          interfaces.c, logging.c, parse.c, sudo.c, sudo.h, testsudoers.c,
                   7208:          visudo.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
                   7209:          auth/securid5.c, auth/sia.c: Use warn/err and getprogname()
                   7210:          throughout.  The main exception is openlog().  Since the admin
                   7211:          may be filtering logs based on the program name in the log files,
                   7212:          hard code this to "sudo".
                   7213:
                   7214: 2003-04-02 13:16  millert
                   7215:
                   7216:        * Makefile.in: Add getprogname.c and err.c
                   7217:
                   7218: 2003-04-02 13:15  millert
                   7219:
                   7220:        * configure: regen
                   7221:
                   7222: 2003-04-02 13:15  millert
                   7223:
                   7224:        * configure.in, config.h.in: Add checks for getprognam(),
                   7225:          __progname and err.h
                   7226:
                   7227: 2003-04-02 13:14  millert
                   7228:
                   7229:        * err.c, emul/err.h: For systems withour err/warn functions.
                   7230:
                   7231: 2003-04-02 13:14  millert
                   7232:
                   7233:        * getprogname.c: For systems neither getprogname() nor __progname;
                   7234:          uses Argv[0].
                   7235:
                   7236: 2003-04-01 10:09  millert
                   7237:
                   7238:        * CHANGES: checkpoint for 1.6.7p1
                   7239:
                   7240: 2003-04-01 10:02  millert
                   7241:
                   7242:        * sudo.c, testsudoers.c: fix strlcpy() rval check (innocuous)
                   7243:
                   7244: 2003-04-01 09:58  millert
                   7245:
                   7246:        * check.c: oflow detection in expand_prompt() was faulty (false
                   7247:          positives).  The count was based on strlcat() return value which
                   7248:          includes the length of the entire string.
                   7249:
                   7250: 2003-03-30 19:02  millert
                   7251:
                   7252:        * CHANGES, RUNSON, TODO: checkpoint for the sudo 1.6.7 release
                   7253:
                   7254: 2003-03-24 16:09  millert
                   7255:
                   7256:        * logging.c: g/c unused variable
                   7257:
                   7258: 2003-03-24 11:06  millert
                   7259:
                   7260:        * configure: regen
                   7261:
                   7262: 2003-03-24 11:05  millert
                   7263:
                   7264:        * configure.in: use man sections 8 and 5 for csops
                   7265:
                   7266: 2003-03-21 18:11  millert
                   7267:
                   7268:        * configure: regen
                   7269:
                   7270: 2003-03-21 15:10  millert
                   7271:
                   7272:        * configure.in: Add -lskey or -lopie directly to SUDO_LIBS instead
                   7273:          of having AC_CHECK_LIB() add them to LIBS.  Fixes visudo linkage.
                   7274:
                   7275: 2003-03-21 14:02  millert
                   7276:
                   7277:        * configure: regen
                   7278:
                   7279: 2003-03-21 14:01  millert
                   7280:
                   7281:        * INSTALL, aclocal.m4, configure.in: Add --with-blibpath for AIX.
                   7282:          An alternate libpath may be specified or -blibpath support can be
                   7283:          disabled.  Also change conifgure such that -blibpath is not
                   7284:          specified if no -L libpaths were added to SUDO_LDFLAGS.
                   7285:
                   7286: 2003-03-20 22:05  millert
                   7287:
                   7288:        * configure.in: add AIX blibpath support
                   7289:
                   7290: 2003-03-20 20:28  millert
                   7291:
                   7292:        * INSTALL, configure.in: --with-skey and --with-opie now take an
                   7293:          option directory argument This obsoletes a --with-csops hack
                   7294:          (/tools/cs/skey)
                   7295:
                   7296:          Also remove the remaining direct uses of "echo"
                   7297:
                   7298: 2003-03-20 17:44  millert
                   7299:
                   7300:        * configure.in: Detect KTH Kerberos IV and deal with it.  Also make
                   7301:          -lroken optional for KTH Kerberos IV and V.
                   7302:
                   7303: 2003-03-20 14:42  millert
                   7304:
                   7305:        * aclocal.m4: Add SUDO_APPEND_LIBPATH function that add
                   7306:          -L/path/to/dir (and -R/path/to/dir if $with_rpath) to the
                   7307:          specified variable.
                   7308:
                   7309: 2003-03-20 14:40  millert
                   7310:
                   7311:        * INSTALL, configure.in: Add -R/path/to/libs for Solaris and SVR4.
                   7312:          There is a new configure option, --with-rpath to control this
                   7313:          behavior.
                   7314:
                   7315: 2003-03-19 23:50  millert
                   7316:
                   7317:        * configure.in: for kerb4 put libdes after libkrb on the link line
                   7318:
                   7319: 2003-03-19 23:49  millert
                   7320:
                   7321:        * auth/kerb4.c: typo
                   7322:
                   7323: 2003-03-19 23:33  millert
                   7324:
                   7325:        * configure.in: fix kerberos lib check when a path is specified
                   7326:
                   7327: 2003-03-19 21:04  millert
                   7328:
                   7329:        * logging.c: Fix boolean thinko in SIGCHLD reaper and call
                   7330:          reapchild after sending mail instead of doing a conditional
                   7331:          sudo_waitpid.
                   7332:
                   7333: 2003-03-19 16:20  millert
                   7334:
                   7335:        * configure: regen
                   7336:
                   7337: 2003-03-19 16:19  millert
                   7338:
                   7339:        * configure.in: replace =DIR with [=DIR] where sensible
                   7340:
                   7341: 2003-03-19 16:16  millert
                   7342:
                   7343:        * configure.in: o Use AC_MSG_* instead of "echo" o New Kerberos
                   7344:          include/lib detection based on openssh's configure.in
                   7345:
                   7346: 2003-03-19 15:58  millert
                   7347:
                   7348:        * INSTALL: --with-kerb4 and --with-kerb5 now take an optional
                   7349:          argument.
                   7350:
                   7351: 2003-03-15 22:03  millert
                   7352:
                   7353:        * auth/securid.c: Kill remaining strcpy(), the programmer's guide
                   7354:          says username is 32 bytes.
                   7355:
                   7356: 2003-03-15 21:18  millert
                   7357:
                   7358:        * auth/kerb4.c: trat uid_t as unsigned long for printf and use
                   7359:          snprintf, not sprintf
                   7360:
                   7361: 2003-03-15 21:18  millert
                   7362:
                   7363:        * auth/rfc1938.c: use snprintf
                   7364:
                   7365: 2003-03-15 15:37  millert
                   7366:
                   7367:        * auth/: afs.c, aix_auth.c, bsdauth.c, dce.c, fwtk.c, kerb4.c,
                   7368:          kerb5.c, pam.c, passwd.c, rfc1938.c, sudo_auth.c: update
                   7369:          copyright year
                   7370:
                   7371: 2003-03-15 15:31  millert
                   7372:
                   7373:        * LICENSE, alloc.c, check.c, configure.in, env.c, sudo.c,
                   7374:          Makefile.in, aclocal.m4, compat.h, find_path.c, interfaces.c,
                   7375:          logging.c, parse.c, parse.lex, parse.yacc, set_perms.c, sudo.h,
                   7376:          sudo.pod, sudoers.pod, testsudoers.c, version.h, visudo.c,
                   7377:          visudo.pod, sudo.man.in, sudoers.man.in, visudo.man.in: update
                   7378:          copyright year
                   7379:
                   7380: 2003-03-15 15:19  millert
                   7381:
                   7382:        * check.c, env.c, sudo.c: Cast [ug]ids to unsigned long and printf
                   7383:          with %lu
                   7384:
                   7385: 2003-03-15 15:17  millert
                   7386:
                   7387:        * configure: regen
                   7388:
                   7389: 2003-03-15 15:16  millert
                   7390:
                   7391:        * configure.in: correct error messages for
                   7392:          --with-sudoers-{mode,uid,gid}
                   7393:
                   7394: 2003-03-15 15:10  millert
                   7395:
                   7396:        * alloc.c: make the malloc(0) error specific to each function to
                   7397:          aid tracking down bugs.
                   7398:
                   7399: 2003-03-15 14:49  millert
                   7400:
                   7401:        * alloc.c: deal with platforms where size_t is signed and there is
                   7402:          no SIZE_MAX or SIZE_T_MAX
                   7403:
                   7404: 2003-03-15 14:10  millert
                   7405:
                   7406:        * auth/kerb5.c: Make this compile w/ Heimdal and fix some gcc
                   7407:          warnings.
                   7408:
                   7409: 2003-03-15 13:02  millert
                   7410:
                   7411:        * sudo.c: Use stat_sudoers macro so --with-stow can work
                   7412:
                   7413: 2003-03-15 13:01  millert
                   7414:
                   7415:        * INSTALL, config.h.in, configure, configure.in: Add support for
                   7416:          --with-stow based on patches from Robert Uhl
                   7417:
                   7418: 2003-03-15 12:51  millert
                   7419:
                   7420:        * env.c: fix indentation
                   7421:
                   7422: 2003-03-15 00:21  millert
                   7423:
                   7424:        * configure.in: back out rev 1.352
                   7425:
                   7426: 2003-03-14 20:11  millert
                   7427:
                   7428:        * lex.yy.c: regen
                   7429:
                   7430: 2003-03-14 20:11  millert
                   7431:
                   7432:        * parse.lex: use strlcpy, not strncpy
                   7433:
                   7434: 2003-03-14 19:48  millert
                   7435:
                   7436:        * set_perms.c: Fix typo; check pw_uid, not pw_gid after
                   7437:          setusercontext() failure.
                   7438:
                   7439: 2003-03-14 19:43  millert
                   7440:
                   7441:        * logging.c: use pid_t
                   7442:
                   7443: 2003-03-14 10:43  millert
                   7444:
                   7445:        * strlcat.c, strlcpy.c: Make gcc shutup about unused rcsid
                   7446:
                   7447: 2003-03-14 10:35  millert
                   7448:
                   7449:        * interfaces.c: Move the n == 0 check for the non-getifaddrs cas
                   7450:
                   7451: 2003-03-13 21:47  millert
                   7452:
                   7453:        * auth/rfc1938.c: skeychallenge() on NetBSD take a size parameter
                   7454:
                   7455: 2003-03-13 21:38  millert
                   7456:
                   7457:        * configure: regen
                   7458:
                   7459: 2003-03-13 21:38  millert
                   7460:
                   7461:        * configure.in: put -ldl after -lpam, not before; fixes static
                   7462:          linking on Linux
                   7463:
                   7464: 2003-03-13 21:17  millert
                   7465:
                   7466:        * interfaces.c: Avoid malloc(0) and fix the loop invariant for the
                   7467:          getifaddrs() case.
                   7468:
                   7469: 2003-03-13 20:24  millert
                   7470:
                   7471:        * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
                   7472:          sudoers.cat, visudo.cat: regen
                   7473:
                   7474: 2003-03-13 20:23  millert
                   7475:
                   7476:        * Makefile.in: Preserve copyright notice from .pod file in .man.in
                   7477:          file
                   7478:
                   7479: 2003-03-13 20:01  millert
                   7480:
                   7481:        * visudo.pod: Add sudoers(5) to SEE ALSO
                   7482:
                   7483: 2003-03-13 15:27  millert
                   7484:
                   7485:        * lex.yy.c: regen
                   7486:
                   7487: 2003-03-13 15:27  millert
                   7488:
                   7489:        * parse.lex: Don't assume libc can realloc() a NULL string.  If
                   7490:          malloc/realloc fails, make sure we just return; yyerror() is not
                   7491:          terminal.
                   7492:
                   7493: 2003-03-13 15:17  millert
                   7494:
                   7495:        * lex.yy.c: regen
                   7496:
                   7497: 2003-03-13 15:17  millert
                   7498:
                   7499:        * parse.lex: simplify fill_args a little and use strlcpy for
                   7500:          paranoia
                   7501:
                   7502: 2003-03-13 15:00  millert
                   7503:
                   7504:        * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
                   7505:          testsudoers.c: Use strlc{at,py} for paranoia's sake and exit on
                   7506:          overflow.  In all cases the strings were either pre-allocated to
                   7507:          the correct size of length checks were done before the copy but a
                   7508:          little paranoia can go a long way.
                   7509:
                   7510: 2003-03-13 12:54  millert
                   7511:
                   7512:        * sudo.h: Add strlc{at,py} protos
                   7513:
                   7514: 2003-03-13 12:03  millert
                   7515:
                   7516:        * env.c, interfaces.c: Use erealloc3()
                   7517:
                   7518: 2003-03-13 12:00  millert
                   7519:
                   7520:        * configure: regen
                   7521:
                   7522: 2003-03-13 12:00  millert
                   7523:
                   7524:        * alloc.c: Oflow test of nmemb > SIZE_MAX / size is fine (don't
                   7525:          need >=).  Use memcpy() instead of strcpy() in estrdup() so this
                   7526:          is strcpy()-free.
                   7527:
                   7528: 2003-03-13 11:58  millert
                   7529:
                   7530:        * sudo.c: snprintf() a uid as %lu, not %ld to match the
                   7531:          MAX_UID_T_LEN test in configure.
                   7532:
                   7533: 2003-03-13 11:56  millert
                   7534:
                   7535:        * aclocal.m4: In MAX_UID_T_LEN test cast uid_t to unsigned long,
                   7536:          just unsigned.
                   7537:
                   7538: 2003-03-12 18:46  millert
                   7539:
                   7540:        * sudo.c: Use snprintf() for paranoia
                   7541:
                   7542: 2003-03-12 17:16  millert
                   7543:
                   7544:        * parse.yacc: Use emalloc2 and erealloc3
                   7545:
                   7546: 2003-03-12 17:08  millert
                   7547:
                   7548:        * Makefile.in: strlc{at,py} for those w/o it
                   7549:
                   7550: 2003-03-12 17:07  millert
                   7551:
                   7552:        * strlcat.c, strlcpy.c: stlc{at,py} for those w/o it.
                   7553:
                   7554: 2003-03-12 17:07  millert
                   7555:
                   7556:        * config.h.in, configure, configure.in: Add stlc{at,py} for those
                   7557:          w/o it.
                   7558:
                   7559: 2003-03-12 16:51  millert
                   7560:
                   7561:        * alloc.c, sudo.h: Add erealloc3(), a realloc() version of
                   7562:          emalloc2().
                   7563:
                   7564: 2003-03-12 16:45  millert
                   7565:
                   7566:        * interfaces.c, sudo.c: Use emalloc2() to allocate N things of a
                   7567:          certain size.
                   7568:
                   7569: 2003-03-12 16:41  millert
                   7570:
                   7571:        * alloc.c, sudo.h: Add emalloc2() -- like calloc() but w/o the
                   7572:          bzero and with error/oflow checking.
                   7573:
                   7574: 2003-03-12 16:23  millert
                   7575:
                   7576:        * alloc.c: Error out on malloc(0); suggested by theo
                   7577:
                   7578: 2003-03-09 19:34  millert
                   7579:
                   7580:        * configure, configure.in: fix a typo; David Krause
                   7581:
                   7582: 2003-03-07 10:46  millert
                   7583:
                   7584:        * sudo.pod: fix typo
                   7585:
                   7586: 2003-03-03 21:47  millert
                   7587:
                   7588:        * env.c: Remove DYLD_ from the environment for MacOS X; from bbraun
                   7589:
                   7590: 2003-03-01 13:20  millert
                   7591:
                   7592:        * configure.in, config.h.in: not not; Anil Madhavapeddy
                   7593:
                   7594: 2003-01-23 03:03  millert
                   7595:
                   7596:        * sudo.pod, sudoers.pod, visudo.pod: typos; jmc@openbsd.org
                   7597:
                   7598: 2003-01-20 16:13  millert
                   7599:
                   7600:        * parse.yacc: Add some missing ';' rule terminators that bison
                   7601:          warns about.
                   7602:
                   7603: 2003-01-20 16:07  millert
                   7604:
                   7605:        * config.sub: fix typo I introduced in last merge
                   7606:
                   7607: 2003-01-20 15:59  millert
                   7608:
                   7609:        * configure: regenerate with autoconf 2.57
                   7610:
                   7611: 2003-01-20 15:58  millert
                   7612:
                   7613:        * config.h.in: Add missing "$HOME"
                   7614:
                   7615: 2003-01-20 15:57  millert
                   7616:
                   7617:        * configure.in: Add some more square backets to make autoconf 2.57
                   7618:          happy
                   7619:
                   7620: 2003-01-20 14:39  millert
                   7621:
                   7622:        * config.guess, config.sub, mkinstalldirs: Updates from
                   7623:          autoconf-2.57
                   7624:
                   7625: 2003-01-17 18:10  millert
                   7626:
                   7627:        * lex.yy.c, sudo.tab.h: regen
                   7628:
                   7629: 2003-01-17 18:09  millert
                   7630:
                   7631:        * parse.lex, parse.yacc, sudoers.pod: Add support for
                   7632:          Defaults>RunasUser
                   7633:
                   7634: 2003-01-06 19:10  millert
                   7635:
                   7636:        * visudo.c: fclose() yyin after each yyparse() is done and use
                   7637:          fopen() instead of using freopen().
                   7638:
                   7639: 2003-01-06 19:02  millert
                   7640:
                   7641:        * parse.lex: Better fix for sudoers files w/o a newline before EOF.
                   7642:          It looks like the issue is that yyrestart() does not reset the
                   7643:          start condition to INITIAL which is an issue since we parse
                   7644:          sudoers multiple times.
                   7645:
                   7646: 2003-01-06 18:47  millert
                   7647:
                   7648:        * parse.lex: Work around what appears to be a flex bug when dealing
                   7649:          with files that lack a final newline before EOF.  This adds a
                   7650:          rule to match EOF in the non-initial states which resets the
                   7651:          state to INITIAL and throws an error.
                   7652:
                   7653: 2003-01-06 15:06  millert
                   7654:
                   7655:        * visudo.c: o The parser needs sudoers to end with a newline but
                   7656:          some editors (emacs) may   not add one.  Check for a missing
                   7657:          newline at EOF and add one if needed.  o Set quiet flag during
                   7658:          initial sudoers parse (to get options) o Move yyrestart() call
                   7659:          and always use freopen() to open yyin after   initial sudoers
                   7660:          parse.
                   7661:
                   7662: 2002-12-15 11:24  millert
                   7663:
                   7664:        * set_perms.c: Fix pasto/thinko in setresgid()/setregid() usage.
                   7665:          Want to set effective gid, not real gid, when reading sudoers.
                   7666:
                   7667: 2002-12-15 11:08  millert
                   7668:
                   7669:        * set_perms.c: don't compile set_perms_posix if we have setreuid or
                   7670:          setresuid
                   7671:
                   7672: 2002-12-14 14:21  millert
                   7673:
                   7674:        * sudo.pod, sudoers.pod: document new prompt escapes
                   7675:
                   7676: 2002-12-14 14:15  millert
                   7677:
                   7678:        * check.c: Add %U and %H escapes and redo prompt rewriting.  "%%"
                   7679:          now gets collapsed to "%" as was originally intended.  This also
                   7680:          gets rid of lastchar (does lookahead instead of lookback) which
                   7681:          should simplify the logic slightly.
                   7682:
                   7683: 2002-12-13 13:20  millert
                   7684:
                   7685:        * tgetpass.c: Write the prompt *after* turning off echo to avoid
                   7686:          some password characters being echoed on heavily-loaded machines
                   7687:          with fast typists.
                   7688:
                   7689: 2002-12-13 13:09  millert
                   7690:
                   7691:        * config.sub: Add support for mipseb; wiz@danbala.tuwien.ac.at
                   7692:
                   7693: 2002-12-13 12:48  millert
                   7694:
                   7695:        * configure.in: Fix IRIX fallout from name changes in man dir/sect
                   7696:          Makefile variables.  Patch from erici AT motown DOT cc DOT utexas
                   7697:          DOT edu
                   7698:
                   7699: 2002-12-13 11:33  millert
                   7700:
                   7701:        * auth/pam.c: Keep a local copy of tgetpass_flags so we don't add
                   7702:          in TGP_ECHO to the global copy.  Problem noted by Peter Pentchev.
                   7703:
                   7704: 2002-11-28 18:43  millert
                   7705:
                   7706:        * parse.yacc: Add missing yyerror() calls; YYERROR does not seem to
                   7707:          call this for us.
                   7708:
                   7709: 2002-11-26 12:09  millert
                   7710:
                   7711:        * sudo.c: fix typo in comment; Pedro Bastos
                   7712:
                   7713: 2002-11-22 14:41  millert
                   7714:
                   7715:        * INSTALL: document --disable-setresuid
                   7716:
                   7717: 2002-11-22 14:41  millert
                   7718:
                   7719:        * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sudo_auth.c:
                   7720:          Sprinkle some volatile qualifiers to prevent over-enthusiastic
                   7721:          optimizers from removing memset() calls.
                   7722:
                   7723: 2002-11-22 14:11  millert
                   7724:
                   7725:        * logging.c, parse.yacc: minor sign fixes pointed out by gcc
                   7726:          -Wsign-compare
                   7727:
                   7728: 2002-11-22 14:09  millert
                   7729:
                   7730:        * set_perms.c, sudo.c, sudo.h: Revamp set_perms.  We now use a
                   7731:          version based on setresuid() or setreuid() when possible since
                   7732:          that allows us to support the stay_setuid option and we always
                   7733:          know exactly what the semantics will be (various Linux kernels
                   7734:          have broken POSIX saved uid support).
                   7735:
                   7736: 2002-11-22 14:08  millert
                   7737:
                   7738:        * config.h.in, configure: regen from configure.in
                   7739:
                   7740: 2002-11-22 14:07  millert
                   7741:
                   7742:        * configure.in: Add checks for setresuid() and a way to disable
                   7743:          using it
                   7744:
                   7745: 2002-11-22 14:05  millert
                   7746:
                   7747:        * compat.h: No long need to emulate set*[ug]id() via setres[ug]id()
                   7748:          or setre[ug]id().  The new set_perms stuff only uses things it
                   7749:          knows are there.
                   7750:
                   7751: 2002-11-22 13:33  millert
                   7752:
                   7753:        * sudo.c: Before exec, restore state of signal handlers to be the
                   7754:          same as when we were initialy invoked instead of just reseting to
                   7755:          SIG_DFL.  Fixes a problem when using sudo with nohup.  Based on a
                   7756:          patch from Paul Markham.
                   7757:
                   7758: 2002-11-22 13:23  millert
                   7759:
                   7760:        * sudo.c: o timestamp_uid should be uid_t, not int o clarify error
                   7761:          message when sudo is run by root and no_root_sudo is set
                   7762:
                   7763: 2002-09-19 17:27  millert
                   7764:
                   7765:        * README: update ftp link for bison
                   7766:
                   7767: 2002-07-20 08:30  millert
                   7768:
                   7769:        * set_perms.c: Error out if setusercontext() fails and the runas
                   7770:          user is not root.
                   7771:
                   7772: 2002-05-20 16:51  millert
                   7773:
                   7774:        * auth/securid5.c: Fix rcsid
                   7775:
                   7776: 2002-05-20 16:50  millert
                   7777:
                   7778:        * configure.in: Fix SecurID API test
                   7779:
                   7780: 2002-05-17 13:20  millert
                   7781:
                   7782:        * env.c: typo in comment
                   7783:
                   7784: 2002-05-17 13:20  millert
                   7785:
                   7786:        * configure.in: securid5 stuff needs pthreads.  Just adding
                   7787:          -lpthread is suboptimal but I don't see a better way at the
                   7788:          moment.
                   7789:
                   7790: 2002-05-17 13:04  millert
                   7791:
                   7792:        * Makefile.in, auth/securid5.c: SecurID API version 5 support from
                   7793:          Michael Stroucken
                   7794:
                   7795: 2002-05-17 13:02  millert
                   7796:
                   7797:        * configure.in: Add check for SecurID 5.0 API
                   7798:
                   7799: 2002-05-08 16:46  millert
                   7800:
                   7801:        * strerror.c: We actually do still need config.h to get the 'const'
                   7802:          definition for K&R C.
                   7803:
                   7804: 2002-05-05 16:43  millert
                   7805:
                   7806:        * configure: regen with autoconf 2.5.3
                   7807:
                   7808: 2002-05-05 16:25  millert
                   7809:
                   7810:        * configure.in: Don't set sysconfdir to '/etc' if the user has
                   7811:          specified a --prefix.
                   7812:
                   7813: 2002-05-05 16:14  millert
                   7814:
                   7815:        * configure.in: Some fixes for autoconf 2.53 from Robert Uhl  o
                   7816:          don't AC_SUBST LIBOBJS  o force a 4th arg for AC_CHECK_HEADER()
                   7817:          to workaround a bug
                   7818:
                   7819: 2002-05-05 15:58  millert
                   7820:
                   7821:        * env.c, sudo.c, sudo.h: No need for dump_badenv() now that
                   7822:          dump_defaults() knows how to dump lists.
                   7823:
                   7824: 2002-05-04 21:31  millert
                   7825:
                   7826:        * BUGS, INSTALL, Makefile.in, configure.in, version.h,
                   7827:          INSTALL.binary, README: ++version
                   7828:
                   7829: 2002-05-04 20:57  millert
                   7830:
                   7831:        * sudoers.pod: document timestampowner
                   7832:
                   7833: 2002-05-04 20:45  millert
                   7834:
                   7835:        * check.c: Don't call set_perms() when doing timestamp stuff unless
                   7836:          timestamp_uid != 0.
                   7837:
                   7838: 2002-05-04 20:43  millert
                   7839:
                   7840:        * check.c, logging.c, parse.c, set_perms.c, sudo.c, sudo.h,
                   7841:          testsudoers.c, auth/sudo_auth.c: g/c second arg to set_perms--it
                   7842:          is no longer used
                   7843:
                   7844: 2002-05-03 18:48  millert
                   7845:
                   7846:        * check.c, set_perms.c, sudo.c, sudo.h: Add support for non-root
                   7847:          timestamp dirs.  This allows the timestamp dir to be shared via
                   7848:          NFS (though this is not recommended).
                   7849:
                   7850: 2002-05-03 18:47  millert
                   7851:
                   7852:        * def_data.c, def_data.h, def_data.in: Add timestampowner, "Owner
                   7853:          of the authentication timestamp dir"
                   7854:
                   7855: 2002-05-02 15:40  millert
                   7856:
                   7857:        * env.c: Don't try to pre-compute the size of the new envp, just
                   7858:          allocate space up front and realloc as needed.  Changes to the
                   7859:          new env pointer must all be made through insert_env() which now
                   7860:          keeps track of spaced used and allocates as needed.
                   7861:
                   7862: 2002-04-26 15:12  millert
                   7863:
                   7864:        * configure: regen
                   7865:
                   7866: 2002-04-26 15:12  millert
                   7867:
                   7868:        * configure.in: Fix two typo/pastos; from jrj@purdue.edu
                   7869:
                   7870: 2002-04-25 11:36  millert
                   7871:
                   7872:        * INSTALL.binary, README: ++version
                   7873:
                   7874: 2002-04-25 11:35  millert
                   7875:
                   7876:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   7877:          visudo.man.in, configure: regen
                   7878:
                   7879: 2002-04-25 11:31  millert
                   7880:
                   7881:        * CHANGES, RUNSON, TODO: Sync with 1.6.6
                   7882:
                   7883: 2002-04-25 11:30  millert
                   7884:
                   7885:        * check.c: The the loop used to expand %h and %u, the lastchar
                   7886:          variable was not being initialized.  This means that if the last
                   7887:          char in the prompt is '%' and the first char is 'h' or 'u' a
                   7888:          extra copy of the host or user name would be copied, for which
                   7889:          space had not been allocated.
                   7890:
                   7891: 2002-04-18 11:41  millert
                   7892:
                   7893:        * BUGS, INSTALL, Makefile.in, configure.in, version.h: crank
                   7894:          version to 1.6.6
                   7895:
                   7896: 2002-04-18 11:39  millert
                   7897:
                   7898:        * auth/afs.c: #undef VOID to get rid of an AFS warning
                   7899:
                   7900: 2002-04-18 11:38  millert
                   7901:
                   7902:        * env.c: Use easprintf instead of emalloc + sprintf for some
                   7903:          things.
                   7904:
                   7905: 2002-03-15 19:45  millert
                   7906:
                   7907:        * lex.yy.c: regen
                   7908:
                   7909: 2002-03-15 19:44  millert
                   7910:
                   7911:        * parse.c, parse.lex, parse.yacc, testsudoers.c: Remove Chris
                   7912:          Jepeway's email address so people don't bug him ;-)
                   7913:
                   7914: 2002-03-11 22:19  millert
                   7915:
                   7916:        * sudo.c: Move endpwent() to be after set_perms(PERM_RUNAS, ...)
                   7917:          and also call endgrent() at the same time.
                   7918:
                   7919: 2002-02-21 22:23  millert
                   7920:
                   7921:        * INSTALL: Make it clear which configure options take arguments.
                   7922:
                   7923: 2002-01-25 13:38  millert
                   7924:
                   7925:        * compat.h: HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY.  If there
                   7926:          is no RLIM_INFINITY, just pretend it is -1.  This works because
                   7927:          we only check for RLIM_INFINITY and do not set anything to that
                   7928:          value.
                   7929:
                   7930: 2002-01-22 11:43  millert
                   7931:
                   7932:        * auth/pam.c: Zero and free allocated memory when there is a
                   7933:          conversation error.
                   7934:
                   7935: 2002-01-21 22:37  millert
                   7936:
                   7937:        * auth/bsdauth.c: Use sigaction() not signal()
                   7938:
                   7939: 2002-01-21 22:26  millert
                   7940:
                   7941:        * INSTALL: Mention that some linux kernels have broken POSIX saved
                   7942:          ID support
                   7943:
                   7944: 2002-01-21 21:03  millert
                   7945:
                   7946:        * CHANGES: checkpoint for 1.6.5p2
                   7947:
                   7948: 2002-01-21 21:01  millert
                   7949:
                   7950:        * configure: regen
                   7951:
                   7952: 2002-01-21 21:01  millert
                   7953:
                   7954:        * configure.in: Add --disable-setreuid flag
                   7955:
                   7956: 2002-01-21 21:00  millert
                   7957:
                   7958:        * INSTALL: Document new --disable-setreuid option and change
                   7959:          description for --disable-saved-ids to match new error message.
                   7960:
                   7961: 2002-01-21 21:00  millert
                   7962:
                   7963:        * set_perms.c: fatal() now takes an argument that determines
                   7964:          whether or not to call perror().
                   7965:
                   7966: 2002-01-21 20:58  millert
                   7967:
                   7968:        * PORTING, TROUBLESHOOTING: Update for new error messages from
                   7969:          set_perms()
                   7970:
                   7971: 2002-01-21 17:46  millert
                   7972:
                   7973:        * auth/pam.c: Make this compile w/o warnings
                   7974:
                   7975: 2002-01-21 17:36  millert
                   7976:
                   7977:        * auth/pam.c: Mention that we can't use pam_acct_mgmt()
                   7978:
                   7979: 2002-01-21 17:25  millert
                   7980:
                   7981:        * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c: The user's password
                   7982:          was not zeroed after use when AIX authentication, BSD
                   7983:          authentication, FWTK or PAM was in use.
                   7984:
                   7985: 2002-01-20 14:21  millert
                   7986:
                   7987:        * auth/pam.c: Avoid giving PAM a NULL password response, use the
                   7988:          empty string instead.  This avoids a log warning when the user
                   7989:          hits ^C at the password prompt when PAM is in use.
                   7990:
                   7991: 2002-01-19 19:46  millert
                   7992:
                   7993:        * auth/pam.c: Don't check the return value of pam_setcred().  In
                   7994:          Linux-PAM 0.75 pam_setcred() returns the last saved return code,
                   7995:          not the return code for the setcred module.  Because we haven't
                   7996:          called pam_authenticate(), this is not set and so pam_setcred()
                   7997:          returns PAM_PERM_DENIED.
                   7998:
                   7999: 2002-01-19 19:43  millert
                   8000:
                   8001:        * Makefile.binary, Makefile.in: Don't need a '/' between $(DESTDIR)
                   8002:          and a directory.
                   8003:
                   8004: 2002-01-18 14:18  millert
                   8005:
                   8006:        * configure: regen
                   8007:
                   8008: 2002-01-18 14:18  millert
                   8009:
                   8010:        * configure.in: o BSDi also has a bogus setreuid() o Old FreeBSD
                   8011:          has a bogus setreuid() o new NetBSD has a real setreuid() o add
                   8012:          check for freeifaddrs() if getifaddrs() exists.
                   8013:
                   8014: 2002-01-18 14:17  millert
                   8015:
                   8016:        * config.h.in, interfaces.c: Older BSDi releases lack freeifaddrs()
                   8017:          so add a test for that and if it is not present just use free().
                   8018:
                   8019: 2002-01-17 11:30  millert
                   8020:
                   8021:        * CHANGES, RUNSON: Checkpoint for 1.6.5p1
                   8022:
                   8023: 2002-01-17 10:56  millert
                   8024:
                   8025:        * auth/passwd.c: Return AUTH_FAILURE in passwd_init() if
                   8026:          skeyaccess() denies access to normal passwords, not AUTH_FATAL
                   8027:          (which just causes an exit).
                   8028:
                   8029: 2002-01-17 10:35  millert
                   8030:
                   8031:        * visudo.c: Don't use memory after it has been freed.
                   8032:
                   8033: 2002-01-17 00:24  millert
                   8034:
                   8035:        * auth/passwd.c: skeyaccess() wants a struct passwd * not a char *;
                   8036:          Patch from Phillip E. Lobbes
                   8037:
                   8038: 2002-01-16 20:00  millert
                   8039:
                   8040:        * BUGS: ++version
                   8041:
                   8042: 2002-01-16 19:53  millert
                   8043:
                   8044:        * CHANGES, RUNSON, TODO: checkpoint for sudo 1.6.5
                   8045:
                   8046: 2002-01-16 18:37  millert
                   8047:
                   8048:        * configure: regen
                   8049:
                   8050: 2002-01-16 18:37  millert
                   8051:
                   8052:        * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
                   8053:          version 1.6.5
                   8054:
                   8055: 2002-01-16 18:37  millert
                   8056:
                   8057:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   8058:          visudo.man.in: sudo version 1.6.5
                   8059:
                   8060: 2002-01-16 16:28  millert
                   8061:
                   8062:        * logging.c: o when invoking the mailer as root use a hard-coded
                   8063:          environment that   doesn't include any info from the user's
                   8064:          environment.  Basically   paranoia.
                   8065:
                   8066:          o Add support for the NO_ROOT_MAILER compile-time option and run
                   8067:          the   mailer as the user and not root if NO_ROOT_MAILER is
                   8068:          defined.
                   8069:
                   8070: 2002-01-16 16:27  millert
                   8071:
                   8072:        * set_perms.c, sudo.h: Bring back PERM_FULL_USER
                   8073:
                   8074: 2002-01-16 16:26  millert
                   8075:
                   8076:        * configure: regen
                   8077:
                   8078: 2002-01-16 16:26  millert
                   8079:
                   8080:        * version.h: version 1.6.5
                   8081:
                   8082: 2002-01-16 16:26  millert
                   8083:
                   8084:        * INSTALL, config.h.in, configure.in: Add --disable-root-mailer
                   8085:          option to run the mailer as the user and not root.
                   8086:
                   8087: 2002-01-16 12:44  millert
                   8088:
                   8089:        * CHANGES: checkpoint for 1.6.4p2
                   8090:
                   8091: 2002-01-15 19:22  millert
                   8092:
                   8093:        * PORTING: Mention the "seteuid(0): Operation not permitted"
                   8094:          problem here too just for good measure.
                   8095:
                   8096: 2002-01-15 18:43  millert
                   8097:
                   8098:        * env.c, getspwuid.c, sudo.c: The SHELL environment variable was
                   8099:          preserved from the user's environment instead of being reset
                   8100:          based on the passwd database when the "env_reset" option was
                   8101:          used.  Now it is reset as it should be.
                   8102:
                   8103: 2002-01-15 17:47  millert
                   8104:
                   8105:        * configure: regen
                   8106:
                   8107: 2002-01-15 17:47  millert
                   8108:
                   8109:        * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
                   8110:          sudo.c: Add a configure option to turn off use of POSIX saved IDs
                   8111:
                   8112: 2002-01-15 15:48  millert
                   8113:
                   8114:        * configure: regen
                   8115:
                   8116: 2002-01-15 15:48  millert
                   8117:
                   8118:        * configure.in: add --with-efence option
                   8119:
                   8120: 2002-01-15 15:39  millert
                   8121:
                   8122:        * sudo.c: Only OR in MODE_RESET_HOME if MODE_RUN is set.  Fixes a
                   8123:          problem where "sudo -l" would not work if always_set_home was
                   8124:          set.
                   8125:
                   8126: 2002-01-15 13:16  millert
                   8127:
                   8128:        * lex.yy.c: regen
                   8129:
                   8130: 2002-01-15 13:16  millert
                   8131:
                   8132:        * parse.lex: Quoted commas were not being treated correctly in
                   8133:          command line arguments.
                   8134:
                   8135: 2002-01-14 20:53  millert
                   8136:
                   8137:        * sudo.c: o Move the call to rebuild_env() until after
                   8138:          MODE_RESET_HOME is set.    Otherwise, the set_home option has no
                   8139:          effect.
                   8140:
                   8141:          o Fix use of freed memory when the "fqdn" flag is set.  This was
                   8142:           introduced by the fix for the "segv when gethostbynam() fails"
                   8143:          bug.    Also, we no longer call set_fqdn() if the "fqdn" flag is
                   8144:          not set so    there is no need to check the "fqdn" flag in
                   8145:          set_fqdn() itself.
                   8146:
                   8147: 2002-01-14 20:45  millert
                   8148:
                   8149:        * env.c: Add 'continue' statements to optimize the switch
                   8150:          statement.  From Solar.
                   8151:
                   8152: 2002-01-13 13:42  millert
                   8153:
                   8154:        * sudoers.cat, sudoers.man.in: Regen from new sudoers.pod
                   8155:
                   8156: 2002-01-13 13:36  millert
                   8157:
                   8158:        * sudoers.pod: Add caveat about stay_setuid flag
                   8159:
                   8160: 2002-01-13 13:29  millert
                   8161:
                   8162:        * sudo.c: If set_perms == set_perms_posix and the stay_setuid flag
                   8163:          is not set, set all uids to 0 and use set_perms_fallback().
                   8164:
                   8165: 2002-01-13 13:28  millert
                   8166:
                   8167:        * set_perms.c, sudo.h: Remove PERM_FULL_USER (which is no longer
                   8168:          used) and add PERM_FULL_ROOT (used when exec'ing the mailer).
                   8169:
                   8170: 2002-01-13 13:27  millert
                   8171:
                   8172:        * logging.c: Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the
                   8173:          mailer since we never want to run the mailer setuid.
                   8174:
                   8175: 2002-01-12 17:55  millert
                   8176:
                   8177:        * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
                   8178:          visudo.pod: Use sudo.ws instead of courtesan.com in URLs
                   8179:
                   8180: 2002-01-12 14:00  millert
                   8181:
                   8182:        * Makefile.in, Makefile.binary: Fix mansect substitution
                   8183:
                   8184: 2002-01-12 13:15  millert
                   8185:
                   8186:        * Makefile.in: Substitute man sections in Makefile.binary
                   8187:
                   8188: 2002-01-12 13:15  millert
                   8189:
                   8190:        * Makefile.binary: Sync install targets with Makefile.in and
                   8191:          substitute in man sections.
                   8192:
                   8193: 2002-01-12 13:09  millert
                   8194:
                   8195:        * INSTALL, INSTALL.binary: version is 1.6.4
                   8196:
                   8197: 2002-01-12 12:59  millert
                   8198:
                   8199:        * Makefile.in: Repair bindist target
                   8200:
                   8201: 2002-01-12 11:43  millert
                   8202:
                   8203:        * CHANGES: sync for 1.6.4
                   8204:
                   8205: 2002-01-10 13:00  millert
                   8206:
                   8207:        * install-sh: Fix case where neither whoami nor id are found
                   8208:
                   8209: 2002-01-09 12:35  millert
                   8210:
                   8211:        * install-sh: If neither whoami nor id exists, just assume we are
                   8212:          root.
                   8213:
                   8214: 2002-01-09 11:56  millert
                   8215:
                   8216:        * alloc.c: Add explicit cast to (VOID *) on malloc/realloc.  Seems
                   8217:          to be needed on AIX which for some reason isn't pulling in the
                   8218:          malloc prototype.
                   8219:
                   8220: 2002-01-08 10:00  millert
                   8221:
                   8222:        * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c: (c) 2002
                   8223:
                   8224: 2002-01-08 09:21  millert
                   8225:
                   8226:        * CHANGES: checkpoint
                   8227:
                   8228: 2002-01-08 09:20  millert
                   8229:
                   8230:        * sudo.c: Defer assigning new environment until right before the
                   8231:          exec.
                   8232:
                   8233: 2002-01-08 09:08  millert
                   8234:
                   8235:        * parse.c: kill extra blank line
                   8236:
                   8237: 2002-01-07 13:59  millert
                   8238:
                   8239:        * configure: regen
                   8240:
                   8241: 2002-01-07 13:59  millert
                   8242:
                   8243:        * configure.in: Use -O not -O2 for m88k-motorola-sysv* since
                   8244:          motorola gcc-derived compiler doesn't recognise -O2.
                   8245:
                   8246: 2002-01-06 23:02  millert
                   8247:
                   8248:        * HISTORY: Clarify origins of Root Group sudo a bit based on info
                   8249:          from billp@rootgroup.com
                   8250:
                   8251: 2002-01-02 22:41  millert
                   8252:
                   8253:        * LICENSE: 2002
                   8254:
                   8255: 2002-01-02 22:26  millert
                   8256:
                   8257:        * CHANGES: checkpoint for 1.6.4rc1
                   8258:
                   8259: 2002-01-02 17:40  millert
                   8260:
                   8261:        * config.h.in: now generated via autoheader
                   8262:
                   8263: 2002-01-02 17:40  millert
                   8264:
                   8265:        * configure: regen
                   8266:
                   8267: 2002-01-02 17:37  millert
                   8268:
                   8269:        * compat.h: Move in some stuff that was previously in config.h.
                   8270:
                   8271: 2002-01-02 17:36  millert
                   8272:
                   8273:        * configure.in, aclocal.m4: Add info for autoheader.
                   8274:
                   8275: 2002-01-01 16:53  millert
                   8276:
                   8277:        * Makefile.in:  o Add DESTDIR support
                   8278:           o Use -M, -O, and -G instead of -m, -o, and -g to facilitate
                   8279:          non-root installs
                   8280:
                   8281: 2002-01-01 16:48  millert
                   8282:
                   8283:        * install-sh: Add -M option (like -m but only for root) If we can't
                   8284:          find "whoami", use "id" w/ some sed.
                   8285:
                   8286: 2002-01-01 14:01  millert
                   8287:
                   8288:        * configure: regen
                   8289:
                   8290: 2002-01-01 14:00  millert
                   8291:
                   8292:        * configure.in: allow user to always override mansectsu and
                   8293:          mansectform
                   8294:
                   8295: 2001-12-31 17:05  millert
                   8296:
                   8297:        * mkinstalldirs: update from autoconf 2.52
                   8298:
                   8299: 2001-12-31 17:03  millert
                   8300:
                   8301:        * config.guess, config.sub: Update from autoconf 2.52
                   8302:
                   8303: 2001-12-31 16:57  millert
                   8304:
                   8305:        * configure: regen with autoconf 2.52
                   8306:
                   8307: 2001-12-31 16:57  millert
                   8308:
                   8309:        * configure.in:  o Call AC_PROG_CC_STDC to find out how to run the
                   8310:          compiler in ANSI mode
                   8311:           o Remove compiler-specific checks for HP-UX now that we use
                   8312:          AC_PROG_CC_STDC
                   8313:
                   8314: 2001-12-31 12:19  millert
                   8315:
                   8316:        * RUNSON: Checkpoint
                   8317:
                   8318: 2001-12-31 12:18  millert
                   8319:
                   8320:        * auth/pam.c: o Add pam_prep_user function to call pam_setcred()
                   8321:          for the target user;   on Linux this often sets resource limits.
                   8322:          o When calling pam_end(), try to convert the auth->result to a
                   8323:          PAM_FOO   value.  This is a hack--we really need to stash the
                   8324:          last PAM_FOO   value received and use that instead.
                   8325:
                   8326: 2001-12-31 12:18  millert
                   8327:
                   8328:        * set_perms.c, sudo.h: o Add pam_prep_user function to call
                   8329:          pam_setcred() for the target user;   on Linux this often sets
                   8330:          resource limits.
                   8331:
                   8332: 2001-12-31 00:53  millert
                   8333:
                   8334:        * env.c: Fix off by one error in number of bytes allocated via
                   8335:          malloc (does not affected any released version of sudo).
                   8336:
                   8337: 2001-12-30 17:12  millert
                   8338:
                   8339:        * lex.yy.c: regen
                   8340:
                   8341: 2001-12-30 17:12  millert
                   8342:
                   8343:        * parse.lex: Allow '@', '(', ')', ':' in arguments to a defaults
                   8344:          variable w/o requiring that they be quoted.
                   8345:
                   8346: 2001-12-30 14:26  millert
                   8347:
                   8348:        * sudoers.cat, sudoers.man.in, sudoers.pod: Mention that no double
                   8349:          quotes are needed when adding/deleting/assigning a single value
                   8350:          to a list.
                   8351:
                   8352: 2001-12-30 13:58  millert
                   8353:
                   8354:        * Makefile.in: Don't rely on mkdefaults being executable, call perl
                   8355:          explicitly.
                   8356:
                   8357: 2001-12-30 13:41  millert
                   8358:
                   8359:        * parse.yacc: Remove some XXX that are no longer relevant.
                   8360:
                   8361: 2001-12-30 13:40  millert
                   8362:
                   8363:        * defaults.c: o Roll our own loop instead of using strpbrk() for
                   8364:          better grokability o When adding to a list we must malloc() and
                   8365:          use memcpy(), not strdup()   since we must only copy len bytes
                   8366:          from str.
                   8367:
                   8368: 2001-12-21 16:49  millert
                   8369:
                   8370:        * parse.yacc: typo in comment
                   8371:
                   8372: 2001-12-19 11:50  millert
                   8373:
                   8374:        * CHANGES: checkpoint
                   8375:
                   8376: 2001-12-19 10:56  millert
                   8377:
                   8378:        * configure: regen
                   8379:
                   8380: 2001-12-19 10:56  millert
                   8381:
                   8382:        * configure.in: avoid the -g flag unless --with-devel was specified
                   8383:
                   8384: 2001-12-19 10:04  millert
                   8385:
                   8386:        * Makefile.in: mkdefaults, def_data.in and sigaction.c were missing
                   8387:          from the tarball
                   8388:
                   8389: 2001-12-19 09:46  millert
                   8390:
                   8391:        * Makefile.in: def_data.c was missing
                   8392:
                   8393: 2001-12-18 12:42  millert
                   8394:
                   8395:        * env.c: Fix setting of $USER and $LOGNAME in the non-reset_env
                   8396:          case.  Also allow HOME, SHELL, LOGNAME, and USER to be specified
                   8397:          in keep_env
                   8398:
                   8399: 2001-12-17 20:48  millert
                   8400:
                   8401:        * TODO: Another TODO item
                   8402:
                   8403: 2001-12-17 19:50  millert
                   8404:
                   8405:        * sudoers: Add comment for Default section so folks know where it
                   8406:          should go.
                   8407:
                   8408: 2001-12-17 18:56  millert
                   8409:
                   8410:        * tgetpass.c: Use TCSETAF, not TCSETA to set terminal in termio
                   8411:          case
                   8412:
                   8413: 2001-12-17 18:35  millert
                   8414:
                   8415:        * sudoers.man.in, sudoers.cat: regen from sudoers.pod
                   8416:
                   8417: 2001-12-17 18:33  millert
                   8418:
                   8419:        * sudoers.pod:  o Typo, Runas_User_List should be Runas_List
                   8420:           o a User_List can not contain a uid
                   8421:           o mention that the Defaults section should come after Alias
                   8422:             definitions but before the user specifications
                   8423:
                   8424: 2001-12-15 11:51  millert
                   8425:
                   8426:        * sudoers.cat, sudoers.man.in: regen
                   8427:
                   8428: 2001-12-15 11:51  millert
                   8429:
                   8430:        * sudoers.pod: Fix listpw and verifypw sections, they were not
                   8431:          being formatted properly.
                   8432:
                   8433: 2001-12-15 11:39  millert
                   8434:
                   8435:        * sudoers.cat, sudoers.man.in: regen
                   8436:
                   8437: 2001-12-15 11:38  millert
                   8438:
                   8439:        * sudoers.pod: fix typos
                   8440:
                   8441: 2001-12-15 10:57  millert
                   8442:
                   8443:        * configure: regen
                   8444:
                   8445: 2001-12-15 10:57  millert
                   8446:
                   8447:        * configure.in, config.h.in: use AC_SYS_POSIX_TERMIOS instead of
                   8448:          rolling our own
                   8449:
                   8450: 2001-12-15 10:33  millert
                   8451:
                   8452:        * README: Reference sudo.ws not courtesan.com
                   8453:
                   8454: 2001-12-15 10:29  millert
                   8455:
                   8456:        * PORTING: Add notes on shadow passwords
                   8457:
                   8458: 2001-12-15 00:48  millert
                   8459:
                   8460:        * BUGS: In list mode (sudo -l), characters escaped with a backslash
                   8461:          are shown verbatim with the backslash.
                   8462:
                   8463: 2001-12-15 00:44  millert
                   8464:
                   8465:        * sudoers: Add simple examples from OpenBSD (Marc Espie)
                   8466:
                   8467: 2001-12-15 00:40  millert
                   8468:
                   8469:        * tgetpass.c: Catch SIGTTIN and SIGTTOU too and treat them like
                   8470:          SIGTSTP.
                   8471:
                   8472: 2001-12-14 21:53  millert
                   8473:
                   8474:        * CHANGES: minor prettyification
                   8475:
                   8476: 2001-12-14 21:43  millert
                   8477:
                   8478:        * CHANGES: Updated change log
                   8479:
                   8480: 2001-12-14 21:27  millert
                   8481:
                   8482:        * testsudoers.c: Fix CIDR handling here too.
                   8483:
                   8484: 2001-12-14 21:21  millert
                   8485:
                   8486:        * auth/pam.c: Apparently a NULL response is OK
                   8487:
                   8488: 2001-12-14 21:19  millert
                   8489:
                   8490:        * TODO: Checkpoint for upcoming beta release
                   8491:
                   8492: 2001-12-14 21:17  millert
                   8493:
                   8494:        * TROUBLESHOOTING: Many people believe that adding a runas spec
                   8495:          should obviate the need for the -u flag.  It does not.
                   8496:
                   8497: 2001-12-14 21:11  millert
                   8498:
                   8499:        * RUNSON: checkpoint update for upcoming 1.6.4 beta
                   8500:
                   8501: 2001-12-14 20:44  millert
                   8502:
                   8503:        * config.h.in: o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define
                   8504:          HAVE_STRINGS_H even if HAVE_STRING_H is defined -- this is safe
                   8505:          now
                   8506:
                   8507: 2001-12-14 20:07  millert
                   8508:
                   8509:        * PORTING: Add signals section
                   8510:
                   8511: 2001-12-14 20:00  millert
                   8512:
                   8513:        * configure: regen
                   8514:
                   8515: 2001-12-14 20:00  millert
                   8516:
                   8517:        * configure.in: Fix check for sigaction_t
                   8518:
                   8519: 2001-12-14 19:45  millert
                   8520:
                   8521:        * sudo.c: XXX - should call find_path() as runas user, not root.
                   8522:          Can't do that until the parser changes though.
                   8523:
                   8524: 2001-12-14 19:38  millert
                   8525:
                   8526:        * sudo.c: If find_path() fails as root, try again as the invoking
                   8527:          user (useful for NFS).  Idea from Chip Capelik.
                   8528:
                   8529: 2001-12-14 19:28  millert
                   8530:
                   8531:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in: Regenerate
                   8532:          after pod file changes
                   8533:
                   8534: 2001-12-14 19:24  millert
                   8535:
                   8536:        * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
                   8537:          sudo.pod, sudoers.pod: Add new sudoers option "preserve_groups".
                   8538:          Previously sudo would not call initgroups() if the target user
                   8539:          was root.  Now it always calls initgroups() unless the -P command
                   8540:          line option or the "preserve_groups" sudoers option is set.  Idea
                   8541:          from TJ Saunders.
                   8542:
                   8543: 2001-12-14 18:38  millert
                   8544:
                   8545:        * compat.h, config.h.in: Use new HAVE_SIGACTION_T define
                   8546:
                   8547: 2001-12-14 18:33  millert
                   8548:
                   8549:        * logging.c: Fix compilation on K&C
                   8550:
                   8551: 2001-12-14 18:14  millert
                   8552:
                   8553:        * configure: regen
                   8554:
                   8555: 2001-12-14 18:14  millert
                   8556:
                   8557:        * configure.in: Add check for sigaction_t -- IRIX already defines
                   8558:          this so don't redefine it.
                   8559:
                   8560: 2001-12-14 17:15  millert
                   8561:
                   8562:        * snprintf.c: fix typo
                   8563:
                   8564: 2001-12-14 17:12  millert
                   8565:
                   8566:        * interfaces.c: need stdlib.h here too
                   8567:
                   8568: 2001-12-14 15:31  millert
                   8569:
                   8570:        * configure: regen
                   8571:
                   8572: 2001-12-14 15:31  millert
                   8573:
                   8574:        * configure.in: Remove redundant checks for string.h, strings.h and
                   8575:          unistd.h
                   8576:
                   8577: 2001-12-14 15:29  millert
                   8578:
                   8579:        * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
                   8580:          visudo.man.in: Regen from pod files
                   8581:
                   8582: 2001-12-14 15:03  millert
                   8583:
                   8584:        * BUGS: Update for 1.6.4
                   8585:
                   8586: 2001-12-14 14:59  millert
                   8587:
                   8588:        * configure, lex.yy.c: regen
                   8589:
                   8590: 2001-12-14 14:56  millert
                   8591:
                   8592:        * strerror.c: Return EINVAL if errnum > sys_nerr
                   8593:
                   8594: 2001-12-14 14:54  millert
                   8595:
                   8596:        * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
                   8597:          config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
                   8598:          sudo.pod, auth/sudo_auth.h: o Update copyright year
                   8599:
                   8600: 2001-12-14 14:54  millert
                   8601:
                   8602:        * configure.in: o Don't define STDC_HEADERS unconditionally for
                   8603:          IRIX o Update copyright year
                   8604:
                   8605: 2001-12-14 14:53  millert
                   8606:
                   8607:        * README: update version
                   8608:
                   8609: 2001-12-14 14:52  millert
                   8610:
                   8611:        * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
                   8612:          fnmatch.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
                   8613:          logging.c, lsearch.c, parse.c, parse.lex, parse.yacc,
                   8614:          set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c,
                   8615:          utime.c, visudo.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
                   8616:          auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
                   8617:          auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
                   8618:          auth/sia.c, auth/sudo_auth.c: o Reorder some headers and use
                   8619:          STDC_HEADERS define properly o Update copyright year
                   8620:
                   8621: 2001-12-14 01:53  millert
                   8622:
                   8623:        * configure: regen
                   8624:
                   8625: 2001-12-14 01:53  millert
                   8626:
                   8627:        * tgetpass.c: flags set in signal handlers should be volatile
                   8628:          sig_atomic_t
                   8629:
                   8630: 2001-12-14 01:52  millert
                   8631:
                   8632:        * config.h.in, configure.in: Add checks for volatile and
                   8633:          sig_atomic_t
                   8634:
                   8635: 2001-12-14 01:42  millert
                   8636:
                   8637:        * lex.yy.c, configure: regen
                   8638:
                   8639: 2001-12-14 01:40  millert
                   8640:
                   8641:        * def_data.c, def_data.h, def_data.in, defaults.c, env.c,
                   8642:          find_path.c, sudo.c, sudoers.pod: Remove "secure_path" Defaults
                   8643:          option since it cannot work with the existing parser.
                   8644:
                   8645: 2001-12-14 01:26  millert
                   8646:
                   8647:        * find_path.c, sudo.c: Unset "secure_path" if user_is_exempt()
                   8648:
                   8649: 2001-12-14 01:24  millert
                   8650:
                   8651:        * env.c, pathnames.h.in: o Remove assumption that PATH and TERM are
                   8652:          not listed in env_keep o If no PATH is in the environment use a
                   8653:          default value o If TERM is not set in the non-reset case also
                   8654:          give it a default   value.
                   8655:
                   8656: 2001-12-14 01:17  millert
                   8657:
                   8658:        * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
                   8659:          _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works
                   8660:          on systems that define  in paths.h
                   8661:
                   8662: 2001-12-14 01:15  millert
                   8663:
                   8664:        * auth/: passwd.c, sudo_auth.c, sudo_auth.h: Add support for
                   8665:          skeyaccess(3) if it is present in libskey.
                   8666:
                   8667: 2001-12-12 21:42  millert
                   8668:
                   8669:        * sudo.c: Only need to do 'lc = login_getclass(NULL)' if lc == NULL
                   8670:
                   8671: 2001-12-12 21:24  millert
                   8672:
                   8673:        * parse.lex: '\\' is a perfectly legal character to have in a
                   8674:          command line argument.
                   8675:
                   8676: 2001-12-12 20:24  millert
                   8677:
                   8678:        * sudo.c: o Defer call to set_fqdn() until it is safe to use
                   8679:          log_error() o Don't print errno string value if gethostbyname
                   8680:          fails, it is not relevant
                   8681:
                   8682: 2001-12-12 20:07  millert
                   8683:
                   8684:        * parse.c: Fix CIDR -> in_addr_t conversion.
                   8685:
                   8686: 2001-12-12 16:21  millert
                   8687:
                   8688:        * sudoers.pod: Remove an extra "User_List" in the User_Spec
                   8689:          definition From ybertrand AT snoopymail.com
                   8690:
                   8691: 2001-12-12 16:00  millert
                   8692:
                   8693:        * parse.c: Make 'listpw=never' work for users who are not
                   8694:          explicitly mentioned in sudoers.
                   8695:
                   8696: 2001-12-12 15:40  millert
                   8697:
                   8698:        * sudoers.pod: Remove gratuitous '=' in EBNF grammar; era AT iki.fi
                   8699:
                   8700: 2001-12-12 15:34  millert
                   8701:
                   8702:        * sudoers.pod: Document new list Defaults type and convert env_keep
                   8703:          and env_delete to lists.  Document new env_check option.
                   8704:
                   8705: 2001-12-12 15:11  millert
                   8706:
                   8707:        * lex.yy.c, sudo.tab.h: regen parser
                   8708:
                   8709: 2001-12-12 14:56  millert
                   8710:
                   8711:        * parse.lex: Don't let '#' appear in a {WORD} and restrict #foo in
                   8712:          a Runas spec to #[0-9-]+.
                   8713:
                   8714: 2001-12-12 14:55  millert
                   8715:
                   8716:        * configure: regen
                   8717:
                   8718: 2001-12-12 14:55  millert
                   8719:
                   8720:        * aclocal.m4: Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
                   8721:
                   8722: 2001-12-12 14:43  millert
                   8723:
                   8724:        * config.h.in, configure.in: Add check for skeyaccess(3)
                   8725:
                   8726: 2001-12-11 19:47  millert
                   8727:
                   8728:        * visudo.pod: Document new -c, -f, and -q options
                   8729:
                   8730: 2001-12-11 19:41  millert
                   8731:
                   8732:        * visudo.c: o Add -f option (alternate sudoers file) o Convert to
                   8733:          use getopt(3)
                   8734:
                   8735: 2001-12-11 19:31  millert
                   8736:
                   8737:        * configure: regen
                   8738:
                   8739: 2001-12-11 19:31  millert
                   8740:
                   8741:        * aclocal.m4, config.h.in, configure.in: Add check for isblank and
                   8742:          a replacement macro if it doesn't exist.
                   8743:
                   8744: 2001-12-11 18:22  millert
                   8745:
                   8746:        * visudo.c: In check-only mode, don't create sudoers if it does not
                   8747:          already exist.
                   8748:
                   8749: 2001-12-11 18:06  millert
                   8750:
                   8751:        * parse.yacc:  o Add a new token, DEFVAR, to indicate a Defaults
                   8752:          variable name
                   8753:           o Add support for "+=" and "-=" list operators
                   8754:           o replace some 1 and 0 with TRUE and FALSE for greater
                   8755:          legibility.
                   8756:
                   8757: 2001-12-11 18:05  millert
                   8758:
                   8759:        * parse.lex:  o Use exclusive start conditions to remove some
                   8760:          ambiguity in the
                   8761:             lexer.  Also reorder some things for clarity.
                   8762:           o Add support for "+=" and "-=" list operators.
                   8763:           o Use the new DEFVAR token to denote a Defaults variable name.
                   8764:
                   8765: 2001-12-11 18:03  millert
                   8766:
                   8767:        * sudo.h: Prototype init_envtables()
                   8768:
                   8769: 2001-12-11 18:02  millert
                   8770:
                   8771:        * env.c:  o Convert environment handling to use lists instead of
                   8772:          strings.
                   8773:             This greatly simplifies routines that need to do "foreach"
                   8774:          type
                   8775:             operations.
                   8776:           o Add new init_envtables() function to set env_check and
                   8777:          env_delete
                   8778:             defaults based on initial_badenv_table and
                   8779:          initial_checkenv_table
                   8780:             (formerly sudo_badenv_table).
                   8781:
                   8782: 2001-12-11 18:00  millert
                   8783:
                   8784:        * defaults.c, defaults.h:  o Add a new LIST type and functions to
                   8785:          manipulate it.
                   8786:           o This is for use with environment handling variables.
                   8787:           o Call new init_envtables() routine inside init_defaults() to
                   8788:             initialize the environment lists.
                   8789:
                   8790: 2001-12-11 17:57  millert
                   8791:
                   8792:        * def_data.c, def_data.h, def_data.in: Convert environment options
                   8793:          to use the new LIST type and add a new one, env_check that only
                   8794:          deletes if the sanity check fails.
                   8795:
                   8796: 2001-12-11 17:55  millert
                   8797:
                   8798:        * testsudoers.c: Add dummy version of init_envtables()
                   8799:
                   8800: 2001-12-11 17:53  millert
                   8801:
                   8802:        * parse.yacc: honor quiet mode
                   8803:
                   8804: 2001-12-11 17:51  millert
                   8805:
                   8806:        * visudo.c: Add check-only mode
                   8807:
                   8808: 2001-12-10 20:27  millert
                   8809:
                   8810:        * mkdefaults: Fix generation of entries with NULL descriptions.
                   8811:
                   8812: 2001-12-09 00:27  millert
                   8813:
                   8814:        * tgetpass.c: Use sigaction_t and quiet a gcc warning.
                   8815:
                   8816: 2001-12-09 00:20  millert
                   8817:
                   8818:        * sudo.c: Must reset signal handlers before we exec
                   8819:
                   8820: 2001-12-09 00:16  millert
                   8821:
                   8822:        * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sudo_auth.c: Be
                   8823:          carefule now that tgetpass() can return NULL (user hit ^C).  PAM
                   8824:          version needs testing.  Set SIGTSTP to SIG_DFL during password
                   8825:          entry so user can suspend us.
                   8826:
                   8827: 2001-12-09 00:14  millert
                   8828:
                   8829:        * tgetpass.c: Add support for interrupting/suspending tgetpass via
                   8830:          keyboard input.  If you suspend sudo from the password prompt and
                   8831:          resume it will re-prompt you.
                   8832:
                   8833: 2001-12-09 00:09  millert
                   8834:
                   8835:        * sudo.c: Don't block keyboard interrupt signals, just set them to
                   8836:          SIG_IGN.
                   8837:
                   8838: 2001-12-08 14:48  millert
                   8839:
                   8840:        * config.h.in: add back HAVE_SIGACTION
                   8841:
                   8842: 2001-12-08 14:44  millert
                   8843:
                   8844:        * configure: regen
                   8845:
                   8846: 2001-12-08 14:44  millert
                   8847:
                   8848:        * config.h.in, configure.in, logging.c, sudo.c, visudo.c: Kill
                   8849:          POSIX_SIGNALS define and old signal support now that we emulate
                   8850:          POSIX ones Also be sure to correctly initialize struct sigaction.
                   8851:
                   8852: 2001-12-08 14:42  millert
                   8853:
                   8854:        * strerror.c: Don't need config.h or "#ifndef HAVE_STRERROR"
                   8855:          wrapper.
                   8856:
                   8857: 2001-12-08 14:39  millert
                   8858:
                   8859:        * compat.h: Add scaffolding for POSIX signal emulation
                   8860:
                   8861: 2001-12-08 14:36  millert
                   8862:
                   8863:        * sigaction.c: o Add missing ';' so this compiles o Can't use NULL
                   8864:          since we don't include stdio.h
                   8865:
                   8866: 2001-12-08 14:23  millert
                   8867:
                   8868:        * sigaction.c: Emulate sigaction() using sigvec()
                   8869:
                   8870: 2001-11-12 19:32  millert
                   8871:
                   8872:        * sudoers.pod: Document new behavior of negative values of
                   8873:          timestamp_timeout Fix a typo
                   8874:
                   8875: 2001-11-12 19:31  millert
                   8876:
                   8877:        * sudo.pod: Add security note about command not being logged after
                   8878:          'sudo su' and friends.
                   8879:
                   8880: 2001-11-12 19:19  millert
                   8881:
                   8882:        * sudo.pod: Mention that -V prints default values when run as root,
                   8883:          including the list of environment variables to clear.
                   8884:
                   8885: 2001-11-12 19:14  millert
                   8886:
                   8887:        * Makefile.in: Run pod2man with --quotes=none to avoid stupid
                   8888:          quoting of C<> entries.
                   8889:
                   8890: 2001-11-12 13:12  millert
                   8891:
                   8892:        * def_data.c, def_data.h, def_data.in, sudoers.pod,
                   8893:          auth/sudo_auth.c: Add mail_badpass option Also modify mail_always
                   8894:          behavior to also send mail when the password is wrong
                   8895:
                   8896: 2001-11-12 13:08  millert
                   8897:
                   8898:        * env.c, sudo.c, sudo.h: Dump default bad env table when 'sudo -V'
                   8899:          is run by root.
                   8900:
                   8901: 2001-11-11 23:52  millert
                   8902:
                   8903:        * sudoers.pod: document env_delete
                   8904:
                   8905: 2001-11-11 23:51  millert
                   8906:
                   8907:        * env.c: Add support for '*' in env_keep when not resetting the
                   8908:          environment (ie: the normal case).
                   8909:
                   8910: 2001-11-11 23:47  millert
                   8911:
                   8912:        * env.c: Add env_delete variable that lets the user replace/add to
                   8913:          the bad_env_table.  Allow '*' wildcard in env_keep entries.
                   8914:
                   8915: 2001-11-06 13:59  millert
                   8916:
                   8917:        * mkinstalldirs: Force umask to 022 to guarantee sane directory
                   8918:          permissions.
                   8919:
                   8920: 2001-11-02 18:09  millert
                   8921:
                   8922:        * Makefile.in: add sudo.tab.h and sudo.tab.c to sudo.tab.o
                   8923:          dependency
                   8924:
                   8925: 2001-11-02 17:25  millert
                   8926:
                   8927:        * mkdefaults: fix breakage in last commit
                   8928:
                   8929: 2001-11-02 17:18  millert
                   8930:
                   8931:        * Makefile.in: acsite.m4 -> aclocal.m4
                   8932:
                   8933: 2001-11-02 15:59  millert
                   8934:
                   8935:        * check.c: fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in
                   8936:          previous commit
                   8937:
                   8938: 2001-11-02 15:57  millert
                   8939:
                   8940:        * def_data.c: regenerated from def_data.in
                   8941:
                   8942: 2001-11-02 15:56  millert
                   8943:
                   8944:        * check.c, defaults.c, defaults.h: Add new T_UINT type that most
                   8945:          things use instead of T_INT If timestamp_timeout is < 0 then
                   8946:          treat the ticket as never expiring (to be expired manually by the
                   8947:          user).
                   8948:
                   8949: 2001-11-02 15:51  millert
                   8950:
                   8951:        * def_data.in: change most T_INT -> T_UINT
                   8952:
                   8953: 2001-11-02 15:51  millert
                   8954:
                   8955:        * mkdefaults: fix warning when no args
                   8956:
                   8957: 2001-11-02 12:52  millert
                   8958:
                   8959:        * visudo.c: Change 2 Exit() -> exit() Avoid stdio in Exit() and
                   8960:          call _exit() if we are a signal handler.  We no longer print the
                   8961:          signal number but the user can just check the exit value for
                   8962:          that.
                   8963:
                   8964: 2001-10-16 01:35  millert
                   8965:
                   8966:        * logging.c: when setting up pipes in child process check for case
                   8967:          where stdin == pipe fd 0
                   8968:
                   8969: 2001-10-11 13:20  millert
                   8970:
                   8971:        * visudo.c: Ignore editor exit value since XPG4 says vi's exit
                   8972:          value is the count of editing errors made (failed searches, etc).
                   8973:
                   8974: 2001-10-05 16:39  millert
                   8975:
                   8976:        * configure: regen
                   8977:
                   8978: 2001-10-05 16:39  millert
                   8979:
                   8980:        * configure.in: sco now is identified by config.guess as *-sco-*
                   8981:
                   8982: 2001-10-05 16:24  millert
                   8983:
                   8984:        * configure.in: Check for getspnam() in -lgen if not in -lc for
                   8985:          UnixWare.
                   8986:
                   8987: 2001-09-17 21:48  millert
                   8988:
                   8989:        * sudoers.pod, visudo.pod: "upper case" -> "uppercase"
                   8990:
                   8991: 2001-09-17 21:32  millert
                   8992:
                   8993:        * sudoers.pod: fix typos and grammar; pjanzen@foatdi.harvard.edu
                   8994:
                   8995: 2001-08-28 10:26  millert
                   8996:
                   8997:        * sudoers.pod: Missing word (specify); krapht@secureops.com
                   8998:
                   8999: 2001-08-23 17:43  millert
                   9000:
                   9001:        * sudo.c: If we fail to lookup a login class, apply the default
                   9002:          one.
                   9003:
                   9004: 2001-08-23 17:42  millert
                   9005:
                   9006:        * logging.c: In log_error() free message, not logline
                   9007:          unconditionally, then free logline if it is not the same as
                   9008:          message.  No function change but this mirrors how they are
                   9009:          allocated.
                   9010:
                   9011: 2001-07-16 23:33  millert
                   9012:
                   9013:        * configure: regenerate
                   9014:
                   9015: 2001-07-16 23:33  millert
                   9016:
                   9017:        * configure.in: remove some backslash quotes that are unneeded
                   9018:
                   9019: 2001-07-16 23:30  millert
                   9020:
                   9021:        * configure.in: o Tweaks to make this work with autoconf-2.50 o Use
                   9022:          AC_LIBOBJ instead of changing LIBOBJS directly o Use
                   9023:          AC_REPLACE_FUNCS where we can o Use AC_CHECK_FUNCS instead of
                   9024:          AC_CHECK_FUNC so we don't have to   AC_DEFINE things manually.
                   9025:
                   9026: 2001-07-16 23:28  millert
                   9027:
                   9028:        * config.guess, config.sub: Updated from autoconf-2.50
                   9029:
                   9030: 2001-05-22 19:11  millert
                   9031:
                   9032:        * README: Update mailing list section.  We use mailman now, not
                   9033:          majordomo.
                   9034:
                   9035: 2001-05-10 14:55  millert
                   9036:
                   9037:        * getspwuid.c, logging.c, sudo.c: Use setpwent()/endpwent() + all
                   9038:          the shadow variants to make sure we don't inadvertantly leak an
                   9039:          fd to the child.  Apparently Linux's shadow routines leave the fd
                   9040:          open even if you don't call setspent().  Reported by
                   9041:          mike@gistnet.com; different patch used.
                   9042:
                   9043: 2001-04-12 21:43  millert
                   9044:
                   9045:        * sudoers.pod: s/eg./e.g./
                   9046:
                   9047: 2001-04-12 21:42  millert
                   9048:
                   9049:        * tgetpass.c: select() may return EAGAIN.  If so, continue like we
                   9050:          do for EINTR.
                   9051:
                   9052: 2001-04-12 21:41  millert
                   9053:
                   9054:        * logging.c: Fix a non-exploitable buffer overflow in the word
                   9055:          splitting code.  This should really be rewritten.
                   9056:
                   9057: 2001-04-12 21:41  millert
                   9058:
                   9059:        * Makefile.in: FAQ link goes away
                   9060:
                   9061: 2001-04-12 21:40  millert
                   9062:
                   9063:        * INSTALL: Tell people to look in sample.syslog.conf for examples,
                   9064:          not FAQ
                   9065:
                   9066: 2001-04-12 21:40  millert
                   9067:
                   9068:        * TROUBLESHOOTING: Update list of env vars that are cleared
                   9069:
                   9070: 2001-04-12 21:36  millert
                   9071:
                   9072:        * sudo.c: remove struct env_table decl since that stuff has all
                   9073:          moved to env.c
                   9074:
                   9075: 2001-04-04 13:17  millert
                   9076:
                   9077:        * fileops.c: Fix a pasto in flock-style unlocking and include
                   9078:          <sys/file.h> for flock on older systems; twetzel@gwdg.de
                   9079:
                   9080: 2001-04-04 13:14  millert
                   9081:
                   9082:        * configure: regen to get NeXT lockf/flock fix
                   9083:
                   9084: 2001-04-04 13:14  millert
                   9085:
                   9086:        * configure.in: force NeXT to use flock since lockf is broken
                   9087:
                   9088: 2001-03-30 08:54  millert
                   9089:
                   9090:        * check.c: Use stashed user_gid when checking against exempt gid
                   9091:          since sudo sets its gid to a a value that makes sudoers readable.
                   9092:          Previously if you used gid 0 as the exempt group everyone would
                   9093:          be exempt.  From Paul Kranenburg <pk@cs.few.eur.nl>
                   9094:
                   9095: 2001-03-29 13:14  millert
                   9096:
                   9097:        * configure: regen
                   9098:
                   9099: 2001-03-29 13:08  millert
                   9100:
                   9101:        * aclocal.m4: #include stdio.h in SUDO_CHECK_TYPE since IRIX 6
                   9102:          aparently defines some types (such as ssize_t) therein.
                   9103:
                   9104: 2001-03-02 09:09  millert
                   9105:
                   9106:        * defaults.c: Fix negation of paths in a boolean context.  Problem
                   9107:          found by apt@UH.EDU
                   9108:
                   9109: 2001-02-23 13:03  millert
                   9110:
                   9111:        * visudo.c: pasto
                   9112:
                   9113: 2001-02-17 16:11  millert
                   9114:
                   9115:        * visudo.c: SA_RESETHAND means the opposite of what I was
                   9116:          thinking--oops To block all signals in old-style signals use ~0,
                   9117:          not 0xffffffff
                   9118:
                   9119: 2001-02-04 11:16  millert
                   9120:
                   9121:        * defaults.c: coerce difference of pointers to int when used in a
                   9122:          string length printf format; deraadt@openbsd.org
                   9123:
                   9124: 2001-01-17 11:34  millert
                   9125:
                   9126:        * visudo.c: Block all signals in Exit() to avoid a signal race.
                   9127:          There is still a tiny window but I'm not going to worry about it.
                   9128:
                   9129: 2001-01-07 13:57  millert
                   9130:
                   9131:        * env.c: glibc uses the LANGUAGE env var so clear that too; Solar
                   9132:          Designer
                   9133:
                   9134: 2001-01-07 13:55  millert
                   9135:
                   9136:        * lex.yy.c: Regenerate with a fix to flex.skl that preserves errno
                   9137:          from clobbering by isatty().
                   9138:
                   9139: 2000-12-30 20:39  millert
                   9140:
                   9141:        * auth/: aix_auth.c, bsdauth.c, fwtk.c, pam.c, sia.c, sudo_auth.c:
                   9142:          Some defaults I_ defines got renamed.
                   9143:
                   9144: 2000-12-30 20:38  millert
                   9145:
                   9146:        * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
                   9147:          defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
                   9148:          set_perms.c, sudo.c: Move defaults info into its own files from
                   9149:          which we generate .h and .c files.  This makes adding or
                   9150:          rearranging variables much simpler.
                   9151:
                   9152: 2000-12-30 16:58  millert
                   9153:
                   9154:        * configure, configure.in: fix typo in last commit
                   9155:
                   9156: 2000-12-30 16:55  millert
                   9157:
                   9158:        * compat.h, config.h.in, configure, configure.in: Add check +
                   9159:          emulation for setegid (like seteuid).
                   9160:
                   9161: 2000-12-30 16:22  millert
                   9162:
                   9163:        * env.c: Make env_keep override badenv_table as documented Fix
                   9164:          traversal of badenv_table (broken in last commit)
                   9165:
                   9166: 2000-12-29 22:59  millert
                   9167:
                   9168:        * set_perms.c, sudo.c, sudo.h: Don't try and build saved uid
                   9169:          version of set_perms on systems w/o them.  Rename
                   9170:          set_perms_saved_uid() -> set_perms_posix() Make
                   9171:          set_perms_setreuid simply be set_perms_fallback() and simply
                   9172:          include   the appropriate function at compile time (setreuid()
                   9173:          vs. setuid()).
                   9174:
                   9175: 2000-12-29 22:45  millert
                   9176:
                   9177:        * sudoers.pod, sudoers.cat, sudoers.man.in: PATH is also preserved
                   9178:          when env_reset is in effect
                   9179:
                   9180: 2000-12-29 22:29  millert
                   9181:
                   9182:        * CHANGES, env.c, Makefile.in, check.c, compat.h, config.h.in,
                   9183:          configure, configure.in, defaults.c, defaults.h, find_path.c,
                   9184:          getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
                   9185:          sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
                   9186:          testsudoers.c, visudo.c, visudo.cat, visudo.man.in: New Defaults
                   9187:          options:  o stay_setuid - sudo will remain setuid if system has
                   9188:          saved uids or setreuid(2)  o env_reset - reset the environment to
                   9189:          a sane default  o env_keep - preserve environment variables that
                   9190:          would otherwise be cleared
                   9191:
                   9192:          No longer use getenv/putenv/setenv functions--do environment
                   9193:          munging by hand.  Potentially dangerous environment variables can
                   9194:          be cleared only if they contain '/' pr '%' characters to protect
                   9195:          buggy programs.  Moved environment routines into env.c (new file)
                   9196:
                   9197: 2000-12-29 22:17  millert
                   9198:
                   9199:        * INSTALL: Clear up --without-passwd description
                   9200:
                   9201: 2000-12-29 19:39  millert
                   9202:
                   9203:        * sudo_setenv.c, putenv.c: We now build up a new environment from
                   9204:          scratch and assign it to "environ".
                   9205:
                   9206: 2000-12-18 22:35  millert
                   9207:
                   9208:        * sudo.pod, visudo.pod: Grammatical fixes from Paul Janzen
                   9209:
                   9210: 2000-12-14 23:19  millert
                   9211:
                   9212:        * visudo.c: If there was a syntax error and the user just wants to
                   9213:          quit, unlink sudoers if it is zero length.
                   9214:
                   9215: 2000-12-14 23:10  millert
                   9216:
                   9217:        * visudo.c: 'Q' means ignore parse error, not 'q'
                   9218:
                   9219: 2000-12-14 22:57  millert
                   9220:
                   9221:        * visudo.c: Open sudoers for writing with mode SUDOERS_MODE From
                   9222:          Dimitry Andric <dim@xs4all.nl>
                   9223:
                   9224: 2000-12-13 12:23  millert
                   9225:
                   9226:        * set_perms.c: Add missing #ifdef HAVE_LOGIN_CAP_H;
                   9227:          ayamura@ayamura.org
                   9228:
                   9229: 2000-12-09 11:46  millert
                   9230:
                   9231:        * config.guess, config.sub: Darwin / Mac OS X support from Wilfredo
                   9232:          Sanchez <wsanchez@apple.com>
                   9233:
                   9234: 2000-11-03 09:36  millert
                   9235:
                   9236:        * sudo.c, visudo.c: Use exit(127), not exit(-1)
                   9237:
                   9238: 2000-11-03 00:37  millert
                   9239:
                   9240:        * defaults.h, set_perms.c, sudo.c, Makefile.in, defaults.c: Move
                   9241:          set_perms() to its own file and use POSIX saved uid or setreuid()
                   9242:          if available.
                   9243:
                   9244:          Added stay_setuid option for systems that have libraries that
                   9245:          perform extra paranoia checks in system libraries for setuid
                   9246:          programs (ie: anything with issetugid(2)).
                   9247:
                   9248: 2000-11-02 20:28  millert
                   9249:
                   9250:        * sudo.c: strip more bits from the environment and add a facility
                   9251:          for stripping things only if they contain '/' or '%' to address
                   9252:          printf format string vulnerabilities in other programs.
                   9253:
                   9254: 2000-11-02 12:55  millert
                   9255:
                   9256:        * configure: regen
                   9257:
                   9258: 2000-11-02 12:55  millert
                   9259:
                   9260:        * configure.in: For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache
                   9261:          the existence of strcasecmp().
                   9262:
                   9263: 2000-11-02 12:46  millert
                   9264:
                   9265:        * configure: regen
                   9266:
                   9267: 2000-11-02 12:46  millert
                   9268:
                   9269:        * configure.in: Check for strcasecmp(3) in -lc89 for NCR Unix
                   9270:
                   9271: 2000-11-01 10:22  millert
                   9272:
                   9273:        * config.h.in: Define HAVE_INNETGR #ifdef HAVE__INNETGR
                   9274:
                   9275: 2000-11-01 10:17  millert
                   9276:
                   9277:        * configure: regen
                   9278:
                   9279: 2000-11-01 10:17  millert
                   9280:
                   9281:        * compat.h, config.h.in, configure.in: Add check for _innetgr(3)
                   9282:          since NCR systems have that instead of innetgr(3).
                   9283:
                   9284: 2000-10-31 14:16  millert
                   9285:
                   9286:        * auth/securid.c: check return value of creadcfg() call sd_close()
                   9287:          after sd_auth() store username in sd->username so we don't rely
                   9288:          on the USER env variable
                   9289:
                   9290: 2000-10-29 23:00  millert
                   9291:
                   9292:        * INSTALL: document --with-bsdauth
                   9293:
                   9294: 2000-10-29 22:57  millert
                   9295:
                   9296:        * configure: regen
                   9297:
                   9298: 2000-10-29 22:56  millert
                   9299:
                   9300:        * configure.in: --with-bsdauth assumes --with-logincap
                   9301:
                   9302: 2000-10-29 22:45  millert
                   9303:
                   9304:        * auth/: bsdauth.c, fwtk.c: When prompting for a response to a
                   9305:          challenge, if the user just hits return then reprompt with echo
                   9306:          turned on.
                   9307:
                   9308: 2000-10-29 17:31  millert
                   9309:
                   9310:        * sudo.c: Remove debugging code that should not have been
                   9311:          committed, oops.
                   9312:
                   9313: 2000-10-29 17:31  millert
                   9314:
                   9315:        * auth/bsdauth.c: Use lower-level routines and get the password
                   9316:          ourselves.  Checks for a challenge and if there is one echo is
                   9317:          not turned off.
                   9318:
                   9319: 2000-10-29 17:30  millert
                   9320:
                   9321:        * auth/: pam.c, sudo_auth.h: minor housekeeping, no real code
                   9322:          changes
                   9323:
                   9324: 2000-10-27 18:41  millert
                   9325:
                   9326:        * sudo.c: Fix a coredump in the logging functions if gethostname(2)
                   9327:          fails by deferring the call to log_error() until things are
                   9328:          better setup.
                   9329:
                   9330:          Fix return value of set_loginclass() in non-BSD-auth case.
                   9331:
                   9332:          Hard-code 'sudo' in the usage message so we can fit more options
                   9333:          on a line
                   9334:
                   9335: 2000-10-27 18:35  millert
                   9336:
                   9337:        * logging.c: Fix errant ';' (typo) that broken MSG_ONLY
                   9338:
                   9339: 2000-10-26 13:03  millert
                   9340:
                   9341:        * sudo.cat, sudo.man.in: regen
                   9342:
                   9343: 2000-10-26 13:01  millert
                   9344:
                   9345:        * sudo.pod: Document -a flag
                   9346:
                   9347: 2000-10-26 12:42  millert
                   9348:
                   9349:        * Makefile.in, config.h.in, configure, configure.in, getspwuid.c,
                   9350:          sudo.c, auth/sudo_auth.h, auth/bsdauth.c: Add support for BSD
                   9351:          authentication.
                   9352:
                   9353: 2000-10-19 10:09  millert
                   9354:
                   9355:        * sudoers.pod: Fix typo; from sato@complex.eng.hokudai.ac.jp
                   9356:
                   9357: 2000-10-12 09:49  millert
                   9358:
                   9359:        * sudoers.pod: Mention negating umask
                   9360:
                   9361: 2000-10-12 01:30  millert
                   9362:
                   9363:        * defaults.c: Allow user to specify umask of 0777 (same as !umask)
                   9364:
                   9365: 2000-10-08 21:46  millert
                   9366:
                   9367:        * sudo.pod, visudo.pod: Fix a typo and give a URL for the sudo
                   9368:          history.
                   9369:
                   9370: 2000-10-08 12:25  millert
                   9371:
                   9372:        * defaults.c, sudo.pod: fix typos; pepper@reppep.com
                   9373:
                   9374: 2000-09-14 16:48  millert
                   9375:
                   9376:        * sudo.c, sudo.h, sudo_setenv.c: sudo_setenv() now exits on memory
                   9377:          alloc failure instead of returning -1.
                   9378:
                   9379: 2000-09-07 17:41  millert
                   9380:
                   9381:        * sudo.c: Strip out NLSPATH and PATH_LOCALE from the environment
                   9382:          for FreeBSD and possibly others.
                   9383:
                   9384: 2000-09-07 10:43  millert
                   9385:
                   9386:        * logging.c: Don't use vsyslog(3) since HP-UX (and others?) lack
                   9387:          it.  This means that "%m" won't be expanded but we don't use that
                   9388:          anyway since the logging routines may splat to stderr as well.
                   9389:
                   9390: 2000-09-06 21:35  millert
                   9391:
                   9392:        * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
                   9393:          sudoers.pod: Add always_set_home variable
                   9394:
                   9395: 2000-09-06 21:24  millert
                   9396:
                   9397:        * configure, configure.in: Have to hard code default values in help
                   9398:          since the defaults are set _after_ the help stuff.
                   9399:
                   9400: 2000-08-31 13:08  millert
                   9401:
                   9402:        * lex.yy.c, parse.lex: Allow special characters (including '#') to
                   9403:          be embedded in pathnames if quoted by a '\\'.  The quoted chars
                   9404:          will be dealt with by fnmatch().  Unfortunately, 'sudo -l' still
                   9405:          prints the '\\'.
                   9406:
                   9407: 2000-08-13 17:10  millert
                   9408:
                   9409:        * install-sh: Better path searching for programs we need.
                   9410:
                   9411: 2000-08-13 17:10  millert
                   9412:
                   9413:        * TROUBLESHOOTING: Add section on "C compiler cannot create
                   9414:          executables" errors.
                   9415:
                   9416: 2000-08-13 17:10  millert
                   9417:
                   9418:        * Makefile.binary, Makefile.in, version.h: Crank version
                   9419:
                   9420: 2000-08-13 17:09  millert
                   9421:
                   9422:        * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
                   9423:          sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
                   9424:          visudo.man.in, visudo.pod: Substitute values from configure into
                   9425:          man pages.
                   9426:
                   9427: 2000-08-12 16:48  millert
                   9428:
                   9429:        * parse.c, sudo.c: The listpw and verifypw sudoers options would
                   9430:          not take effect because the value of the default was checked
                   9431:          *before* sudoers was parsed.  Instead of passing in the value of
                   9432:          PWCHECK_* to sudoers_lookup(), pass in the arg for def_ival() so
                   9433:          the check can be deferred until after sudoers is parsed.
                   9434:
                   9435: 2000-08-11 15:41  millert
                   9436:
                   9437:        * tgetpass.c: When writing prompt, no need to write the NUL as
                   9438:          well; hag@linnaean.org
                   9439:
                   9440: 2000-06-09 12:25  millert
                   9441:
                   9442:        * install-sh: When looking for chown, check in /sbin too
                   9443:
                   9444: 2000-06-04 22:57  millert
                   9445:
                   9446:        * visudo.c: Remove extraneous call to init_defaults() and set
                   9447:          runas_user to NULL betweem parses so init_defaults will reset it
                   9448:          each time, thus avoiding a reference to free()d data.
                   9449:
                   9450: 2000-06-04 19:57  millert
                   9451:
                   9452:        * config.h.in, interfaces.c, interfaces.h, sudo.c: Add support for
                   9453:          using getifaddrs() to get the list of ip addr / netmask pairs.
                   9454:          Currently IPv4-only.
                   9455:
                   9456: 2000-06-04 19:51  millert
                   9457:
                   9458:        * visudo.c: Add a missing check for UserEditor == NULL Add missing
                   9459:          '+' before line number when invoking editor to fix a syntax error
                   9460:
                   9461: 2000-05-12 16:55  millert
                   9462:
                   9463:        * sudo.c: Call clean_env very early in main() for paranoia's sake.
                   9464:          Idea from Marc Esipovich.
                   9465:
                   9466: 2000-05-10 01:11  millert
                   9467:
                   9468:        * sudo.h: Update proto for evasprintf and easprintf
                   9469:
                   9470: 2000-05-10 01:10  millert
                   9471:
                   9472:        * alloc.c: Make easprintf() and evasprintf() return an int.
                   9473:
                   9474: 2000-05-10 00:56  millert
                   9475:
                   9476:        * check.c: If the targetpw flag is set, use target username as part
                   9477:          of the timestamp path.  If tty tickets are in effect cat the tty
                   9478:          and the target username with a ':' as the separator.
                   9479:
                   9480: 2000-05-09 12:05  millert
                   9481:
                   9482:        * auth/pam.c: Backout part of last change; setting PAM_USER to the
                   9483:          invoking user breaks things like targetpw.
                   9484:
                   9485: 2000-05-09 11:52  millert
                   9486:
                   9487:        * auth/pam.c: set tty and username via pam_set_item
                   9488:
                   9489: 2000-05-09 11:42  millert
                   9490:
                   9491:        * check.c, getspwuid.c, sudo.c, sudo.h, auth/sudo_auth.c: Fix root,
                   9492:          runas, and target authentication for non-passwd file auth
                   9493:          methods.
                   9494:
                   9495: 2000-04-22 14:15  millert
                   9496:
                   9497:        * sudo.pod, sudo.man.in, sudoers.man.in, sudoers.pod, visudo.pod,
                   9498:          sudo.cat, sudoers.cat, visudo.man.in, visudo.cat: Use B<-Z> not
                   9499:          C<-Z> for command line flags in all places.  This is more
                   9500:          consistent and works around a bug in Pod::Man.
                   9501:
                   9502: 2000-04-22 13:59  millert
                   9503:
                   9504:        * sudoers.cat, sudoers.man.in, sudoers.pod: Fix an occurence of
                   9505:          'semicolon' that should be 'colon'
                   9506:
                   9507: 2000-04-19 15:30  millert
                   9508:
                   9509:        * configure, configure.in: Fix --with-badpri help line
                   9510:
                   9511: 2000-04-17 14:01  millert
                   9512:
                   9513:        * defaults.c, logging.c, sudo.c: Bracket calls to syslog with an
                   9514:          openlog() and closelog() since some authentication methods (like
                   9515:          PAM) may do their own logging via syslog.  Since we don't use
                   9516:          syslog much (usually just once per session) this doesn't really
                   9517:          incur a performance penalty.  It also Fixes a SEGV with pam_kafs.
                   9518:
                   9519: 2000-04-15 16:32  millert
                   9520:
                   9521:        * sudo.c: Fix -H flag.  runas_homedir is only valid after
                   9522:          set_perms(PERM_RUNAS, mode)
                   9523:
                   9524: 2000-04-12 18:56  millert
                   9525:
                   9526:        * INSTALL: Clarify the fact that insults are not enabled just by
                   9527:          including them in the binary.
                   9528:
                   9529: 2000-04-07 10:39  millert
                   9530:
                   9531:        * sudo.man.in, sudoers.man.in, visudo.man.in, sudo.cat,
                   9532:          sudoers.cat, visudo.cat: Regenerated with perl 5.6.0 pod2man
                   9533:
                   9534: 2000-04-07 10:38  millert
                   9535:
                   9536:        * Makefile.in: Give date string to pod2man since its default is
                   9537:          ugly and it ain't got no alibi.
                   9538:
                   9539: 2000-04-07 10:27  millert
                   9540:
                   9541:        * Makefile.in: Do section substitution on the output of pod2man and
                   9542:          remove hack needed for old pod2man.
                   9543:
                   9544: 2000-04-07 10:26  millert
                   9545:
                   9546:        * sudo.pod, sudoers.pod, visudo.pod: Put back real man sections, we
                   9547:          will do the substitution later.
                   9548:
                   9549: 2000-04-02 11:44  millert
                   9550:
                   9551:        * configure, configure.in: Don't bother checking for the path to vi
                   9552:          if user specified --with-editor
                   9553:
                   9554: 2000-04-01 17:25  millert
                   9555:
                   9556:        * CHANGES, visudo.c: Visudo now does its own fork/exec instead of
                   9557:          calling system(3).
                   9558:
                   9559: 2000-04-01 16:23  millert
                   9560:
                   9561:        * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
                   9562:          sudoers.pod, visudo.c: Visudo now checks for the existence of an
                   9563:          editor and gives a sensible error if it does not exist.
                   9564:
                   9565:          The path to the editor for visudo is now a colon-separated list
                   9566:          of allowable editors.  If the user has $EDITOR set and it matches
                   9567:          one of the allowed editors that editor will be used.  If not, the
                   9568:          first editor in the list that actually exists is used.
                   9569:
                   9570: 2000-04-01 16:22  millert
                   9571:
                   9572:        * sudo.pod, sudo.cat, sudo.man.in: Clear up confusion wrt sudo's
                   9573:          return value.
                   9574:
                   9575: 2000-03-27 12:08  millert
                   9576:
                   9577:        * Makefile.in: Strip sudo and visudo for bindist target
                   9578:
                   9579: 2000-03-26 22:26  millert
                   9580:
                   9581:        * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
                   9582:          sudoers.pod, visudo.cat, visudo.man.in, visudo.pod: Use
                   9583:          @mansectsu@ and @mansectform@ in the man page bodies as well.
                   9584:
                   9585: 2000-03-26 22:07  millert
                   9586:
                   9587:        * visudo.cat, visudo.man.in, visudo.pod: Typo: @sysconf@ ->
                   9588:          @sysconfdir@
                   9589:
                   9590: 2000-03-26 21:57  millert
                   9591:
                   9592:        * Makefile.in: 'make dist' should not cause any files to be
                   9593:          modified so remove its dependencies.
                   9594:
                   9595: 2000-03-26 21:43  millert
                   9596:
                   9597:        * CHANGES: Whoops, forgot to add release marker
                   9598:
                   9599: 2000-03-26 11:57  millert
                   9600:
                   9601:        * CHANGES: Final change for 1.6.3 (or so I hope)
                   9602:
                   9603: 2000-03-26 11:57  millert
                   9604:
                   9605:        * sudo.cat, sudoers.cat, visudo.cat: Use SYSV man sections since
                   9606:          BSD systems will have nroff...
                   9607:
                   9608: 2000-03-24 18:58  millert
                   9609:
                   9610:        * parse.yacc: When checking to see if the host/user matches in a
                   9611:          defaults spec, check against TRUE, not just non-zero since it
                   9612:          might be -1.
                   9613:
                   9614: 2000-03-24 15:14  millert
                   9615:
                   9616:        * configure.in, configure: OSF/1 puts file formats in section 4,
                   9617:          not 5.
                   9618:
                   9619: 2000-03-24 15:13  millert
                   9620:
                   9621:        * CHANGES, INSTALL, sudo.c: Make login class support work on BSD/OS
                   9622:
                   9623: 2000-03-23 20:24  millert
                   9624:
                   9625:        * RUNSON: Update for 1.6.3
                   9626:
                   9627: 2000-03-23 20:23  millert
                   9628:
                   9629:        * configure, configure.in: If there is no inet_addr but there *is*
                   9630:          an __inet_addr that's ok since inet_addr is probably just a macro
                   9631:          then.  The better thing to do would be to look for the macro, but
                   9632:          this is fine for now.
                   9633:
                   9634: 2000-03-23 19:50  millert
                   9635:
                   9636:        * configure, configure.in: Don't use shlicc for BSD/OS 4.x
                   9637:
                   9638: 2000-03-23 19:40  millert
                   9639:
                   9640:        * Makefile.in, configure, configure.in: *.man lives in cwd, *.cat
                   9641:          lives in $(srcdir), add a @mansrcdir@ configure variable so we
                   9642:          can deal with this.  Also, only remove *.man for 'distclean' not
                   9643:          'clean'.
                   9644:
                   9645: 2000-03-23 19:16  millert
                   9646:
                   9647:        * sudo.c: set_loginclass() should be static like the proto says
                   9648:
                   9649: 2000-03-23 14:14  millert
                   9650:
                   9651:        * fnmatch.c: Add #ifdef __STDC__ around the rangematch function
                   9652:          header to avoid promotion of test to int, thus violating the
                   9653:          prototype.  Gcc handles this gracefully but more std ANSI
                   9654:          compilers will complain.
                   9655:
                   9656: 2000-03-23 10:11  millert
                   9657:
                   9658:        * emul/fnmatch.h: Pull in newer fnmatch(3) that supports
                   9659:          FNM_CASEFOLD
                   9660:
                   9661: 2000-03-23 10:11  millert
                   9662:
                   9663:        * aclocal.m4, configure, fnmatch.3, fnmatch.c: Pull in newer
                   9664:          fnmatch(3) that supports FNM_CASEFOLD Check for FNM_CASEFOLD in
                   9665:          configure
                   9666:
                   9667: 2000-03-22 23:41  millert
                   9668:
                   9669:        * CHANGES, TODO: update for 1.6.3
                   9670:
                   9671: 2000-03-22 23:38  millert
                   9672:
                   9673:        * lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc, sudo.tab.h,
                   9674:          testsudoers.c, visudo.c: Fully qualified hosts w/ wildcards were
                   9675:          not matching the FQHOST token type.  There's really no need for a
                   9676:          separate token for fully-qualified vs.  unqualified anymore so
                   9677:          FQHOST is now history and hostname_matches now decides which
                   9678:          hostname (short or long) to check based on whether or not the
                   9679:          pattern contains a '.'.
                   9680:
                   9681: 2000-03-22 23:09  millert
                   9682:
                   9683:        * parse.c, parse.h, parse.yacc, sudoers.pod, testsudoers.c,
                   9684:          visudo.c, sudoers.cat, sudoers.man.in: Add support for wildcards
                   9685:          in the hostname.
                   9686:
                   9687: 2000-03-22 22:50  millert
                   9688:
                   9689:        * Makefile.in: Add targets for *.man.in, using config.status to
                   9690:          generate *.man from *.man.in
                   9691:
                   9692: 2000-03-22 22:20  millert
                   9693:
                   9694:        * sudoers.cat, sudoers.man.in, sudoers.pod: Document set_logname
                   9695:          option and enbolden refs to sudo and visudo.
                   9696:
                   9697: 2000-03-22 19:35  millert
                   9698:
                   9699:        * INSTALL, Makefile.in, aclocal.m4, configure, configure.in,
                   9700:          sudo.cat, sudo.pod, sudo.man.in, sudoers.cat, sudoers.pod,
                   9701:          visudo.cat, visudo.pod, sudoers.man.in, visudo.man.in: Add
                   9702:          FreeBSD login.conf support (untested on BSD/OS) based on a patch
                   9703:          from Michael D. Marchionna.  configure now does substitution on
                   9704:          the man pages, allowing us to fix up the paths and set the
                   9705:          section correctly.  Based on an idea from Michael D. Marchionna.
                   9706:
                   9707: 2000-03-22 19:27  millert
                   9708:
                   9709:        * auth/passwd.c: Better fix for handling HP-UX aging info.
                   9710:
                   9711: 2000-03-22 19:20  millert
                   9712:
                   9713:        * sudo.c: Add support for set_logname run-time default
                   9714:
                   9715: 2000-03-22 19:17  millert
                   9716:
                   9717:        * sudo.man.in, sudoers.man.in, visudo.man.in: configure does
                   9718:          substitution on these to produce *.man
                   9719:
                   9720: 2000-03-22 19:16  millert
                   9721:
                   9722:        * sudo.man, sudoers.man, visudo.man: These files now get generated
                   9723:          from *.man.in at configure time.
                   9724:
                   9725: 2000-03-22 18:40  millert
                   9726:
                   9727:        * defaults.c, defaults.h: Add set_logname option so users can turn
                   9728:          off setting of LOGNAME/USER environment variables.
                   9729:
                   9730: 2000-03-22 10:53  millert
                   9731:
                   9732:        * testsudoers.c, lsearch.c, parse.c: kill register
                   9733:
                   9734: 2000-03-13 15:52  millert
                   9735:
                   9736:        * auth/passwd.c: HP-UX adds extra info at the end for password
                   9737:          aging so when comparing the result of crypt to pw_passwd we only
                   9738:          compare the first len(epass) bytes *unless* the user entered an
                   9739:          empty string for a password.
                   9740:
                   9741: 2000-03-13 11:05  millert
                   9742:
                   9743:        * logging.c: Get rid of grandchild hack, it was causing problems
                   9744:          and there is really no need for it.  This fixes a bug where we
                   9745:          spin eating up CPU when the user runs a long-running process like
                   9746:          a shell.
                   9747:
                   9748: 2000-03-07 14:26  millert
                   9749:
                   9750:        * sudo.c: User can always specify a login class if he/she is
                   9751:          already root.
                   9752:
                   9753: 2000-03-06 23:29  millert
                   9754:
                   9755:        * config.h.in, configure, configure.in, defaults.c, defaults.h,
                   9756:          sudo.c, sudo.h: FreeBSD login class (login.conf) support.
                   9757:
                   9758: 2000-03-06 14:42  millert
                   9759:
                   9760:        * auth/sudo_auth.c: HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes
                   9761:          secureware support
                   9762:
                   9763: 2000-03-03 18:04  millert
                   9764:
                   9765:        * auth/passwd.c: Truncate unencrypted password to 8 chars if
                   9766:          encrypted password is exactly 13 characters (indicateing standard
                   9767:          a DES password).  Many versions of crypt() do this for you, but
                   9768:          not all (like HP-UX's).
                   9769:
                   9770: 2000-03-01 21:01  millert
                   9771:
                   9772:        * INSTALL, RUNSON: Mention that gcc on dynix may have problems
                   9773:
                   9774: 2000-02-29 17:46  millert
                   9775:
                   9776:        * Makefile.in: Link visudo with NET_LIBS since we now call syslog
                   9777:          via defaults.c
                   9778:
                   9779: 2000-02-29 17:41  millert
                   9780:
                   9781:        * defaults.c: Use Argv[0] as the first arg to openlog() since
                   9782:          visudo uses this too.
                   9783:
                   9784: 2000-02-28 18:58  millert
                   9785:
                   9786:        * sudo.c: Stash coredumpsize resource limit and retsore it before
                   9787:          the exec() Otherwise the child ends up with a coredumpsize of 0.
                   9788:
                   9789: 2000-02-26 22:56  millert
                   9790:
                   9791:        * sudo.cat, sudo.man, sudo.pod: document -S flag
                   9792:
                   9793: 2000-02-26 22:54  millert
                   9794:
                   9795:        * sudo.c: fix usage string
                   9796:
                   9797: 2000-02-26 22:48  millert
                   9798:
                   9799:        * CHANGES, RUNSON, TODO, sudo.c, sudo.h, tgetpass.c,
                   9800:          auth/aix_auth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c: Added
                   9801:          -S flag (read passwd from stdin) and tgetpass_flags global that
                   9802:          holds flags to be passed in to tgetpass().  Change echo_off param
                   9803:          to tgetpass() into a flags field.  There are currently 2 possible
                   9804:          flags for tgetpass(): TGP_ECHO and TGP_STDIN.  In tgetpass(),
                   9805:          abstract the echo set/clear via macros and if (flags & TGP_ECHO)
                   9806:          but echo is not set on the terminal, but sure to set it.
                   9807:
                   9808: 2000-02-26 22:11  millert
                   9809:
                   9810:        * tgetpass.c: Fixed a bug that caused an infinite loop when the
                   9811:          password timeout was disabled.
                   9812:
                   9813: 2000-02-18 12:56  millert
                   9814:
                   9815:        * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
                   9816:          sudoers.cat, sudoers.man, sudoers.pod, visudo.c: Add rootpw,
                   9817:          runaspw, and targetpw options.
                   9818:
                   9819: 2000-02-18 12:11  millert
                   9820:
                   9821:        * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
                   9822:          visudo.c: enveditor -> env_editor
                   9823:
                   9824: 2000-02-15 19:07  millert
                   9825:
                   9826:        * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
                   9827:          sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h,
                   9828:          visudo.cat, visudo.man: crank versino to 1.6.3
                   9829:
                   9830: 2000-02-15 19:03  millert
                   9831:
                   9832:        * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
                   9833:          sudoers.pod, visudo.c: Add 'editor' and 'enveditor' sudoers
                   9834:          defaults and make visudo honor them.  This means that visudo will
                   9835:          now parse the sudoers file *before* it is edited so a bogus
                   9836:          sudoers file will cause a warning to go to stderr.  Also, visudo
                   9837:          checks the variables once--it does not check them after each
                   9838:          editor run since that could be confusing.
                   9839:
                   9840: 2000-02-15 18:49  millert
                   9841:
                   9842:        * RUNSON: 1.6.2 -> 1.6.2p1
                   9843:
                   9844: 2000-02-15 18:36  millert
                   9845:
                   9846:        * check.c, sudo.c, sudo.h: Move user_is_exempt prototype into
                   9847:          sudo.h
                   9848:
                   9849: 2000-02-13 13:38  millert
                   9850:
                   9851:        * configure, configure.in: Fix thinko, some && should have been ||
                   9852:          in the last commit
                   9853:
                   9854: 2000-02-13 13:28  millert
                   9855:
                   9856:        * configure, configure.in: Don't initialized Makefile variables to
                   9857:          be NULL since the user may want to import variables from their
                   9858:          environment.
                   9859:
                   9860: 2000-02-03 21:09  millert
                   9861:
                   9862:        * configure, configure.in: typo
                   9863:
                   9864: 2000-01-27 15:01  millert
                   9865:
                   9866:        * INSTALL, RUNSON, configure, configure.in: Make pam work on HP-UX
                   9867:          11.0;jaearick@colby.edu
                   9868:
                   9869: 2000-01-27 15:01  millert
                   9870:
                   9871:        * CHANGES: recent changes; prepare for 1.6.2p1
                   9872:
                   9873: 2000-01-26 23:31  millert
                   9874:
                   9875:        * find_path.c: Don't apply SECURE_PATH if user is example;
                   9876:          jmknoble@pobox.com
                   9877:
                   9878: 2000-01-26 16:21  millert
                   9879:
                   9880:        * sudoers.cat, sudoers.man, sudoers.pod: Expanded docs on sudoers
                   9881:          'defaults' options based on INSTALL file info.
                   9882:
                   9883: 2000-01-26 16:21  millert
                   9884:
                   9885:        * INSTALL: Fix some while lies
                   9886:
                   9887: 2000-01-24 10:48  millert
                   9888:
                   9889:        * Makefile.in: When making a bindist, link FAQ to TROUBLESHOOTING
                   9890:          instead of copying.
                   9891:
                   9892: 2000-01-23 22:57  millert
                   9893:
                   9894:        * sudoers.cat, sudoers.man, sudoers.pod: Add netgroup caveat
                   9895:
                   9896: 2000-01-23 22:42  millert
                   9897:
                   9898:        * RUNSON: Last minute updates
                   9899:
                   9900: 2000-01-23 22:26  millert
                   9901:
                   9902:        * TROUBLESHOOTING: PAM entry
                   9903:
                   9904: 2000-01-23 22:23  millert
                   9905:
                   9906:        * auth/pam.c: correct a comment
                   9907:
                   9908: 2000-01-23 22:03  millert
                   9909:
                   9910:        * CHANGES, RUNSON: update for 1.6.2
                   9911:
                   9912: 2000-01-23 21:59  millert
                   9913:
                   9914:        * auth/pam.c: Better detection of PAM errors and fix custom prompts
                   9915:          with PAM.  Based on patches from "Cloyce D. Spradling"
                   9916:          <cloyce@headgear.org>
                   9917:
                   9918: 2000-01-20 11:15  millert
                   9919:
                   9920:        * snprintf.c: Cast ULONG_MAX to unsigned long long when comparing
                   9921:          to an unsigned long long value.
                   9922:
                   9923: 2000-01-19 14:07  millert
                   9924:
                   9925:        * CHANGES, config.h.in, configure, configure.in, visudo.c: Fix
                   9926:          sudoers locking in visudo.  We now lock the sudoers file itself,
                   9927:          not the temp file (since locking the temp file can foul up
                   9928:          editors).  The previous locking scheme didn't work because the fd
                   9929:          was closed too early.
                   9930:
                   9931: 2000-01-19 13:37  millert
                   9932:
                   9933:        * configure, config.h.in, configure.in: Don't need test for
                   9934:          ftruncate() any more.
                   9935:
                   9936: 2000-01-18 21:23  millert
                   9937:
                   9938:        * configure, configure.in: Add a test for the -Aa flag w/ HP-UX's
                   9939:          cc.  Fixes compilation with the unbundled HP-UX cc.
                   9940:
                   9941: 2000-01-18 17:00  millert
                   9942:
                   9943:        * sudoers.cat, sudoers.man, sudoers.pod: "a a" -> "a"; Aaron
                   9944:          Campbell <aaron@cs.dal.ca>
                   9945:
                   9946: 2000-01-17 18:46  millert
                   9947:
                   9948:        * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
                   9949:          parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c,
                   9950:          tgetpass.c, version.h, visudo.c: update copyright year on changed
                   9951:          files
                   9952:
                   9953: 2000-01-17 18:45  millert
                   9954:
                   9955:        * RUNSON: updates
                   9956:
                   9957: 2000-01-17 18:45  millert
                   9958:
                   9959:        * CHANGES: aix fix
                   9960:
                   9961: 2000-01-17 18:42  millert
                   9962:
                   9963:        * INSTALL: Crank version to 1.6.2
                   9964:
                   9965: 2000-01-17 18:11  millert
                   9966:
                   9967:        * configure: Crank version to 1.6.2
                   9968:
                   9969: 2000-01-17 17:46  millert
                   9970:
                   9971:        * sudo.c: When using rlimit check for RLIM_INFINITY When computing
                   9972:          the value of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
                   9973:
                   9974: 2000-01-17 12:32  millert
                   9975:
                   9976:        * CHANGES: recent changes
                   9977:
                   9978: 2000-01-17 12:28  millert
                   9979:
                   9980:        * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
                   9981:          sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
                   9982:          Crank version to 1.6.2
                   9983:
                   9984: 2000-01-17 12:25  millert
                   9985:
                   9986:        * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod: Add
                   9987:          'shell_noargs' runtime option back in.  We have to defer checking
                   9988:          until after the sudoers file has been parsed but since there are
                   9989:          now other options that operate that way this one can too.  Based
                   9990:          on a patch from bguillory@email.com.
                   9991:
                   9992: 2000-01-16 23:05  millert
                   9993:
                   9994:        * defaults.c, defaults.h, parse.c, sudo.c, sudo.h: Add "listpw" and
                   9995:          "verifypw" options.
                   9996:
                   9997: 2000-01-16 22:57  millert
                   9998:
                   9999:        * sudoers.cat, sudoers.man, sudoers.pod: o Fix some typos/omissions
                   10000:          o Add section on verifypw and listpw o Define how NOPASSWD
                   10001:          interacts with the -v and -l flags
                   10002:
                   10003: 2000-01-14 12:39  millert
                   10004:
                   10005:        * configure, configure.in: For HP-UX cc, add -Aa to CPPFLAGS.  For
                   10006:          HP-UX always add -D_HPUX_SOURCE to CPPFLAGS.
                   10007:
                   10008: 2000-01-14 12:29  millert
                   10009:
                   10010:        * defaults.c, defaults.h: In struct sudo_defs_types, move the union
                   10011:          to the end and don't initialize the union member since that only
                   10012:          works with an ANSI compiler.  We set the value of the union by
                   10013:          hand in init_defaults() anyway.  This allows sudo to compile on a
                   10014:          K&R compiler again.
                   10015:
                   10016: 2000-01-11 13:20  millert
                   10017:
                   10018:        * parse.c, parse.h, parse.yacc, testsudoers.c, visudo.c:
                   10019:          netgr_matches needs to check shost as well as host since they may
                   10020:          be different.
                   10021:
                   10022: 2000-01-11 13:17  millert
                   10023:
                   10024:        * tgetpass.c: End on \r as well as \n
                   10025:
                   10026: 2000-01-02 23:53  millert
                   10027:
                   10028:        * sudo.c: Update statbuf.st_mode based on SUDOERS_MODE when we are
                   10029:          chaning from 0400 to whatever SUDOERS_MODE is (converting from
                   10030:          the old sudoers mode).  Assumes that SUDOERS_MODE is less
                   10031:          restrictive than 0400 which should always be the case.
                   10032:
                   10033: 2000-01-02 23:43  millert
                   10034:
                   10035:        * parse.c, parse.yacc, sudo.c, sudo.h: Make treatment of -l and -v
                   10036:          sane wrt NOPASSWD flags.  Now allow -l w/o a passwd if there is
                   10037:          *any* entry for the user on the host with a NOPASSWD flag.  For
                   10038:          -v, only allow w/o a passwd if *all* entries for the user on the
                   10039:          host w/ the specified runas user have the NOPASSWD flag set.
                   10040:
                   10041: 2000-01-02 23:26  millert
                   10042:
                   10043:        * Makefile.in: add check target
                   10044:
                   10045: 1999-12-16 13:02  millert
                   10046:
                   10047:        * visudo.c: Treat EOF at whatnow prompt like 'x' instead of
                   10048:          looping.
                   10049:
                   10050: 1999-12-10 00:09  millert
                   10051:
                   10052:        * CHANGES: recent changes
                   10053:
                   10054: 1999-12-08 23:04  millert
                   10055:
                   10056:        * config.h.in, configure, configure.in, sudo.c: Add check for
                   10057:          initgroups() since old SYSV lacks this.
                   10058:
                   10059: 1999-12-08 22:54  millert
                   10060:
                   10061:        * CHANGES, RUNSON, aclocal.m4, config.h.in, configure,
                   10062:          configure.in, parse.c, testsudoers.c: o Kill HAVE_FNMATCH_H o
                   10063:          Only define HAVE_FNMATCH if <fnmatch.h> exists.
                   10064:
                   10065: 1999-12-06 01:47  millert
                   10066:
                   10067:        * CHANGES, RUNSON, insults.h, auth/sudo_auth.c: Don't allow insults
                   10068:          to be enabled if the insults[] array is empty.  Otherwise there
                   10069:          would be division by zero.
                   10070:
                   10071: 1999-12-06 01:25  millert
                   10072:
                   10073:        * insults.h: Don't care about USE_INSULTS #define since the insult
                   10074:          stuff may be overridden at runtime.
                   10075:
                   10076: 1999-12-06 01:23  millert
                   10077:
                   10078:        * auth/sudo_auth.c: Honor insults flag.
                   10079:
                   10080: 1999-12-05 19:14  millert
                   10081:
                   10082:        * CHANGES, parse.c: Don't ask the user for a password if the user
                   10083:          is not allowed to run the command and the authenticate flag (in
                   10084:          sudoers) is false.
                   10085:
                   10086: 1999-12-05 19:05  millert
                   10087:
                   10088:        * CHANGES, RUNSON, lex.yy.c, parse.lex: o Whenever we get a bare
                   10089:          newline we change to the INITIAL state.  o Enter GOTRUNAS when we
                   10090:          see Runas_Alias
                   10091:
                   10092:          This allows #uid to work in a RunasAlias.
                   10093:
                   10094: 1999-12-05 14:06  millert
                   10095:
                   10096:        * CHANGES, parse.yacc: fix parsing of runas lists: o oprunasuser
                   10097:          and runaslist now return a value o in a runasspec, if a runaslist
                   10098:          does not return TRUE, set runas_matches to   FALSE.  Normally, a
                   10099:          runaslist only returns FALSE for explicitly denied   users.  o
                   10100:          since runaslist does not modify the stack there is no need for a
                   10101:          push/pop   in runasalias.
                   10102:
                   10103: 1999-12-04 21:54  millert
                   10104:
                   10105:        * check.c, sudo.c: Don't kill the user's tickets until after
                   10106:          sudoers has been parsed since tty_tickets and ticket_dir could be
                   10107:          set in sudoers.
                   10108:
                   10109: 1999-12-04 21:18  millert
                   10110:
                   10111:        * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
                   10112:          configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
                   10113:          sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man: crank
                   10114:          version to 1.6
                   10115:
                   10116: 1999-12-04 21:18  millert
                   10117:
                   10118:        * testsudoers.c: add set_fqdn() stub
                   10119:
                   10120: 1999-12-02 15:31  millert
                   10121:
                   10122:        * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
                   10123:          sudoers.man, sudoers.pod, visudo.c: o Kill shell_noargs option,
                   10124:          it cannot work since the command needs to   be set before sudoers
                   10125:          is parsed.  o Fix the "set_home" sudoers option (only worked at
                   10126:          compile time).  o Fix "fqdn" sudoers option.  We now set
                   10127:          host/shost via set_fqdn which   gets called when the "fqdn"
                   10128:          option is set in sudoers.  o Move the openlog() to
                   10129:          store_syslogfac() so this gets overridden   correctly from the
                   10130:          sudoers file.
                   10131:
                   10132: 1999-12-02 15:21  millert
                   10133:
                   10134:        * auth/securid.c: SecurID support should compile now.
                   10135:
                   10136: 1999-11-28 20:56  millert
                   10137:
                   10138:        * sudo.pod, visudo.pod, sudo.cat, sudo.man, sudoers.man,
                   10139:          visudo.man, sudoers.cat, visudo.cat: fix some syntactic goofs
                   10140:
                   10141: 1999-11-28 18:51  millert
                   10142:
                   10143:        * sudo.html, sudoers.html, Makefile.in, visudo.html: No longer need
                   10144:          the .html files as they are generated automatically on the web
                   10145:          site.
                   10146:
                   10147: 1999-11-28 18:49  millert
                   10148:
                   10149:        * CHANGES, LICENSE: kill characters that made wml unhappy
                   10150:
                   10151: 1999-11-28 18:34  millert
                   10152:
                   10153:        * HISTORY: typo
                   10154:
                   10155: 1999-11-25 12:05  millert
                   10156:
                   10157:        * README: majordomo@cs.colorado.edu -> majordomo@courtesan.com
                   10158:
                   10159: 1999-11-24 19:43  millert
                   10160:
                   10161:        * Makefile.in, configure: Wrap script execution w/ /bin/sh for the
                   10162:          benefit of ctm
                   10163:
                   10164: 1999-11-23 22:52  millert
                   10165:
                   10166:        * sudo.c: Make the -s flag be exclusive too.  Also reorder the
                   10167:          flags in the exclusive usage message so they are alphabetical.
                   10168:
                   10169: 1999-11-23 13:27  millert
                   10170:
                   10171:        * auth/pam.c: make pam errors other than PAM_PERM_DENIED fatal
                   10172:
                   10173: 1999-11-23 13:07  millert
                   10174:
                   10175:        * auth/API: fix typo
                   10176:
                   10177: 1999-11-23 13:07  millert
                   10178:
                   10179:        * INSTALL: make it clear that /etc/pam.d/sudo is required on linux
                   10180:
                   10181: 1999-11-23 13:06  millert
                   10182:
                   10183:        * auth/pam.c: fix a warning on redhat and spew an error if
                   10184:          pam_authenticate() returns an error other than AUTH_SUCCESS or
                   10185:          PAM_PERM_DENIED
                   10186:
                   10187: 1999-11-23 00:43  millert
                   10188:
                   10189:        * sudo.cat, sudo.html, sudo.man, sudo.pod: Be very clear that the
                   10190:          password required is the user's not root's
                   10191:
                   10192: 1999-11-19 21:04  millert
                   10193:
                   10194:        * Makefile.in: add sample.syslog.conf to DISTFILES and BINFILES
                   10195:
                   10196: 1999-11-18 19:13  millert
                   10197:
                   10198:        * RUNSON: updates from Brian Jackson + some formatting
                   10199:
                   10200: 1999-11-17 21:39  millert
                   10201:
                   10202:        * INSTALL.binary, Makefile.binary, README, RUNSON: o One RUNSon
                   10203:          update o Changes for automating real binary releases
                   10204:
                   10205: 1999-11-17 21:38  millert
                   10206:
                   10207:        * Makefile.in: Add bindist target
                   10208:
                   10209: 1999-11-16 16:26  millert
                   10210:
                   10211:        * TROUBLESHOOTING: talk about run-time options in addition to
                   10212:          compile-time options
                   10213:
                   10214: 1999-11-16 01:16  millert
                   10215:
                   10216:        * CHANGES: fix typos
                   10217:
                   10218: 1999-11-16 01:09  millert
                   10219:
                   10220:        * sudo.c: need sys/time.h if HAVE_SETRLIMIT
                   10221:
                   10222: 1999-11-16 00:42  millert
                   10223:
                   10224:        * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
                   10225:          sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod: get
                   10226:          rid of references to sudo-bugs.  Now mention the web site or the
                   10227:          sudo@ alias
                   10228:
                   10229: 1999-11-16 00:35  millert
                   10230:
                   10231:        * sudoers.html: repair pod2html damage
                   10232:
                   10233: 1999-11-16 00:28  millert
                   10234:
                   10235:        * RUNSON, TODO: Update for 1.6 release
                   10236:
                   10237: 1999-11-16 00:23  millert
                   10238:
                   10239:        * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: Add warning
                   10240:          about using ALL in a command context.
                   10241:
                   10242: 1999-11-09 15:12  millert
                   10243:
                   10244:        * visudo.c: Call yyrestart() on a parse error to reset the lexer
                   10245:          state.
                   10246:
                   10247: 1999-11-09 15:06  millert
                   10248:
                   10249:        * parse.lex, lex.yy.c: Don't need YY_FLUSH_BUFFER after all Move
                   10250:          yyrestart() into visudo.c since it might not get called in yywrap
                   10251:          if we get a parse error (and we only reread the file on error
                   10252:          anyway).
                   10253:
                   10254: 1999-11-09 14:32  millert
                   10255:
                   10256:        * parse.lex, lex.yy.c: Call YY_FLUSH_BUFFER macro in yywrap() to
                   10257:          clean up any buffers that might still exist.  Call yyrestart()
                   10258:          instead of using the deprecated YY_NEW_FILE macro.
                   10259:
                   10260: 1999-11-09 12:13  millert
                   10261:
                   10262:        * lex.yy.c, parse.lex: flex doesn't need %N table size declarations
                   10263:
                   10264: 1999-11-08 19:00  millert
                   10265:
                   10266:        * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: Mention what
                   10267:          characters need to be escaped in names.
                   10268:
                   10269: 1999-11-08 18:59  millert
                   10270:
                   10271:        * configure: regen
                   10272:
                   10273: 1999-11-08 18:59  millert
                   10274:
                   10275:        * INSTALL: clarify Mac OS X entry
                   10276:
                   10277: 1999-11-08 18:59  millert
                   10278:
                   10279:        * RUNSON: update
                   10280:
                   10281: 1999-11-08 17:45  millert
                   10282:
                   10283:        * configure.in: o Use AC_MSG_ERROR throughout o Check syslog
                   10284:          configure options for danity
                   10285:
                   10286: 1999-11-05 17:11  millert
                   10287:
                   10288:        * defaults.c: Fix printing of type T_MODE in dump_defaults()
                   10289:
                   10290: 1999-11-05 12:00  millert
                   10291:
                   10292:        * strcasecmp.c: missing sys/types.h
                   10293:
                   10294: 1999-11-05 00:42  millert
                   10295:
                   10296:        * INSTALL: Break out options that may be overridden at run time
                   10297:          into their own section.  Add a not about Max OS X and correct
                   10298:          some lies.
                   10299:
                   10300: 1999-11-04 14:01  millert
                   10301:
                   10302:        * CHANGES, config.h.in, configure, configure.in, sudo.c: o Now use
                   10303:          getrlimit to find the highest fd when closing all non-std fd's o
                   10304:          Turn off core dumps via setrlimit for the sake of paranoia
                   10305:
                   10306: 1999-11-04 13:57  millert
                   10307:
                   10308:        * RUNSON: updates
                   10309:
                   10310: 1999-11-01 10:59  millert
                   10311:
                   10312:        * CHANGES: updates
                   10313:
                   10314: 1999-11-01 10:58  millert
                   10315:
                   10316:        * tgetpass.c: When read()'ing, do a single character at a time to
                   10317:          be sure we don't go oast the newline.
                   10318:
                   10319: 1999-11-01 10:43  millert
                   10320:
                   10321:        * sudo.c: For the sudo_root option, check against user_uid, not
                   10322:          getuid() since at this point, ruid == euid == 0.
                   10323:
                   10324: 1999-10-31 23:14  millert
                   10325:
                   10326:        * RUNSON: some updates
                   10327:
                   10328: 1999-10-31 23:14  millert
                   10329:
                   10330:        * logging.h: Fix compilation problem when --with-logging=file was
                   10331:          specified.  This means that syslog is now required to build sudo
                   10332:          but that should not be a problem.  If it is it can be fixed
                   10333:          trivially with a configure check for syslog() or syslog.h.
                   10334:
                   10335: 1999-10-31 23:00  millert
                   10336:
                   10337:        * tgetpass.c: Make this work again for things like "sudo echo hi |
                   10338:          more" where the tty gets put into character at a time mode.  We
                   10339:          read until we read end of line or we run out of space (similar to
                   10340:          fgets(3)).
                   10341:
                   10342: 1999-10-20 11:23  millert
                   10343:
                   10344:        * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: change ital
                   10345:          to bold
                   10346:
                   10347: 1999-10-20 11:23  millert
                   10348:
                   10349:        * RUNSON: update
                   10350:
                   10351: 1999-10-16 13:56  millert
                   10352:
                   10353:        * defaults.c: Error out if syslog parameters are given without a
                   10354:          value.  For Ultrix or 4.2BSD "syslog" is allowed without a value
                   10355:          since there are no facilities in the 4.2BSD syslog.
                   10356:
                   10357: 1999-10-15 16:37  millert
                   10358:
                   10359:        * defaults.c: Ignore the syslog facility for systems w/ old syslog
                   10360:          like Ultrix.
                   10361:
                   10362: 1999-10-15 12:51  millert
                   10363:
                   10364:        * TROUBLESHOOTING: people with "." early in their path can have
                   10365:          problems running sudo from the build dir ;-)
                   10366:
                   10367: 1999-10-13 00:18  millert
                   10368:
                   10369:        * sudo.man, sudo.pod, sudo.cat, sudo.html: Remove -r realm option
                   10370:
                   10371: 1999-10-12 22:34  millert
                   10372:
                   10373:        * configure, configure.in, sudo.c, auth/kerb5.c, auth/sudo_auth.c,
                   10374:          auth/sudo_auth.h: New krb5 code from Frank Cusack
                   10375:          <fcusack@iconnet.net>.
                   10376:
                   10377: 1999-10-12 22:33  millert
                   10378:
                   10379:        * CHANGES: update to reality
                   10380:
                   10381: 1999-10-11 20:53  millert
                   10382:
                   10383:        * auth/fwtk.c: include <auth.h> to get function prototypes.
                   10384:
                   10385: 1999-10-11 20:05  millert
                   10386:
                   10387:        * sudo.cat, sudo.html, sudo.man, sudo.pod: document -L flag
                   10388:
                   10389: 1999-10-11 19:42  millert
                   10390:
                   10391:        * sudo.c: in set_perms(), always call setuid(0) before changing the
                   10392:          ruid/euid so we always know it will succeed.
                   10393:
                   10394: 1999-10-11 12:24  millert
                   10395:
                   10396:        * defaults.h: #undef T_FOO to avoid conflicts with system defines
                   10397:          (like on ULTRIX).
                   10398:
                   10399: 1999-10-11 11:55  millert
                   10400:
                   10401:        * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
                   10402:          sudoers.pod: Docuement "Defaults" lines in /etc/sudoers.  Still
                   10403:          needs some fleshing out but this is a start.
                   10404:
                   10405: 1999-10-10 17:21  millert
                   10406:
                   10407:        * defaults.c: use strtol, not strtoul since not everyone has not
                   10408:          strtoul
                   10409:
                   10410: 1999-10-10 15:01  millert
                   10411:
                   10412:        * lex.yy.c, parse.lex: last {WORD} rule should only apply in the
                   10413:          INITIAL state
                   10414:
                   10415: 1999-10-10 14:38  millert
                   10416:
                   10417:        * lex.yy.c, parse.lex: o Add support for escaped characters in the
                   10418:          WORD macro o Modify fill() to squash escape chars
                   10419:
                   10420: 1999-10-10 13:56  millert
                   10421:
                   10422:        * defaults.c, defaults.h: o Add T_PATH flag to allow simple sanity
                   10423:          checks for default values that   are supposed to be pathnames.  o
                   10424:          Fix a duplicate free when visudo finds an error.
                   10425:
                   10426: 1999-10-09 01:01  millert
                   10427:
                   10428:        * defaults.c, defaults.h, logging.c: mail_if_foo -> mail_foo
                   10429:
                   10430: 1999-10-07 21:12  millert
                   10431:
                   10432:        * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c: o Add
                   10433:          requiretty option o Move O_NOCTTY to compat.h
                   10434:
                   10435: 1999-10-07 21:12  millert
                   10436:
                   10437:        * logging.c: The exit() in log_error() was mistakenly removed in a
                   10438:          previous version.  Put it back...
                   10439:
                   10440: 1999-10-07 17:20  millert
                   10441:
                   10442:        * INSTALL, TODO, check.c, config.h.in, configure, configure.in,
                   10443:          defaults.c, defaults.h, find_path.c, getspwuid.c, lex.yy.c,
                   10444:          logging.c, parse.yacc, sudo.c, auth/aix_auth.c, auth/fwtk.c,
                   10445:          auth/pam.c, auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c: o
                   10446:          Change defaults stuff to put the value right in the struct.  o
                   10447:          Implement mailer_flags o Store syslog stuff both in int and
                   10448:          string form.  Setting the string   form magically updates the int
                   10449:          version.  o Add boolean attribute to strings where it makes sense
                   10450:          to say !foo
                   10451:
                   10452: 1999-10-07 17:13  millert
                   10453:
                   10454:        * tgetpass.c: add O_NOCTTY when opening /dev/tty just in case
                   10455:
                   10456: 1999-10-06 00:48  millert
                   10457:
                   10458:        * auth/API: cleanup function no longer takes a status arg
                   10459:
                   10460: 1999-10-06 00:48  millert
                   10461:
                   10462:        * INSTALL: the the
                   10463:
                   10464: 1999-09-15 05:15  millert
                   10465:
                   10466:        * TODO, config.h.in, configure, configure.in, logging.c: Use
                   10467:          strftime() instead of ctime() if it is available.
                   10468:
                   10469: 1999-09-14 12:58  millert
                   10470:
                   10471:        * defaults.c: fix copyright date
                   10472:
                   10473: 1999-09-14 12:57  millert
                   10474:
                   10475:        * RUNSON: update ReliantUNIX entry
                   10476:
                   10477: 1999-09-14 12:56  millert
                   10478:
                   10479:        * defaults.c, defaults.h, logging.c: add log_year option
                   10480:
                   10481: 1999-09-14 04:01  millert
                   10482:
                   10483:        * configure, configure.in: add --without-sendmail to help output
                   10484:
                   10485: 1999-09-14 03:42  millert
                   10486:
                   10487:        * configure, configure.in: enforce an otctal arg for
                   10488:          --with-suoders-mode
                   10489:
                   10490: 1999-09-08 04:06  millert
                   10491:
                   10492:        * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, check.c,
                   10493:          config.h.in, configure, configure.in, defaults.c, defaults.h,
                   10494:          find_path.c, lex.yy.c, logging.c, parse.h, parse.lex, parse.yacc,
                   10495:          sudo.c, sudo.h, sudo.tab.h, testsudoers.c, version.c, visudo.c,
                   10496:          auth/aix_auth.c, auth/fwtk.c, auth/kerb5.c, auth/pam.c,
                   10497:          auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c: Add support for
                   10498:          "Defaults" line in sudoers to make configuration variables
                   10499:          changable at runtime (and on a global, per-host and per-user
                   10500:          basis).  Both the names and the internal representation are still
                   10501:          subject to change.  It was necessary to make sudo_user.runas but
                   10502:          a char ** instead of a char * since this value can be changed by
                   10503:          a Defaults line.  There is a similar (but more complicated) issue
                   10504:          with sudo_user.prompt but it is handled differently at the
                   10505:          moment.
                   10506:
                   10507:          Add a "-L" flag to list the name of options with their
                   10508:          descriptions.  This may only be temporary.
                   10509:
                   10510:          Move some prototypes to parse.h
                   10511:
                   10512:          Be much less restrictive on what is allowed for a username.
                   10513:
                   10514: 1999-09-08 04:01  millert
                   10515:
                   10516:        * sample.syslog.conf: Add more info
                   10517:
                   10518: 1999-09-04 03:09  millert
                   10519:
                   10520:        * fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
                   10521:          strcasecmp.c, LICENSE: UCB has dropped the advertising clause
                   10522:          from their license.
                   10523:
                   10524: 1999-08-31 05:39  millert
                   10525:
                   10526:        * auth/sudo_auth.h: move dce_verofy proto to correct section
                   10527:
                   10528: 1999-08-31 05:39  millert
                   10529:
                   10530:        * auth/dce.c: remove XXX
                   10531:
                   10532: 1999-08-28 06:00  millert
                   10533:
                   10534:        * emul/fnmatch.h: Add fnmatch() prototype
                   10535:
                   10536: 1999-08-28 06:00  millert
                   10537:
                   10538:        * fnmatch.c, parse.c, testsudoers.c: Move inclusion of
                   10539:          emul/fnmatch.h to be after sudo.h for __P
                   10540:
                   10541: 1999-08-28 05:59  millert
                   10542:
                   10543:        * sudo.h: add strcasecmp proto
                   10544:
                   10545: 1999-08-28 05:50  millert
                   10546:
                   10547:        * auth/sudo_auth.c: add check for case where there are no auth
                   10548:          methods
                   10549:
                   10550: 1999-08-28 05:36  millert
                   10551:
                   10552:        * configure, configure.in: Define _XOPEN_EXTENDED_SOURCE on AIX and
                   10553:          __USE_FIXED_PROTOTYPES__ on SunOS4 w/ gcc
                   10554:
                   10555: 1999-08-28 05:24  millert
                   10556:
                   10557:        * getspwuid.c, lex.yy.c, parse.lex, parse.yacc: include strings.h
                   10558:          everywhere we include string.h
                   10559:
                   10560: 1999-08-28 05:22  millert
                   10561:
                   10562:        * version.c: nicer output when showing auth methods
                   10563:
                   10564: 1999-08-28 05:00  millert
                   10565:
                   10566:        * version.c: Add support for SEND_MAIL_WHEN_NO_HOST
                   10567:
                   10568: 1999-08-28 04:49  millert
                   10569:
                   10570:        * config.h.in, configure.in, configure: Add _GNU_SOURCE for Linux
                   10571:
                   10572: 1999-08-28 04:22  millert
                   10573:
                   10574:        * parse.lex, lex.yy.c: fix definition of OCTECT
                   10575:
                   10576: 1999-08-28 04:10  millert
                   10577:
                   10578:        * configure, configure.in: aix_auth.o not authenticate.o
                   10579:
                   10580: 1999-08-27 17:02  millert
                   10581:
                   10582:        * sudo.c: Only block SIGINT, SIGQUIT, SIGTSTP (which can be
                   10583:          generated from the keyboard).  Since we run with ruid/euid == 0
                   10584:          the user can't really signal us in nasty ways.
                   10585:
                   10586: 1999-08-27 17:01  millert
                   10587:
                   10588:        * visudo.c: Don't need to worry about catching too many signals
                   10589:          since we do locking on the tmp file.  If a lockfile is really
                   10590:          stale, it will be detected and overwritten.
                   10591:
                   10592: 1999-08-27 16:09  millert
                   10593:
                   10594:        * INSTALL, Makefile.in: include auth/API in tarball
                   10595:
                   10596: 1999-08-27 16:09  millert
                   10597:
                   10598:        * auth/sudo_auth.c: move memset() of plaintext pw outside of verify
                   10599:          loop and only do the memset if we are *not* in standalone mode.
                   10600:
                   10601: 1999-08-27 13:46  millert
                   10602:
                   10603:        * auth/: sudo_auth.c, sudo_auth.h: DCE is not a standalone method
                   10604:
                   10605: 1999-08-27 11:53  millert
                   10606:
                   10607:        * sudo.c: fix --enable-noargs-shell
                   10608:
                   10609: 1999-08-27 11:06  millert
                   10610:
                   10611:        * snprintf.c: "#ifdef __STDC__" not "#if __STDC__" (I missed one)
                   10612:
                   10613: 1999-08-27 10:54  millert
                   10614:
                   10615:        * auth/: fwtk.c, sia.c: _cleanup() function returns an int.
                   10616:
                   10617: 1999-08-27 10:50  millert
                   10618:
                   10619:        * auth/dce.c: there were still some return(0)'s hanging around,
                   10620:          make them AUTH_FAILURE
                   10621:
                   10622: 1999-08-27 10:39  millert
                   10623:
                   10624:        * parse.c: typo in comment
                   10625:
                   10626: 1999-08-27 10:03  millert
                   10627:
                   10628:        * version.c: add missing semicolon
                   10629:
                   10630: 1999-08-27 08:31  millert
                   10631:
                   10632:        * auth/sudo_auth.h: missing backslash
                   10633:
                   10634: 1999-08-26 17:24  millert
                   10635:
                   10636:        * CHANGES, config.h.in, configure, configure.in: Kill
                   10637:          _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
                   10638:
                   10639: 1999-08-26 09:21  millert
                   10640:
                   10641:        * Makefile.in: add parse.h to HDRS
                   10642:
                   10643: 1999-08-26 09:16  millert
                   10644:
                   10645:        * Makefile.in, configure, configure.in: Kill VISUDO_LIBS and
                   10646:          VISUDO_LDFLAGS.  Add LIBS, NET_LIBS, and LDFLAGS.  Common libs go
                   10647:          in LIBS, commong ld flags go in LDFLAGS and network libs like
                   10648:          -lsocket, -lnsl go in NET_LIBS.  This allows testsudoers to build
                   10649:          on Solaris and is a bit cleaner in general.
                   10650:
                   10651: 1999-08-26 06:56  millert
                   10652:
                   10653:        * UPGRADE: mention ptmp -> sudoers.tmp
                   10654:
                   10655: 1999-08-26 06:12  millert
                   10656:
                   10657:        * configure.in, configure, config.h.in: Define
                   10658:          _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
                   10659:
                   10660: 1999-08-26 05:37  millert
                   10661:
                   10662:        * RUNSON: add 2 reports
                   10663:
                   10664: 1999-08-26 05:20  millert
                   10665:
                   10666:        * auth/kerb5.c: Minor changes, mostly cosmetic.
                   10667:          verify_krb_v5_tgt() changed to return a value  more like a system
                   10668:          function
                   10669:
                   10670: 1999-08-26 05:19  millert
                   10671:
                   10672:        * auth/dce.c: Add an XXX
                   10673:
                   10674: 1999-08-26 05:19  millert
                   10675:
                   10676:        * TODO: more things todo!
                   10677:
                   10678: 1999-08-26 05:18  millert
                   10679:
                   10680:        * sample.sudoers: update based on what is in the man page
                   10681:
                   10682: 1999-08-26 05:10  millert
                   10683:
                   10684:        * parse.yacc: minor change to first line printed in -l mode
                   10685:
                   10686: 1999-08-26 05:10  millert
                   10687:
                   10688:        * sudo.cat, sudo.html, sudo.man, sudo.pod: rename "ENVIRONMENT
                   10689:          VARIABLES" section to "ENVIRONMENT" to be more standard and add
                   10690:          "EXAMPLES" section
                   10691:
                   10692: 1999-08-26 05:08  millert
                   10693:
                   10694:        * visudo.cat, visudo.html, visudo.man, visudo.pod: rename
                   10695:          "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
                   10696:          standard
                   10697:
                   10698: 1999-08-26 05:06  millert
                   10699:
                   10700:        * logging.c, parse.c, sudo.h: add FLAG_NO_CHECK
                   10701:
                   10702: 1999-08-26 05:05  millert
                   10703:
                   10704:        * parse.lex, lex.yy.c: make an OCTET really be limited to 0-255
                   10705:
                   10706: 1999-08-26 05:04  millert
                   10707:
                   10708:        * UPGRADE: mention timestamp changes
                   10709:
                   10710: 1999-08-26 05:04  millert
                   10711:
                   10712:        * PORTING: cosmetic cleanup
                   10713:
                   10714: 1999-08-26 05:00  millert
                   10715:
                   10716:        * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: new
                   10717:          sudoers(8) man page
                   10718:
                   10719: 1999-08-24 13:45  millert
                   10720:
                   10721:        * version.c: Update comments about syslog name tables
                   10722:
                   10723: 1999-08-24 13:37  millert
                   10724:
                   10725:        * CHANGES, LICENSE, Makefile.in, configure, strcasecmp.c,
                   10726:          configure.in, parse.yacc: include strcasecmp() for those without
                   10727:          it
                   10728:
                   10729: 1999-08-24 12:43  millert
                   10730:
                   10731:        * sample.sudoers: Use the : operator some more and fix a typo
                   10732:
                   10733: 1999-08-24 12:43  millert
                   10734:
                   10735:        * HISTORY: update the history of sudo
                   10736:
                   10737: 1999-08-24 12:42  millert
                   10738:
                   10739:        * parse.c, parse.lex, testsudoers.c: CIDR-style netmask support
                   10740:
                   10741: 1999-08-24 12:41  millert
                   10742:
                   10743:        * CHANGES: recent changes
                   10744:
                   10745: 1999-08-24 12:40  millert
                   10746:
                   10747:        * sudo.tab.h: these should be generated with byacc, not bison
                   10748:
                   10749: 1999-08-24 12:40  millert
                   10750:
                   10751:        * lex.yy.c: regen
                   10752:
                   10753: 1999-08-24 11:58  millert
                   10754:
                   10755:        * parse.h, parse.yacc, sudo.tab.h: In "sudo -l" mode, the type of
                   10756:          the stored (expanded) alias was not stored with the contents.
                   10757:          This could lead to incorrect output if the sudoers file had
                   10758:          different alias types with the same name.  Normal parsing (ie:
                   10759:          not in '-l' mode) is unaffected.
                   10760:
                   10761: 1999-08-23 12:47  millert
                   10762:
                   10763:        * configure, configure.in: define _XOPEN_SOURCE to get at crypt()
                   10764:          proto on some systems
                   10765:
                   10766: 1999-08-22 13:10  millert
                   10767:
                   10768:        * snprintf.c: fix comment
                   10769:
                   10770: 1999-08-22 13:09  millert
                   10771:
                   10772:        * tgetpass.c: don't need limits.h
                   10773:
                   10774: 1999-08-22 07:36  millert
                   10775:
                   10776:        * snprintf.c: kill bogus reference to vfprintf
                   10777:
                   10778: 1999-08-22 07:26  millert
                   10779:
                   10780:        * sample.sudoers, sudoers: better examples
                   10781:
                   10782: 1999-08-22 07:23  millert
                   10783:
                   10784:        * snprintf.c: Add some const in the K&R defs.  This is safe since
                   10785:          we define const away if the compiler doesn't grok it.
                   10786:
                   10787: 1999-08-22 07:22  millert
                   10788:
                   10789:        * aclocal.m4, configure: Better test for working long long support.
                   10790:          Ultrix compiler supports basic long long but not all operations
                   10791:          on them.
                   10792:
                   10793: 1999-08-22 05:59  millert
                   10794:
                   10795:        * aclocal.m4, config.h.in, configure, getspwuid.c, snprintf.c,
                   10796:          sudo.c, auth/secureware.c: Add check for LONG_IS_QUAD #undef
                   10797:          MAXINT before including hpsecurity.h to silence an HP-UX warning
                   10798:          Check for U?LONG_LONG_MAX in snprintf.c and use LONG_IS_QUAD
                   10799:
                   10800: 1999-08-21 15:00  millert
                   10801:
                   10802:        * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
                   10803:          snprintf.c: UCB-derived snprintf + asprintf support.  Supports
                   10804:          quads if the compiler does.  No floating point yet, perhaps
                   10805:          later...
                   10806:
                   10807: 1999-08-20 16:37  millert
                   10808:
                   10809:        * check.c, find_path.c, goodpath.c, logging.c, parse.c, sudo.c,
                   10810:          auth/API, auth/sudo_auth.c, auth/sudo_auth.h: Run most of the
                   10811:          code as root, not the invoking user.  It doesn't really gain us
                   10812:          anything to run as the user since an attacker can just have an
                   10813:          setuid(0) in their egg.  Running as root solves potential
                   10814:          problems wrt signalling.
                   10815:
                   10816: 1999-08-19 13:45  millert
                   10817:
                   10818:        * logging.c, sudo.c: Don't wait for child to finish in log_error(),
                   10819:          let the signal handler get it if we are still running, else let
                   10820:          init reap it for us.  The extra time it takes to wait lets the
                   10821:          user know that mail is being sent.
                   10822:
                   10823:          Install SIGCHLD handler in main() and for POSIX signals, block
                   10824:          everything *except* SIGCHLD.
                   10825:
                   10826: 1999-08-19 12:30  millert
                   10827:
                   10828:        * logging.c, parse.c, parse.yacc, sudo.c, configure, sudo.h,
                   10829:          INSTALL, config.h.in, configure.in: sudoers_lookup() now returns
                   10830:          a bitmap instead of an int.  This makes it possible to express
                   10831:          things like "failed to validate because user not listed for this
                   10832:          host".  Some thigns that were previously VALIDATE_FOO are now
                   10833:          FLAG_FOO.  This may change later on.
                   10834:
                   10835:          Reorganized code in log_auth() and sudo.c to deal with above
                   10836:          changes.
                   10837:
                   10838:          Safer versions of push/pushcp with in the do { ... } while (0)
                   10839:          style
                   10840:
                   10841:          parse.yacc now saves info on the stack to allow parse.c to
                   10842:          determine if a user was listed, but not for the host he/she tried
                   10843:          to run on.
                   10844:
                   10845:          Added --with-mail-if-no-host option
                   10846:
                   10847: 1999-08-17 11:29  millert
                   10848:
                   10849:        * parse.yacc, sudo.h, visudo.c, visudo.cat, visudo.html,
                   10850:          visudo.man, visudo.pod: o NewArgv and NewArgc don't need to be
                   10851:          externally visible.  o If pedantic > 1, it is a parse error.  o
                   10852:          Add -s (strict) option to visudo which sets pedantic to 2.
                   10853:
                   10854: 1999-08-17 11:26  millert
                   10855:
                   10856:        * HISTORY, INSTALL: Just have sudo-bugs contact info in one place
                   10857:
                   10858: 1999-08-17 11:20  millert
                   10859:
                   10860:        * sudo.cat, sudo.html, sudo.man, sudo.pod: Add BUGS section
                   10861:
                   10862: 1999-08-17 10:29  millert
                   10863:
                   10864:        * configure, configure.in, Makefile.in: Add testsudoers to default
                   10865:          build target if --with-devel Don't clean generated parser files
                   10866:          unless "distclean".
                   10867:
                   10868: 1999-08-17 08:47  millert
                   10869:
                   10870:        * parse.yacc: In pedantic mode we need to save *all* the aliases,
                   10871:          not just those that match, or we get spurious warnings.
                   10872:
                   10873: 1999-08-17 05:32  millert
                   10874:
                   10875:        * TROUBLESHOOTING: reference samples.sylog.conf
                   10876:
                   10877: 1999-08-14 11:50  millert
                   10878:
                   10879:        * sample.syslog.conf: Sample entries for syslog.conf
                   10880:
                   10881: 1999-08-14 11:40  millert
                   10882:
                   10883:        * CHANGES: recent changes
                   10884:
                   10885: 1999-08-14 11:36  millert
                   10886:
                   10887:        * auth/: API, afs.c, aix_auth.c, dce.c, fwtk.c, kerb4.c, kerb5.c,
                   10888:          pam.c, passwd.c, rfc1938.c, secureware.c, securid.c, sia.c,
                   10889:          sudo_auth.c, sudo_auth.h: In struct sudo_auth, turn need_root and
                   10890:          configured into flags and add a flag to specify an auth method is
                   10891:          running alone (the only one).  Pass auth methods their sudo_auth
                   10892:          pointer, not the data pointer.  This allows us to get at the
                   10893:          flags and tell if we are the only auth method.  That, in turn,
                   10894:          allows the method to be able to decide what should/should not be
                   10895:          a fatal error.  Currently only rfc1938 uses it this way, which
                   10896:          allows us to kill the OTP_ONLY define and te hackery that went
                   10897:          with it.  With access to the sudo_auth struct, methods can also
                   10898:          get at a string holding their cannonical name (useful in error
                   10899:          messages).
                   10900:
                   10901: 1999-08-14 11:34  millert
                   10902:
                   10903:        * Makefile.in, INSTALL, README, config.h.in, configure,
                   10904:          configure.in, getspwuid.c, lex.yy.c, parse.lex, parse.yacc,
                   10905:          sudo.tab.h: o --with-otp deprecated, use --without-passwd instead
                   10906:          o real dependencies in the Makefile o --with-devel option to
                   10907:          enable yacc, lex, and -Wall o style -- "foo -> bar" becomes
                   10908:          "foo->bar" o ALL goes back to being a token, not a string but
                   10909:          don't leak memory o rename hsotspec -> host in parse.yacc
                   10910:
                   10911: 1999-08-12 12:26  millert
                   10912:
                   10913:        * BUGS, CHANGES: recent changes
                   10914:
                   10915: 1999-08-12 12:24  millert
                   10916:
                   10917:        * configure, configure.in, interfaces.c, snprintf.c, sudo.c,
                   10918:          sudo.h, auth/sudo_auth.c: o Digital UNIX needs to check for
                   10919:          *snprintf() before -ldb is added to LIBS since -ldb includes a
                   10920:          bogus snprintf().  o Add forward refs for struct mbuf and struct
                   10921:          rtentry for Digital UNIX.  o Reorder some functions in snprintf.c
                   10922:          to fix -Wall o Add missing includes to fix more -Wall
                   10923:
                   10924: 1999-08-12 10:37  millert
                   10925:
                   10926:        * INSTALL, check.c, config.h.in, configure, configure.in,
                   10927:          parse.yacc, testsudoers.c, version.c, visudo.c, auth/sudo_auth.c:
                   10928:          o Add a "pedentic" flag to the parser.  This makes sudo warn in
                   10929:          cases where an alias may be used before it is defined.  Only
                   10930:          turned on for visudo and testsudoers.  o Add
                   10931:          --disable-authentication option that makes sudo not require
                   10932:          authentication by default.  The PASSWD tag can be used to require
                   10933:          authentication for an entry.  We no longer overload
                   10934:          --without-passwd.
                   10935:
                   10936: 1999-08-12 10:29  millert
                   10937:
                   10938:        * lex.yy.c, parse.lex: Break 'WORD' regexp def into HOSTNAME and
                   10939:          USERNAME.  These days a username can contain just about anything
                   10940:          so be very permissive.  Also drop the unused \. punctuation.
                   10941:
                   10942: 1999-08-09 18:25  millert
                   10943:
                   10944:        * parse.yacc: o add a 'val' element to aliasinfo struct and move ->
                   10945:          parse.h o find_alias() now returns an aliasinfo * instead of
                   10946:          boolean o add_alias() now takes a value parameter to store in the
                   10947:          aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
                   10948:          return: 1) positive match 0) negative match (due to '!') -1) no
                   10949:          match This means setting $$ explicitly in all cases, which I
                   10950:          should have done in the first place.  It also means that we
                   10951:          always store a value that is != -1 and when we see a '!' we can
                   10952:          set *_matches to !rv if rv != -1.  The upshot of all of this is
                   10953:          that '!' now works the way it should in lists and some of the
                   10954:          rules are more uniform and sensible.
                   10955:
                   10956: 1999-08-09 18:17  millert
                   10957:
                   10958:        * Makefile.in: add parse.h dependency
                   10959:
                   10960: 1999-08-09 18:17  millert
                   10961:
                   10962:        * parse.h: kill unused *_matched macros
                   10963:
                   10964: 1999-08-09 10:35  millert
                   10965:
                   10966:        * parse.yacc: Allow a list of users as the first thing in a user
                   10967:          spec, not just a single entry.  This makes things more uniform,
                   10968:          though it does allow you to write user specs that are hard to
                   10969:          read.
                   10970:
                   10971: 1999-08-09 10:08  millert
                   10972:
                   10973:        * configure: regen
                   10974:
                   10975: 1999-08-09 10:08  millert
                   10976:
                   10977:        * configure.in: fix check for crypt() in libufc
                   10978:
                   10979: 1999-08-07 14:03  millert
                   10980:
                   10981:        * README: sudo-users list now exists
                   10982:
                   10983: 1999-08-07 07:46  millert
                   10984:
                   10985:        * INSTALL, PORTING, README, TODO, TROUBLESHOOTING: Update to
                   10986:          reality.
                   10987:
                   10988: 1999-08-07 05:59  millert
                   10989:
                   10990:        * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
                   10991:          config.h.in, configure.in, logging.c, sudo.h, version.c,
                   10992:          visudo.c, configure, fileops.c: o Move lock_file() and touch()
                   10993:          into fileops.c so visudo can use them o Visudo now locks the
                   10994:          sudoers temp file instead of bailing when the temp file already
                   10995:          exists.  This fixes the problem of stale temp files but it does
                   10996:          *require* that you not try to put the temp file in a
                   10997:          world-writable directory.  This shoud not be an issue as the temp
                   10998:          file should live in the same dir as sudoers.  o Visudo now only
                   10999:          installs the temp file as sudoers if it changed.
                   11000:
                   11001: 1999-08-06 09:49  millert
                   11002:
                   11003:        * logging.c: add fcntl locking
                   11004:
                   11005: 1999-08-06 09:33  millert
                   11006:
                   11007:        * configure, config.h.in, configure.in, logging.c: Lock the log
                   11008:          file.
                   11009:
                   11010: 1999-08-06 05:36  millert
                   11011:
                   11012:        * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
                   11013:          visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod: o
                   11014:          /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
                   11015:          temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and
                   11016:          _PATH_SUDO_STMP -> _PATH_SUDOERS_TMP
                   11017:
                   11018: 1999-08-05 17:38  millert
                   11019:
                   11020:        * INSTALL, check.c, config.h.in, configure, configure.in,
                   11021:          version.c: o Kill *_MESSAGE and replace with NO_LECTURE o Add
                   11022:          more things to root sudo -V config reporting
                   11023:
                   11024: 1999-08-05 10:56  millert
                   11025:
                   11026:        * configure, configure.in: aix_auth.o not authenticate.o
                   11027:
                   11028: 1999-08-05 10:48  millert
                   11029:
                   11030:        * config.h.in: Add --with-goodpri and --with-badpri configure
                   11031:          options to specify the syslog priority to use.
                   11032:
                   11033: 1999-08-05 10:30  millert
                   11034:
                   11035:        * INSTALL, configure.in, logging.h, configure: Add --with-goodpri
                   11036:          and --with-badpri configure options to specify the syslog
                   11037:          priority to use.
                   11038:
                   11039: 1999-08-05 10:25  millert
                   11040:
                   11041:        * compat.h: kill crufty AIX stuff
                   11042:
                   11043: 1999-08-05 06:55  millert
                   11044:
                   11045:        * Makefile.in: Sigh, some versions of make (like Solaris's) don't
                   11046:          deal with $< like I would expect.  Both GNU and BSD makes get
                   11047:          this right but...  So, we just expand $< inline at the cost of
                   11048:          some ugliness.
                   11049:
                   11050: 1999-08-05 06:52  millert
                   11051:
                   11052:        * version.c: If the invoking user is root, sudo will now print
                   11053:          configure info in -V mode.  Currently just prints logging info,
                   11054:          to be expanded later.
                   11055:
                   11056: 1999-08-05 06:51  millert
                   11057:
                   11058:        * logging.c, logging.h, sudo.c, sudo.h: o new defines for syslog
                   11059:          facility and priority o use new print_version() functino for -V
                   11060:          mode
                   11061:
                   11062: 1999-08-05 06:49  millert
                   11063:
                   11064:        * check.c: Don't need version.c
                   11065:
                   11066: 1999-08-05 06:21  millert
                   11067:
                   11068:        * configure, configure.in, aclocal.m4, config.h.in: Add check for
                   11069:          syslog facilities and priorities tables in syslog.h
                   11070:
                   11071: 1999-08-05 05:23  millert
                   11072:
                   11073:        * Makefile.in: o authenticate -> aix_auth o add version.c
                   11074:
                   11075: 1999-08-05 05:21  millert
                   11076:
                   11077:        * auth/sudo_auth.c: Missed a prompt -> user_prompt conversion
                   11078:
                   11079: 1999-08-04 13:32  millert
                   11080:
                   11081:        * TODO: sudo should lock its logfile
                   11082:
                   11083: 1999-08-04 13:28  millert
                   11084:
                   11085:        * parse.yacc: o Add '!' correctly when expanding Aliases.  o Add
                   11086:          shortcut macros for append() to make things more readable.  o The
                   11087:          separator in append() is now a string instead of a char.  o In
                   11088:          append(), only prepend the separator if the last char is not a
                   11089:          '!'.    This is a hack but it greatly simplifies '!' handling.  o
                   11090:          In -l mode, Runas lists and NOPASSWD/PASSWD tags are now
                   11091:          inherited   across entries in a list (matches current behavior).
                   11092:          o Fix formatting in -l mode such that items in a list are
                   11093:          separated by   a space.  Greatlt improves readability.  o Space
                   11094:          for name field in struct aliasinfo is now allocated dyanically
                   11095:          instead of using a (big) buffer.  o In add_alias(), only search
                   11096:          the list once (lsearch instead of lfind + lsearch)
                   11097:
                   11098: 1999-08-04 11:31  millert
                   11099:
                   11100:        * lex.yy.c, sudo.tab.h: regen
                   11101:
                   11102: 1999-08-04 10:54  millert
                   11103:
                   11104:        * configure, configure.in: Solais pam doesn't require anye xtra
                   11105:          setup
                   11106:
                   11107: 1999-08-04 05:35  millert
                   11108:
                   11109:        * parse.yacc: o Simpler '!' support now that the lexer deals with
                   11110:          multiple !'s for us.  o In the case of opFOO, have FOO give a
                   11111:          boolean return value and set   foo_matches in opFOO, not FOO.  o
                   11112:          Treat 'ALL' as a string since it gets fill()'d in
                   11113:          parse.lex--fixes a   small memory leak.  In the long run it may
                   11114:          be better to just fix parse.lex   and make ALL back into a token.
                   11115:          However, having it be a string is useful   since it can be
                   11116:          easily passed back to the parent rule if we so desire.
                   11117:
                   11118: 1999-08-04 03:54  millert
                   11119:
                   11120:        * parse.lex: o Remove some unnecessary backslashes o collapse
                   11121:          multiple !'s by using !+ and checking if yyleng is even or odd.
                   11122:          this allows us to simplify ! handling in parse.yacc
                   11123:
                   11124: 1999-08-04 03:53  millert
                   11125:
                   11126:        * sudo.c: -u flag was being ignored
                   11127:
                   11128: 1999-08-01 13:04  millert
                   11129:
                   11130:        * Makefile.in: correct fix
                   11131:
                   11132: 1999-08-01 12:37  millert
                   11133:
                   11134:        * Makefile.in: work around pod2man stupididy
                   11135:
                   11136: 1999-08-01 12:35  millert
                   11137:
                   11138:        * Makefile.in: correct dependencies for .cat
                   11139:
                   11140: 1999-08-01 12:26  millert
                   11141:
                   11142:        * sudo.cat, sudo.man, visudo.cat, visudo.man: regen
                   11143:
                   11144: 1999-08-01 12:25  millert
                   11145:
                   11146:        * sudo.pod, visudo.pod: Add copyright Update to reality
                   11147:
                   11148: 1999-08-01 11:42  millert
                   11149:
                   11150:        * parse.c, sudo.c, sudo.h: rename validate() to the more
                   11151:          descriptive sudoers_lookup()
                   11152:
                   11153: 1999-08-01 06:49  millert
                   11154:
                   11155:        * auth/aix_auth.c: use tgetpass
                   11156:
                   11157: 1999-07-31 12:32  millert
                   11158:
                   11159:        * CHANGES: updates
                   11160:
                   11161: 1999-07-31 12:31  millert
                   11162:
                   11163:        * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
                   11164:          configure, configure.in, sudo.c: Sudo, not CU Sudo
                   11165:
                   11166: 1999-07-31 12:19  millert
                   11167:
                   11168:        * Makefile.in, alloc.c, check.c, compat.h, config.h.in,
                   11169:          find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
                   11170:          ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
                   11171:          lex.yy.c, logging.c, logging.h, parse.c, parse.h, parse.lex,
                   11172:          parse.yacc, pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h,
                   11173:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   11174:          visudo.c, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
                   11175:          auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
                   11176:          auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
                   11177:          auth/sudo_auth.c, auth/sudo_auth.h, emul/search.h, emul/utime.h,
                   11178:          LICENSE: add 4th term to license similar to term 5 in the apache
                   11179:          license
                   11180:
                   11181: 1999-07-31 12:02  millert
                   11182:
                   11183:        * LICENSE, aclocal.m4, check.c, configure.in, insults.h, logging.c,
                   11184:          sudo.c, sudo.h, auth/rfc1938.c: there was a 1995 release too
                   11185:
                   11186: 1999-07-28 05:24  millert
                   11187:
                   11188:        * CHANGES: updates
                   11189:
                   11190: 1999-07-28 05:21  millert
                   11191:
                   11192:        * check.c: Use dirs instead of files for timestamp.  This allows
                   11193:          tty and non-tty schemes to coexist reasonably.  Note, however,
                   11194:          that when you update a tty ticket, the mtime on the user dir gets
                   11195:          updated as well.
                   11196:
                   11197: 1999-07-28 05:17  millert
                   11198:
                   11199:        * configure.in, configure: Fix getprpwnam() checking on SCO.  Need
                   11200:          to link with "-lprot -lx" when linking test program, not just
                   11201:          -lprot.  Also add check for getspnam().  The SCO docs indicate
                   11202:          that /etc/shadow can be used but this may be a lie.
                   11203:
                   11204: 1999-07-24 03:35  millert
                   11205:
                   11206:        * auth/API: first cut at auth API description
                   11207:
                   11208: 1999-07-22 15:48  millert
                   11209:
                   11210:        * auth/: fwtk.c, kerb4.c, kerb5.c, pam.c, rfc1938.c, secureware.c,
                   11211:          securid.c, sudo_auth.c, sudo_auth.h: auth API change.  There is
                   11212:          now an init method that gets run before the main loop.  This
                   11213:          allows auth routines to differentiate between initialization that
                   11214:          happens once vs. setup that needs to run each time through the
                   11215:          loop.
                   11216:
                   11217: 1999-07-22 12:23  millert
                   11218:
                   11219:        * logging.c, auth/kerb5.c: use easprintf() and evasprintf()
                   11220:
                   11221: 1999-07-22 12:22  millert
                   11222:
                   11223:        * alloc.c, sudo.h: add easprintf() and evasprintf(), error checking
                   11224:          versions of asprintf() and  vasprintf()
                   11225:
                   11226: 1999-07-22 09:14  millert
                   11227:
                   11228:        * TODO: remove 2 items.  One done, one won't do.
                   11229:
                   11230: 1999-07-22 09:10  millert
                   11231:
                   11232:        * sudo.man, visudo.man, sudo.cat, sudo.html, sudoers.html,
                   11233:          visudo.cat, visudo.html, configure, lex.yy.c: regen
                   11234:
                   11235: 1999-07-22 09:06  millert
                   11236:
                   11237:        * CHANGES: new changes
                   11238:
                   11239: 1999-07-22 09:01  millert
                   11240:
                   11241:        * sudo.pod: o Document -K flag and update meaning of -k flag.  o
                   11242:          BSD-style copyright o Document clearing of BIND resolver
                   11243:          environment variables o Clarify bit about shared libs o suggest
                   11244:          rc files create /tmp/.odus if your OS gives away files
                   11245:
                   11246: 1999-07-22 08:59  millert
                   11247:
                   11248:        * visudo.pod: BSD license
                   11249:
                   11250: 1999-07-22 08:58  millert
                   11251:
                   11252:        * tgetpass.c: o BSD copyright o no need to block signals, we now do
                   11253:          that in main() o cosmetic changes
                   11254:
                   11255: 1999-07-22 08:57  millert
                   11256:
                   11257:        * testsudoers.c, visudo.c: o BSD-style copyright o Use "struct
                   11258:          sudo_user" instead of old globals.  o some cometic cleanup
                   11259:
                   11260: 1999-07-22 08:56  millert
                   11261:
                   11262:        * sudo_setenv.c, version.h: BSD-style copyright
                   11263:
                   11264: 1999-07-22 08:56  millert
                   11265:
                   11266:        * sudo.h: o BSD copyright o logging and parser bits moved to their
                   11267:          own .h files o new "struct sudo_user" to encapsulate many of the
                   11268:          old globals.
                   11269:
                   11270: 1999-07-22 08:55  millert
                   11271:
                   11272:        * sudo.c: o no longer contains sudo 1.1/1.2 code o BSD copyright o
                   11273:          use new logging routines o simplified flow of control o BIND
                   11274:          resolver additions to badenv_table
                   11275:
                   11276: 1999-07-22 08:53  millert
                   11277:
                   11278:        * strerror.c: BSD-style copyright
                   11279:
                   11280: 1999-07-22 08:53  millert
                   11281:
                   11282:        * snprintf.c: Now compiles on more K&R compilers
                   11283:
                   11284: 1999-07-22 08:52  millert
                   11285:
                   11286:        * putenv.c: BSD-style copyright, cosmetic changes
                   11287:
                   11288: 1999-07-22 08:51  millert
                   11289:
                   11290:        * parse.c, parse.yacc, parse.h, parse.lex: BSD-style copyright.
                   11291:          Move parser-specific defines and structs into parse.h + other
                   11292:          cosmetic changes
                   11293:
                   11294: 1999-07-22 08:51  millert
                   11295:
                   11296:        * logging.h: defines for logging routines
                   11297:
                   11298: 1999-07-22 08:49  millert
                   11299:
                   11300:        * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   11301:          interfaces.h, pathnames.h.in: BSD-style copyright
                   11302:
                   11303: 1999-07-22 08:48  millert
                   11304:
                   11305:        * find_path.c, getspwuid.c, goodpath.c, interfaces.c: BSD-style
                   11306:          copyright, cosmetic changes
                   11307:
                   11308: 1999-07-22 08:46  millert
                   11309:
                   11310:        * configure.in: o tgetpass.c is no longer optional o kill DCE_OBJS,
                   11311:          add AUTH_OBJS o kill --disable-tgetpass o add --without-passwd o
                   11312:          changes to fill in AUTH_OBJS for new auth api o check for
                   11313:          strerror(), v?snprintf() and v?asprintf() o replace
                   11314:          --with-AuthSRV with --with-fwtk
                   11315:
                   11316: 1999-07-22 08:43  millert
                   11317:
                   11318:        * config.h.in: BSD-style copyright.  Remove USE_GETPASS and
                   11319:          HAVE_UTIME_NULL.  Add HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF,
                   11320:          HAVE_VSNPRINTF, HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and
                   11321:          NO_PASSWD
                   11322:
                   11323: 1999-07-22 08:42  millert
                   11324:
                   11325:        * compat.h: BSD-style copyright; Add S_IFLNK and MIN/MAX id they
                   11326:          are missing.
                   11327:
                   11328: 1999-07-22 08:39  millert
                   11329:
                   11330:        * alloc.c: BSD-style copyright
                   11331:
                   11332: 1999-07-22 08:38  millert
                   11333:
                   11334:        * TROUBLESHOOTING: no more --with-getpass
                   11335:
                   11336: 1999-07-22 08:34  millert
                   11337:
                   11338:        * TODO: Take out things I've done...
                   11339:
                   11340: 1999-07-22 08:34  millert
                   11341:
                   11342:        * README: Refer to LICENSE
                   11343:
                   11344: 1999-07-22 08:34  millert
                   11345:
                   11346:        * PORTING: --with-getpass no longer exists
                   11347:
                   11348: 1999-07-22 08:33  millert
                   11349:
                   11350:        * Makefile.in: BSD-style copyright.  Update to reflect reality wrt
                   11351:          new files and new auth modules.
                   11352:
                   11353: 1999-07-22 08:32  millert
                   11354:
                   11355:        * INSTALL: Remove --with-AuthSRV and --disable-tgetpass.  Add
                   11356:          --with-fwtk and --without-passwd.
                   11357:
                   11358: 1999-07-22 08:31  millert
                   11359:
                   11360:        * HISTORY: Update history a bit
                   11361:
                   11362: 1999-07-22 08:29  millert
                   11363:
                   11364:        * COPYING, LICENSE: Now distributed under a BSD-style license
                   11365:
                   11366: 1999-07-22 08:28  millert
                   11367:
                   11368:        * auth/sudo_auth.c: o BSD-style copyright o Add support for
                   11369:          NO_PASSWD/WITHOUT_PASSWD options.  o skey/opie replaced by
                   11370:          rfc1938 code o new struct sudo_user global
                   11371:
                   11372: 1999-07-22 08:25  millert
                   11373:
                   11374:        * auth/: pam.c, sia.c: BSD-style copyright and use new log
                   11375:          functions
                   11376:
                   11377: 1999-07-22 08:24  millert
                   11378:
                   11379:        * auth/kerb5.c: o BSD-style copyright o Use new log functiongs o
                   11380:          Use asprintf() and snprintf() where sensible.
                   11381:
                   11382: 1999-07-22 08:19  millert
                   11383:
                   11384:        * check.c: Rewrote all the old sudo 1.1/1.2 code.  Timestamp
                   11385:          handling is now done more reasonably--better sanity checks and
                   11386:          tty-based stamps are now done as files in a directory with the
                   11387:          same name as the invoking user, eg. /var/run/sudo/millert/ttyp1.
                   11388:          It is not currently possible to mix tty and non-tty based ticket
                   11389:          schemes but this may change in the future (it requires sudo to
                   11390:          use a directory instead of a file in the non-tty case).  Also,
                   11391:          ``sudo -k'' now sets the ticket back to the epoch and ``sudo -K''
                   11392:          really deletes the file.  That way you don't get the lecture
                   11393:          again just because you killed your ticket in .logout.  BSD-style
                   11394:          copyright now.
                   11395:
                   11396: 1999-07-22 08:13  millert
                   11397:
                   11398:        * logging.c: o rewritten logging routines.  log_error() now takes
                   11399:          printf-style varargs    and log_auth() for the return value of
                   11400:          validate().  o BSD-style copyright
                   11401:
                   11402: 1999-07-22 07:04  millert
                   11403:
                   11404:        * auth.c, check_sia.c, dce_pwent.c, secureware.c: superceded by new
                   11405:          auth API
                   11406:
                   11407: 1999-07-22 07:02  millert
                   11408:
                   11409:        * auth/fwtk.c: Use snprintf() where it makes sense and add a
                   11410:          BSD-style copyright
                   11411:
                   11412: 1999-07-22 07:00  millert
                   11413:
                   11414:        * auth/: afs.c, aix_auth.c, dce.c, passwd.c, rfc1938.c,
                   11415:          secureware.c, securid.c, sudo_auth.h, kerb4.c: BSD-style
                   11416:          copyright
                   11417:
                   11418: 1999-07-22 06:57  millert
                   11419:
                   11420:        * emul/utime.h, utime.c: BSD-style copyright
                   11421:
                   11422: 1999-07-22 06:57  millert
                   11423:
                   11424:        * emul/search.h: this has been rewritten so use my BSD-style
                   11425:          copyright
                   11426:
                   11427: 1999-07-15 11:21  millert
                   11428:
                   11429:        * snprintf.c: include malloc.h if no stdlib.h
                   11430:
                   11431: 1999-07-15 10:21  millert
                   11432:
                   11433:        * snprintf.c: KTH snprintf()/asprintf() for systems w/o them
                   11434:
                   11435: 1999-07-15 10:20  millert
                   11436:
                   11437:        * strerror.c: strerror() for systems w/o it
                   11438:
                   11439: 1999-07-12 06:53  millert
                   11440:
                   11441:        * visudo.c: stylistic changes
                   11442:
                   11443: 1999-07-12 06:25  millert
                   11444:
                   11445:        * parse.c, parse.lex, parse.yacc: Add contribution info in the main
                   11446:          comment
                   11447:
                   11448: 1999-07-11 16:10  millert
                   11449:
                   11450:        * auth/pam.c: remove missed ref to PAM_nullpw
                   11451:
                   11452: 1999-07-11 16:10  millert
                   11453:
                   11454:        * auth/sudo_auth.h: pasto
                   11455:
                   11456: 1999-07-11 15:19  millert
                   11457:
                   11458:        * auth/kerb5.c: more or less complete now--still untested
                   11459:
                   11460: 1999-07-11 15:09  millert
                   11461:
                   11462:        * auth/: afs.c, pam.c: don't use user_name macro, it will go away
                   11463:
                   11464: 1999-07-11 14:42  millert
                   11465:
                   11466:        * auth/: opie.c, rfc1938.c, sudo_auth.h, skey.c: combine skey/opie
                   11467:          code into rfc1938.c
                   11468:
                   11469: 1999-07-11 07:22  millert
                   11470:
                   11471:        * auth/: dce.c, sudo_auth.h: DCE authentication method; basically
                   11472:          unchanged from dce_pwent.c
                   11473:
                   11474: 1999-07-11 06:44  millert
                   11475:
                   11476:        * auth/: aix_auth.c, sudo_auth.h: AIX authenticate() support.
                   11477:          Could probably be much better
                   11478:
                   11479: 1999-07-11 06:43  millert
                   11480:
                   11481:        * auth/sia.c: Fix an uninitialized variable and some cleanup.  Now
                   11482:          works (tested)
                   11483:
                   11484: 1999-07-11 05:37  millert
                   11485:
                   11486:        * auth/: sia.c, sudo_auth.h: SIA support for digital unix
                   11487:
                   11488: 1999-07-11 05:33  millert
                   11489:
                   11490:        * auth/pam.c: don't use prompt global, it will go away
                   11491:
                   11492: 1999-07-11 05:32  millert
                   11493:
                   11494:        * auth/secureware.c: correct copyright years
                   11495:
                   11496: 1999-07-10 20:32  millert
                   11497:
                   11498:        * auth/: afs.c, fwtk.c, kerb4.c, sudo_auth.h, kerb5.c, opie.c,
                   11499:          pam.c, passwd.c, secureware.c, securid.c, skey.c, sudo_auth.c:
                   11500:          New authentication API and methods
                   11501:
                   11502: 1999-07-08 06:46  millert
                   11503:
                   11504:        * parse.yacc: only save an entry if user_matches && host_matches,
                   11505:          even if the stack is empty (fix for previous commit)
                   11506:
                   11507: 1999-07-08 06:35  millert
                   11508:
                   11509:        * parse.yacc: 1) Always save an entry on the stack if it is empty.
                   11510:          This fixes the -l and -v flags that were broken by earlier parser
                   11511:          changes.
                   11512:
                   11513:          2) In a Runas list, don't negate FALSE -> TRUE since that would
                   11514:          make !foo match any time the user specified a runas user (via -u)
                   11515:          other than foo.
                   11516:
                   11517: 1999-07-08 05:45  millert
                   11518:
                   11519:        * testsudoers.c: interfaces and num_interfaces are now auto, not
                   11520:          extern
                   11521:
                   11522: 1999-07-07 14:09  millert
                   11523:
                   11524:        * auth.c: use a static global to keep stae about empty passwords
                   11525:
                   11526: 1999-07-07 14:08  millert
                   11527:
                   11528:        * check_sia.c: make PASSWORD_NOT_CORRECT logging consistent with
                   11529:          other modules
                   11530:
                   11531: 1999-07-05 16:53  millert
                   11532:
                   11533:        * auth.c: PAM prompt code was wrong, looks like we have to kludge
                   11534:          it after all.
                   11535:
                   11536: 1999-07-05 16:35  millert
                   11537:
                   11538:        * auth.c: In the PAM code, when a user hits return at the first
                   11539:          password prompt, exit without a warning just like the normal auth
                   11540:          code
                   11541:
                   11542: 1999-07-05 16:15  millert
                   11543:
                   11544:        * configure, configure.in: kludge around cross-compiler false
                   11545:          positives
                   11546:
                   11547: 1999-07-05 16:14  millert
                   11548:
                   11549:        * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c: New
                   11550:          (correct) PAM code Tgetpass now takes an echo flag for use with
                   11551:          PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
                   11552:          useless umask setting Change error from BAD_ALLOCATION ->
                   11553:          BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to
                   11554:          auth.c for consistency
                   11555:
                   11556: 1999-07-05 16:11  millert
                   11557:
                   11558:        * sudo.c: Some -Wall and kill some trailing spaces
                   11559:
                   11560: 1999-07-05 16:10  millert
                   11561:
                   11562:        * configure.in: define -D__EXTENSIONS__ for solaris so we get
                   11563:          crypt() proto
                   11564:
                   11565: 1999-06-22 09:42  millert
                   11566:
                   11567:        * RUNSON: add Dynix 4.4.4
                   11568:
                   11569: 1999-06-22 09:30  millert
                   11570:
                   11571:        * INSTALL, config.h.in, configure.in, configure: for kerberos V <
                   11572:          version, fall back on old kerb4 auth code
                   11573:
                   11574: 1999-06-22 06:41  millert
                   11575:
                   11576:        * INSTALL: clarify some things
                   11577:
                   11578: 1999-06-22 06:38  millert
                   11579:
                   11580:        * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod: typos
                   11581:
                   11582: 1999-06-14 19:47  millert
                   11583:
                   11584:        * sudo.c: mention why DONT_LEAK_PATH_INFO is not the default
                   11585:
                   11586: 1999-06-03 12:34  millert
                   11587:
                   11588:        * tgetpass.c: Fix open(2) return value checking, was NULL for
                   11589:          fopen, should be -1 for open
                   11590:
                   11591: 1999-06-03 12:06  millert
                   11592:
                   11593:        * configure: regen
                   11594:
                   11595: 1999-06-03 12:06  millert
                   11596:
                   11597:        * configure.in: better wording for solaris pam notice
                   11598:
                   11599: 1999-06-03 11:52  millert
                   11600:
                   11601:        * CHANGES: document recent changes
                   11602:
                   11603: 1999-06-03 11:52  millert
                   11604:
                   11605:        * TROUBLESHOOTING: Update shadow password section
                   11606:
                   11607: 1999-06-03 11:51  millert
                   11608:
                   11609:        * auth.c: move authentication code from check.c to auth.c
                   11610:
                   11611: 1999-06-03 11:51  millert
                   11612:
                   11613:        * Makefile.in, check.c, sudo.h: move authentication code to auth.c
                   11614:
                   11615: 1999-05-16 21:36  millert
                   11616:
                   11617:        * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
                   11618:          getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
                   11619:          logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
                   11620:          sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, visudo.c: Move
                   11621:          interface-related defines to interfaces.h so we don't have to
                   11622:          include <netinet/in.h> everywhere.
                   11623:
                   11624: 1999-05-14 12:30  millert
                   11625:
                   11626:        * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c,
                   11627:          logging.c, parse.yacc, sudo.c, tgetpass.c:  o Replace _PASSWD_LEN
                   11628:          braindeath with our own SUDO_MAX_PASS.
                   11629:             It turns out the old DES crypt does the right thing with
                   11630:          passwords
                   11631:             longert than 8 characters.
                   11632:           o Fix common typo (necesary -> necessary)
                   11633:           o Update TODO list
                   11634:
                   11635: 1999-05-03 12:00  millert
                   11636:
                   11637:        * sudo.c: set $LOGNAME when we set $USER
                   11638:
                   11639: 1999-04-27 00:00  millert
                   11640:
                   11641:        * INSTALL: add comment about digital unix and interfaces.c warning
                   11642:          with gcc
                   11643:
                   11644: 1999-04-15 01:12  millert
                   11645:
                   11646:        * sample.sudoers: use modern paths and give examples for some of
                   11647:          the new parser features
                   11648:
                   11649: 1999-04-10 13:03  millert
                   11650:
                   11651:        * parse.c: fix comment
                   11652:
                   11653: 1999-04-10 00:49  millert
                   11654:
                   11655:        * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
                   11656:          getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c,
                   11657:          parse.c, parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c,
                   11658:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   11659:          Function names should be flush with the start of the line so they
                   11660:          can be found trivially in an editor and with grep
                   11661:
                   11662: 1999-04-10 00:40  millert
                   11663:
                   11664:        * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex,
                   11665:          parse.yacc, sudo.c, testsudoers.c, tgetpass.c, visudo.c: free(3)
                   11666:          is already void, no need to cast it
                   11667:
                   11668: 1999-04-10 00:37  millert
                   11669:
                   11670:        * logging.c, sudo.c, sudo.h: catch case where cmnd_safe is not set
                   11671:          (this should not be possible)
                   11672:
                   11673: 1999-04-10 00:10  millert
                   11674:
                   11675:        * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h,
                   11676:          testsudoers.c, visudo.c: Stash the "safe" path (ie: the one
                   11677:          listed in sudoers) to the command instead of stashing the struct
                   11678:          stat.  Should be safer.
                   11679:
                   11680: 1999-04-08 19:56  millert
                   11681:
                   11682:        * INSTALL, Makefile.in, UPGRADE: notes on updating from an earlier
                   11683:          release
                   11684:
                   11685: 1999-04-07 20:20  millert
                   11686:
                   11687:        * CHANGES: updated
                   11688:
                   11689: 1999-04-07 19:18  millert
                   11690:
                   11691:        * parse.yacc, sudo.tab.h, sudoers.cat, sudoers.html, sudoers.man,
                   11692:          sudoers.pod: You can now specifiy a host list instead of just a
                   11693:          host or alias.  Ie: user = host1,host2,ALIAS,!host3 my_command
                   11694:          now works.
                   11695:
                   11696: 1999-04-07 02:59  millert
                   11697:
                   11698:        * testsudoers.c: Quiet -Wall
                   11699:
                   11700: 1999-04-07 02:50  millert
                   11701:
                   11702:        * parse.yacc: Move the push from the beginning of cmndspec to the
                   11703:          end.  This means we no longer have to do a push at the end of
                   11704:          privilege, just reset some values.
                   11705:
                   11706: 1999-04-06 20:24  millert
                   11707:
                   11708:        * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod: runas-lists
                   11709:          and NOPASSWD/PASSWD modifiers are now sticky and you can use "!"
                   11710:          most everywhere
                   11711:
                   11712: 1999-04-06 14:12  millert
                   11713:
                   11714:        * sudoers.pod: modernize paths and update su example based on
                   11715:          sample.sudoers one
                   11716:
                   11717: 1999-04-06 14:06  millert
                   11718:
                   11719:        * sample.sudoers: New runas semantics
                   11720:
                   11721: 1999-04-06 13:54  millert
                   11722:
                   11723:        * CHANGES, Makefile.in, alloc.c, config.h.in, configure,
                   11724:          configure.in, strdup.c, sudo.h: In estrdup(), do the malloc
                   11725:          ourselves so we don't need to rely on the system strdup(3) which
                   11726:          may or may not exist.  There is now no need to provide strdup()
                   11727:          for those w/o it.  Also, the prototype for estrdup() was wrong,
                   11728:          it returns char * and its param is const.
                   11729:
                   11730: 1999-04-06 13:40  millert
                   11731:
                   11732:        * getcwd.c: $Sudo tag
                   11733:
                   11734: 1999-04-06 13:20  millert
                   11735:
                   11736:        * check.c: buf should be prompt; Michael Robokoff
                   11737:          <mrobo@networkcs.com>
                   11738:
                   11739: 1999-04-06 01:40  millert
                   11740:
                   11741:        * CHANGES, TODO, parse.yacc: It is now possible to use the '!'
                   11742:          operator in a runas list as well as in a Cmnd_Alias, Host_Alias
                   11743:          and User_Alias.
                   11744:
                   11745: 1999-04-06 01:38  millert
                   11746:
                   11747:        * logging.c, sudo.h: Kill GLOBAL_NO_SPW_ENT (not used) and crank
                   11748:          GLOBAL_PROBLEM
                   11749:
                   11750: 1999-04-06 01:08  millert
                   11751:
                   11752:        * sudo.h: Definitions of *_matched were wrong--user top, not top-2
                   11753:          as subscript.
                   11754:
                   11755: 1999-04-06 01:00  millert
                   11756:
                   11757:        * logging.c, parse.c, parse.yacc, sudo.c, sudo.h: Add
                   11758:          VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
                   11759:          command but the NOPASSWD flag was set.  Make runasspec,
                   11760:          runaslist, runasuser, and nopasswd typeless in parse.yacc Add
                   11761:          support for '!' in the runas list Fix double printing of '%' and
                   11762:          '+' for groups and netgroups respectively Add *_matched macros
                   11763:          (no need for local stack variable).  Should only be used directly
                   11764:          after a pop (since top must be >= 2).
                   11765:
                   11766: 1999-04-05 23:25  millert
                   11767:
                   11768:        * aclocal.m4, configure.in: Add copyright, somewhat silly
                   11769:
                   11770: 1999-04-05 16:57  millert
                   11771:
                   11772:        * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c,
                   11773:          check_sia.c, compat.h, config.h.in, configure, configure.in,
                   11774:          dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
                   11775:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   11776:          lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
                   11777:          pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c,
                   11778:          sudo.cat, sudo.h, sudo.man, sudo_setenv.c, sudoers.cat,
                   11779:          sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
                   11780:          visudo.c, visudo.cat, visudo.man, emul/utime.h: Crank version to
                   11781:          1.6 and combine copyright statements
                   11782:
                   11783: 1999-04-05 16:30  millert
                   11784:
                   11785:        * sample.sudoers: Use ! not ^ to do negation
                   11786:
                   11787: 1999-04-05 16:29  millert
                   11788:
                   11789:        * lex.yy.c: regen
                   11790:
                   11791: 1999-04-05 16:28  millert
                   11792:
                   11793:        * parse.yacc, parse.lex: Make runas and NOPASSWD tags persistent
                   11794:          across entris in a command list.  Add a PASSWD tag to reverse
                   11795:          NOPASSWD.  When you override a runas or *PASSWD tag the value
                   11796:          given becomes the new default for the rest of the command list.
                   11797:
                   11798: 1999-04-02 16:03  millert
                   11799:
                   11800:        * CHANGES, RUNSON: update for 1.5.9
                   11801:
                   11802: 1999-04-02 16:02  millert
                   11803:
                   11804:        * visudo.c: Shift return value of system(3) by 8 to get real exit
                   11805:          value and if it is not 1 or 0 print the retval along with the
                   11806:          error message.
                   11807:
                   11808: 1999-03-30 16:45  millert
                   11809:
                   11810:        * Makefile.in: testsudoers needs LIBOBJS too
                   11811:
                   11812: 1999-03-30 12:17  millert
                   11813:
                   11814:        * parse.c, parse.yacc: Fix another parser bug.  For a sudoers entry
                   11815:          like this:     millert      ALL=/bin/ls,(daemon) !/bin/ls sudo
                   11816:          would not allow millert to run ls as root.
                   11817:
                   11818: 1999-03-30 01:08  millert
                   11819:
                   11820:        * CHANGES: new change
                   11821:
                   11822: 1999-03-30 01:03  millert
                   11823:
                   11824:        * parse.yacc: Save entries that match a ! command on the matching
                   11825:          stack too
                   11826:
                   11827: 1999-03-30 01:01  millert
                   11828:
                   11829:        * sudo.c: Make sudo's usage info better when mutually exclusive
                   11830:          args are given and don't rely on argument order to detect this;
                   11831:          nick@zeta.org.au
                   11832:
                   11833: 1999-03-29 15:03  millert
                   11834:
                   11835:        * CHANGES, Makefile.in, RUNSON: updates from CU
                   11836:
                   11837: 1999-03-28 23:38  millert
                   11838:
                   11839:        * Makefile.in: use gzip
                   11840:
                   11841: 1999-03-28 23:31  millert
                   11842:
                   11843:        * parse.yacc: Fix off by one error introduced in *alloc changes
                   11844:
                   11845: 1999-03-28 23:05  millert
                   11846:
                   11847:        * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
                   11848:          check_sia.c, compat.h, config.h.in, configure, configure.in,
                   11849:          dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
                   11850:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   11851:          lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
                   11852:          pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c,
                   11853:          sudo.cat, sudo.h, sudo.man, sudo_setenv.c, sudoers.cat,
                   11854:          sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
                   11855:          visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod,
                   11856:          emul/utime.h: ++version
                   11857:
                   11858: 1999-03-28 21:59  millert
                   11859:
                   11860:        * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
                   11861:          interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex,
                   11862:          parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
                   11863:          sudo_setenv.c, testsudoers.c, utime.c, visudo.c: Use
                   11864:          emalloc/erealloc/estrdup
                   11865:
                   11866: 1999-03-28 20:29  millert
                   11867:
                   11868:        * alloc.c: error checking memory allocation routines
                   11869:
                   11870: 1999-03-28 19:23  millert
                   11871:
                   11872:        * parse.yacc: Still not right, this fixes it for real
                   11873:
                   11874: 1999-03-28 19:08  millert
                   11875:
                   11876:        * parse.yacc: Fix for previous commit
                   11877:
                   11878: 1999-03-28 19:05  millert
                   11879:
                   11880:        * CHANGES, INSTALL, parse.yacc: Fix a parser bug that was exposed
                   11881:          when mixing different runas specs and ! commands.  For example:
                   11882:          millert          ALL=(daemon) /usr/bin/whoami,!/bin/ls would
                   11883:          allow millert to run whoami as root as well as daemon when it
                   11884:          should just allow daemon.  The problem was that comma-separated
                   11885:          commands in a list shared the same entry on the matching stack.
                   11886:          Now they get their own entry iff there is a full match.  It may
                   11887:          be better to just make the runas spec persistent across all
                   11888:          commands in a list like the user and host entries of the matching
                   11889:          stack.  However, since that is a fairly major change it should
                   11890:          gets its own minor rev increase.
                   11891:
                   11892: 1999-03-28 13:50  millert
                   11893:
                   11894:        * check.c, config.h.in: Simplify PAM code and fix a PAM-related
                   11895:          warning on Linux
                   11896:
                   11897: 1999-03-26 13:17  millert
                   11898:
                   11899:        * CHANGES: updates
                   11900:
                   11901: 1999-03-26 13:12  millert
                   11902:
                   11903:        * sample.sudoers: better su entry
                   11904:
                   11905: 1999-03-26 13:10  millert
                   11906:
                   11907:        * configure: regen
                   11908:
                   11909: 1999-03-26 13:09  millert
                   11910:
                   11911:        * check.c, configure.in: new pam code that works on solaris, should
                   11912:          work on linux too; aelberg@home.com
                   11913:
                   11914: 1999-03-19 14:44  millert
                   11915:
                   11916:        * RUNSON: more entries
                   11917:
                   11918: 1999-03-19 14:43  millert
                   11919:
                   11920:        * config.h.in: only include strings.h if there is no string.h
                   11921:
                   11922: 1999-03-17 15:25  millert
                   11923:
                   11924:        * config.guess: Sinix is now being called ReliantUNIX;
                   11925:          bjjackso@us.oracle.com
                   11926:
                   11927: 1999-03-13 13:37  millert
                   11928:
                   11929:        * sudo.c: shost must be set before log functions are called #ifdef
                   11930:          HOST_IN_LOG
                   11931:
                   11932: 1999-03-07 18:34  millert
                   11933:
                   11934:        * CHANGES, lex.yy.c, parse.lex: Fix a bug wrt quoting characters in
                   11935:          command args.  Stop processing an arg when you hit a backslash so
                   11936:          the quoted-character detection can catch it.
                   11937:
                   11938: 1999-02-26 01:19  millert
                   11939:
                   11940:        * interfaces.c: include sys/time.h; aparently AIX needs it.
                   11941:          ppz@cdu.elektra.ru
                   11942:
                   11943: 1999-02-23 19:43  millert
                   11944:
                   11945:        * configure, configure.in: add missing case statement so
                   11946:          --without-sendmail works
                   11947:
                   11948: 1999-02-22 21:51  millert
                   11949:
                   11950:        * CHANGES: more
                   11951:
                   11952: 1999-02-22 15:10  millert
                   11953:
                   11954:        * configure, configure.in: only search for -lsun in irix <= 4.x
                   11955:
                   11956: 1999-02-22 15:01  millert
                   11957:
                   11958:        * configure, configure.in: back out last configure.in change now
                   11959:          that I've hacked autoconf to fix the real problem and add a
                   11960:          missing newline
                   11961:
                   11962: 1999-02-22 14:32  millert
                   11963:
                   11964:        * CHANGES: updated
                   11965:
                   11966: 1999-02-22 14:05  millert
                   11967:
                   11968:        * getcwd.c: add def of dirfd() for those without it
                   11969:
                   11970: 1999-02-22 10:58  millert
                   11971:
                   11972:        * configure.in, configure: When falling back to checking for
                   11973:          socket() when linking with "-lsocket -lnsl" check for main()
                   11974:          instead since autoconf has already cached the results of checking
                   11975:          for socket() in -lsocket.  This is really an autoconf bug as it
                   11976:          should use the extra libs as part of the cache variable name.
                   11977:
                   11978: 1999-02-22 10:47  millert
                   11979:
                   11980:        * configure.in: typo
                   11981:
                   11982: 1999-02-21 15:18  millert
                   11983:
                   11984:        * configure.in: fix occurrence of $with_timeout that should be
                   11985:          $with_password_timeout;
                   11986:          Michael.Neef@neuroinformatik.ruhr-uni-bochum.de
                   11987:
                   11988: 1999-02-17 11:40  millert
                   11989:
                   11990:        * sudo.cat, sudo.html, sudo.man, sudo.pod: fix grammar;
                   11991:          espie@openbsd.org
                   11992:
                   11993: 1999-02-11 01:41  millert
                   11994:
                   11995:        * parse.yacc, sudo.c, testsudoers.c: add cast for strdup in places
                   11996:          it does not have it
                   11997:
                   11998: 1999-02-09 13:11  millert
                   11999:
                   12000:        * configure, configure.in: define for_BSD_TYPES irix
                   12001:
                   12002: 1999-02-06 19:47  millert
                   12003:
                   12004:        * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod: Make it
                   12005:          clear that it is the user's password, not root's, that we want.
                   12006:
                   12007: 1999-02-06 19:43  millert
                   12008:
                   12009:        * check.c, sudo.h: If the user enters an empty password and really
                   12010:          has no password, accept the empty password they entered.
                   12011:          Perviously, they could enter anything *but* an empty password.
                   12012:          Also, add GETPASS macro that calls either tgetpass() or getpass()
                   12013:          depending on how sudo was configured.  Problem noted by
                   12014:          jdg@maths.qmw.ac.uk
                   12015:
                   12016: 1999-02-02 23:32  millert
                   12017:
                   12018:        * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
                   12019:          dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
                   12020:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   12021:          logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
                   12022:          putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
                   12023:          testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c,
                   12024:          emul/utime.h: add explicate copyright
                   12025:
                   12026: 1999-02-02 23:16  millert
                   12027:
                   12028:        * CHANGES: mention -lsocket, -lnsl configure changes
                   12029:
                   12030: 1999-02-02 17:54  millert
                   12031:
                   12032:        * sudo.c: Don't clobber errno after calling check_sudoers().
                   12033:
                   12034: 1999-01-31 19:46  millert
                   12035:
                   12036:        * configure.in, configure: When linking with both -lsocket and
                   12037:          -lnsl be sure to do so in that order.  Also, when we can't find
                   12038:          socket() or inet_addr() and have to try linking with both libs,
                   12039:          issue a warning.
                   12040:
                   12041: 1999-01-31 19:45  millert
                   12042:
                   12043:        * sudo.cat, sudo.man, sudo.pod: clarify bad timestamp and fmt
                   12044:
                   12045: 1999-01-23 12:18  millert
                   12046:
                   12047:        * INSTALL, RUNSON: be clear that pam is linux-only and add a RUNSON
                   12048:          entry
                   12049:
                   12050: 1999-01-22 13:13  millert
                   12051:
                   12052:        * configure, CHANGES, INSTALL, configure.in: fix and correctly
                   12053:          document --with-umask; problem noted by adap@adap.org
                   12054:
                   12055: 1999-01-19 20:38  millert
                   12056:
                   12057:        * configure.in, configure: only use /usr/{man,catman}/local to
                   12058:          store man pages if suer didn't override prefix or mandir
                   12059:
                   12060: 1999-01-19 20:24  millert
                   12061:
                   12062:        * configure, INSTALL, configure.in: fix typo, make --with-SecurID
                   12063:          take an arg
                   12064:
                   12065: 1999-01-18 21:53  millert
                   12066:
                   12067:        * RUNSON: updates from users
                   12068:
                   12069: 1999-01-18 21:04  millert
                   12070:
                   12071:        * CHANGES, INSTALL, check.c, configure, configure.in: FWTK
                   12072:          'authsrv' support from Kevin Kadow <kadow@MSG.NET>
                   12073:
                   12074: 1999-01-18 20:00  millert
                   12075:
                   12076:        * configure, configure.in: better fix for the problem of unresolved
                   12077:          symbols in -lnsl or -lsocket
                   12078:
                   12079: 1999-01-18 19:39  millert
                   12080:
                   12081:        * configure, configure.in: when checking for functions in -lnsl and
                   12082:          -lsocket link with both of them to avoid unresolved symbols on
                   12083:          some weirdo systems
                   12084:
                   12085: 1999-01-17 20:49  millert
                   12086:
                   12087:        * BUGS, CHANGES, RUNSON, TODO: old changes that didn't make it into
                   12088:          RCS before the RCS->CVS switch
                   12089:
                   12090: 1999-01-17 18:16  millert
                   12091:
                   12092:        * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
                   12093:          configure.in, dce_pwent.c, find_path.c, getspwuid.c, goodpath.c,
                   12094:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   12095:          interfaces.c, lex.yy.c, logging.c, lsearch.c, parse.c, parse.lex,
                   12096:          parse.yacc, pathnames.h.in, putenv.c, secureware.c, strdup.c,
                   12097:          sudo.c, sudo.pod, sudo_setenv.c, sudoers.pod, testsudoers.c,
                   12098:          tgetpass.c, utime.c, visudo.c, visudo.pod, emul/search.h,
                   12099:          emul/utime.h: add sudo tags
                   12100:
                   12101: 1999-01-17 17:53  millert
                   12102:
                   12103:        * version.h, sudo.h: testing Sudo tag
                   12104:
                   12105: 1999-01-17 17:40  millert
                   12106:
                   12107:        * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c,
                   12108:          compat.h, config.h.in, configure, configure.in, dce_pwent.c,
                   12109:          find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
                   12110:          ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
                   12111:          logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
                   12112:          putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
                   12113:          sudo.man, sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c,
                   12114:          tgetpass.c, utime.c, version.h, visudo.c, visudo.cat, visudo.man,
                   12115:          emul/utime.h: crank version and regen files
                   12116:
                   12117: 1999-01-17 17:27  millert
                   12118:
                   12119:        * Makefile.in: kill rcs goop in update_version and fix now that
                   12120:          version is a const
                   12121:
                   12122: 1999-01-17 17:08  millert
                   12123:
                   12124:        * INSTALL, check.c, config.h.in, configure, configure.in,
                   12125:          logging.c, sudo.c, sudo.h, sudo.pod: kerb5 support from
                   12126:          fcusack@iconnet.net
                   12127:
                   12128: 1999-01-17 16:45  millert
                   12129:
                   12130:        * realpath.c, sudo_realpath.c: we no longer use realpath
                   12131:
                   12132: 1999-01-17 16:44  millert
                   12133:
                   12134:        * qualify.c: replaced by find_path.c
                   12135:
                   12136: 1999-01-17 16:43  millert
                   12137:
                   12138:        * options.h: all options are now configure flags
                   12139:
                   12140: 1999-01-17 16:42  millert
                   12141:
                   12142:        * lex.yy.c: regen
                   12143:
                   12144: 1999-01-17 16:41  millert
                   12145:
                   12146:        * getwd.c: superceded by getcwd.c
                   12147:
                   12148: 1999-01-17 16:36  millert
                   12149:
                   12150:        * getpass.c: superceded by tgetpass.c
                   12151:
                   12152: 1999-01-17 16:36  millert
                   12153:
                   12154:        * SUPPORTED: superceded by RUNSON
                   12155:
                   12156: 1999-01-17 16:33  millert
                   12157:
                   12158:        * OPTIONS: No longer used now that we have configure options for
                   12159:          everything.
                   12160:
                   12161: 1999-01-17 16:32  millert
                   12162:
                   12163:        * configure: regen based on configure.in
                   12164:
                   12165: 1999-01-17 16:31  millert
                   12166:
                   12167:        * sudo.man, sudoers.man, visudo.man, sudo.cat, sudo.html,
                   12168:          sudoers.cat, visudo.cat, sudoers.html, visudo.html: regen based
                   12169:          on sudo.pod, sudoers.pod, and visudo.pod
                   12170:
                   12171: 1998-12-11 12:16  millert
                   12172:
                   12173:        * check.c: fix tty tickets in remove_timestamp (didn't use ':')
                   12174:
                   12175: 1998-12-07 16:16  millert
                   12176:
                   12177:        * interfaces.c: close sock when we are done with it
                   12178:
                   12179: 1998-11-27 19:37  millert
                   12180:
                   12181:        * parse.yacc: never say "error on line -1"
                   12182:
                   12183: 1998-11-23 23:38  millert
                   12184:
                   12185:        * configure.in: check for -lnsl before -lsocket
                   12186:
                   12187: 1998-11-23 23:29  millert
                   12188:
                   12189:        * configure.in: quote '[', ']' used in ranges correctly
                   12190:
                   12191: 1998-11-21 17:54  millert
                   12192:
                   12193:        * config.h.in: add missing NO_ROOT_SUDO noted by drno@tsd.edu
                   12194:
                   12195: 1998-11-20 18:33  millert
                   12196:
                   12197:        * version.h: 1.5.7
                   12198:
                   12199: 1998-11-20 18:33  millert
                   12200:
                   12201:        * INSTALL: more info for 1.5.7
                   12202:
                   12203: 1998-11-20 18:30  millert
                   12204:
                   12205:        * README: update for 1.5.7
                   12206:
                   12207: 1998-11-20 14:26  millert
                   12208:
                   12209:        * parse.yacc: make increases of cm_list_size and ga_list_size be
                   12210:          similar to increases of stacksize (ie: >= not > in initial
                   12211:          compare).
                   12212:
                   12213: 1998-11-20 14:22  millert
                   12214:
                   12215:        * parse.yacc: when we get a syntax error, report it for the
                   12216:          previous line since that's generally where the error occurred.
                   12217:
                   12218: 1998-11-18 15:31  millert
                   12219:
                   12220:        * config.h.in, configure.in, interfaces.c: add back check for
                   12221:          sys/sockio.h but only use it if SIOCGIFCONF is not defined
                   12222:
                   12223: 1998-11-18 15:25  millert
                   12224:
                   12225:        * config.h.in: define BSD_COMP for svr4
                   12226:
                   12227: 1998-11-17 23:16  millert
                   12228:
                   12229:        * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
                   12230:          goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c,
                   12231:          parse.lex, parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c,
                   12232:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c: more
                   12233:          -Wall
                   12234:
                   12235: 1998-11-17 23:10  millert
                   12236:
                   12237:        * configure.in: kill check for sockio,h
                   12238:
                   12239: 1998-11-17 23:10  millert
                   12240:
                   12241:        * config.h.in: no more HAVE_SYS_SOCKIO_H
                   12242:
                   12243: 1998-11-17 22:51  millert
                   12244:
                   12245:        * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
                   12246:          goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c,
                   12247:          parse.lex, parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c,
                   12248:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   12249:          -Wall
                   12250:
                   12251: 1998-11-16 17:38  millert
                   12252:
                   12253:        * sudo.c: add missing inform_user()
                   12254:
                   12255: 1998-11-13 19:21  millert
                   12256:
                   12257:        * find_path.c: return NOT_FOUND if given fully qualified path and
                   12258:          it does not exist previously it would perror(ENOENT) which
                   12259:          bypasses the option to not leak path info
                   12260:
                   12261: 1998-11-13 19:20  millert
                   12262:
                   12263:        * configure.in: for kerb5, check for -lkerb4, fall back on -lkrb
                   12264:          for kerb, check for -ldes
                   12265:
                   12266: 1998-11-13 14:19  millert
                   12267:
                   12268:        * INSTALL: tty tickets are user:tty now
                   12269:
                   12270: 1998-11-13 14:10  millert
                   12271:
                   12272:        * check.c: when using tty tickets make it user:tty not user.tty as
                   12273:          a username could have a '.' in it
                   12274:
                   12275: 1998-11-09 19:15  millert
                   12276:
                   12277:        * sudo.c: add "ignoring foo found in ." for auth successful case
                   12278:
                   12279: 1998-11-09 17:57  millert
                   12280:
                   12281:        * sudo.c: add missing printf param
                   12282:
                   12283: 1998-11-08 15:56  millert
                   12284:
                   12285:        * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
                   12286:          go back to printing "command not found" unless
                   12287:          --disable-path-info specified.  Also, tell user when we ignore
                   12288:          '.' in their path and it would have been used but for
                   12289:          --with-ignore-dot.
                   12290:
                   12291: 1998-11-08 13:51  millert
                   12292:
                   12293:        * check.c, sudo.c: Only one space after a colon, not two, in
                   12294:          printf's
                   12295:
                   12296: 1998-11-05 12:59  millert
                   12297:
                   12298:        * sudo.pod: document setting $USER
                   12299:
                   12300: 1998-11-04 22:24  millert
                   12301:
                   12302:        * check.c: fix bugs with prompt expansion
                   12303:
                   12304: 1998-11-04 21:21  millert
                   12305:
                   12306:        * sudo.c: set $USER for root too
                   12307:
                   12308: 1998-11-04 17:13  millert
                   12309:
                   12310:        * getspwuid.c: typo
                   12311:
                   12312: 1998-11-04 17:07  millert
                   12313:
                   12314:        * configure.in: HP-UX's iscomsec is in -lsec, not libc
                   12315:
                   12316: 1998-11-03 22:24  millert
                   12317:
                   12318:        * configure.in: remove some entries in the OS case statement that
                   12319:          did nothing
                   12320:
                   12321: 1998-11-03 22:19  millert
                   12322:
                   12323:        * TROUBLESHOOTING: add "cd" section and flush out syslog section
                   12324:
                   12325: 1998-11-03 20:51  millert
                   12326:
                   12327:        * Makefile.in: no more sudo-lex.yy.c
                   12328:
                   12329: 1998-11-03 20:50  millert
                   12330:
                   12331:        * check_sia.c: add custom prompt support
                   12332:
                   12333: 1998-11-03 20:40  millert
                   12334:
                   12335:        * sudo.c: kill perror("malloc") since we already have a good error
                   12336:          messages pw_ent -> pw for brevity set $USER if -u specified
                   12337:
                   12338: 1998-11-03 20:39  millert
                   12339:
                   12340:        * parse.c: kill perror("malloc") since we already have a good error
                   12341:          messages pw_ent -> pw for brevity when checking if %group
                   12342:          matches, look up user in password file so that %groups works in a
                   12343:          RunAs spec.
                   12344:
                   12345: 1998-11-03 20:39  millert
                   12346:
                   12347:        * logging.c, parse.yacc: kill perror("malloc") since we already
                   12348:          have a good error messages
                   12349:
                   12350: 1998-11-03 20:38  millert
                   12351:
                   12352:        * check.c, getspwuid.c, interfaces.c, testsudoers.c: kill
                   12353:          perror("malloc") since we already have a good error messages
                   12354:          pw_ent -> pw for brevity
                   12355:
                   12356: 1998-11-03 15:03  millert
                   12357:
                   12358:        * tgetpass.c: the prompt is expanded before tgetpass is called
                   12359:
                   12360: 1998-11-03 15:03  millert
                   12361:
                   12362:        * sudo.h: tgetpass now has the same args as getpass again
                   12363:
                   12364: 1998-11-03 15:02  millert
                   12365:
                   12366:        * getspwuid.c: add iscomsec, issecure support
                   12367:
                   12368: 1998-11-03 15:02  millert
                   12369:
                   12370:        * check.c: we now expand any %h or %u in the prompt before passing
                   12371:          to tgetpass
                   12372:
                   12373: 1998-11-03 14:58  millert
                   12374:
                   12375:        * configure.in: add check for syslog(3) in -lsocket, -lnsl, -linet
                   12376:
                   12377: 1998-11-03 14:56  millert
                   12378:
                   12379:        * config.h.in: add HAVE_ISCOMSEC and HAVE_ISSECURE
                   12380:
                   12381: 1998-11-03 14:55  millert
                   12382:
                   12383:        * configure.in: add check for iscomsec in HP-UX
                   12384:
                   12385: 1998-11-03 14:51  millert
                   12386:
                   12387:        * configure.in: check for issecure if we have getpwanam on SunOS
                   12388:          some options are incompatible with DUNIX SIA check for dispcrypt
                   12389:          on DUNIX
                   12390:
                   12391: 1998-10-25 15:21  millert
                   12392:
                   12393:        * config.h.in: add HAVE_DISPCRYPT
                   12394:
                   12395: 1998-10-25 15:21  millert
                   12396:
                   12397:        * secureware.c: add back support for non-dispcrypt based checking
                   12398:          for older DUNIX
                   12399:
                   12400: 1998-10-25 00:51  millert
                   12401:
                   12402:        * INSTALL: sia changes
                   12403:
                   12404: 1998-10-25 00:48  millert
                   12405:
                   12406:        * configure.in: SIA becomes the default on Digital UNIX now havbe
                   12407:          --disable-sia to turn it off...
                   12408:
                   12409: 1998-10-24 23:52  millert
                   12410:
                   12411:        * check.c: move local includes after system ones
                   12412:
                   12413: 1998-10-24 19:28  millert
                   12414:
                   12415:        * check.c, check_sia.c, sudo.h: add pass_warn() which prints out
                   12416:          INCORRECT_PASSWORD or an insult to stderr
                   12417:
                   12418: 1998-10-24 19:07  millert
                   12419:
                   12420:        * check_sia.c: fix while loop in sia_attempt_auth() that checks the
                   12421:          password.  Only the first iteration was working.
                   12422:
                   12423: 1998-10-21 21:00  millert
                   12424:
                   12425:        * aclocal.m4: don't trust UID_MAX or MAXUID
                   12426:
                   12427: 1998-10-21 20:35  millert
                   12428:
                   12429:        * configure.in: fix two pastos
                   12430:
                   12431: 1998-10-21 20:30  millert
                   12432:
                   12433:        * configure.in: fix typo
                   12434:
                   12435: 1998-10-21 20:19  millert
                   12436:
                   12437:        * getspwuid.c, secureware.c: init crypt_type to INT_MAX since it is
                   12438:          legal to be negative in DUNX 5.0
                   12439:
                   12440: 1998-10-21 20:15  millert
                   12441:
                   12442:        * configure.in: for secureware on dunix, use -lsecurity -ldb -laud
                   12443:          -lm but check for -ldb since DUNX < 4.0 lacks it
                   12444:
                   12445: 1998-10-21 19:50  millert
                   12446:
                   12447:        * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
                   12448:          secureware.c, sudo.c, tgetpass.c: getprpwuid is broken in HP-UX
                   12449:          10.20 at least (it sleeps for 2 minutes if the shadow files don't
                   12450:          exist).
                   12451:
                   12452: 1998-10-20 17:22  millert
                   12453:
                   12454:        * INSTALL: updated --with-editor blurb
                   12455:
                   12456: 1998-10-20 17:21  millert
                   12457:
                   12458:        * TROUBLESHOOTING: tell how to put sudoers in a different dir
                   12459:
                   12460: 1998-10-20 16:22  millert
                   12461:
                   12462:        * configure.in: add missing quotes around $with_editor
                   12463:
                   12464: 1998-10-20 14:00  millert
                   12465:
                   12466:        * configure.in: typo in --with-editor bits
                   12467:
                   12468: 1998-10-20 01:24  millert
                   12469:
                   12470:        * INSTALL: I don't expect it to work on Solaris
                   12471:
                   12472: 1998-10-20 01:24  millert
                   12473:
                   12474:        * check.c: add back security/pam_misc.h
                   12475:
                   12476: 1998-10-19 17:13  millert
                   12477:
                   12478:        * INSTALL: remove dunix note since configure checks for this now
                   12479:
                   12480: 1998-10-19 16:30  millert
                   12481:
                   12482:        * configure.in: add check for broken dunix prot.h (4.0 < 4.0D is
                   12483:          bad)
                   12484:
                   12485: 1998-10-19 14:32  millert
                   12486:
                   12487:        * getspwuid.c, secureware.c, tgetpass.c: new dunix shadow code, use
                   12488:          dispcrypt(3)
                   12489:
                   12490: 1998-10-19 14:32  millert
                   12491:
                   12492:        * config.h.in: add HAVE_INITPRIVS
                   12493:
                   12494: 1998-10-19 14:31  millert
                   12495:
                   12496:        * sudo.c: call initprivs() if we have it for getprpwuid later on
                   12497:
                   12498: 1998-10-19 14:30  millert
                   12499:
                   12500:        * Makefile.in: clean pathnames.h too
                   12501:
                   12502: 1998-10-19 14:28  millert
                   12503:
                   12504:        * configure.in: quote "Sorry, try again." with [] since it has a
                   12505:          comma in it set LIBS when we add stuff to SUDO_LIBS set
                   12506:          SECUREWARE when we find getprpwuid() so we can check for
                   12507:          bigcrypt, set_auth_parameters, and initprivs later.
                   12508:
                   12509: 1998-10-19 13:48  millert
                   12510:
                   12511:        * INSTALL: update Digital UNIX note about acl.h
                   12512:
                   12513: 1998-10-18 20:26  millert
                   12514:
                   12515:        * INSTALL: add --with-sia --without-root-sudo ->
                   12516:          --disable-root-sudo some reordering
                   12517:
                   12518: 1998-10-18 20:22  millert
                   12519:
                   12520:        * secureware.c: add whitespace
                   12521:
                   12522: 1998-10-18 20:22  millert
                   12523:
                   12524:        * Makefile.in, check.c, config.h.in, configure.in, logging.c,
                   12525:          sudo.h: add SIA support
                   12526:
                   12527: 1998-10-18 20:21  millert
                   12528:
                   12529:        * check_sia.c: Initial revision
                   12530:
                   12531: 1998-10-18 19:42  millert
                   12532:
                   12533:        * configure.in: when checking for -lsocket, -lnsl, and -linet,
                   12534:          check for the specific functions we need from them.
                   12535:
                   12536: 1998-10-18 19:10  millert
                   12537:
                   12538:        * config.h.in, sudo.h: move Syslog_* defs into sudo.h
                   12539:
                   12540: 1998-10-18 18:15  millert
                   12541:
                   12542:        * sudo.h, Makefile.in: added check_secureware
                   12543:
                   12544: 1998-10-18 18:12  millert
                   12545:
                   12546:        * configure.in: finished adding AC_MSG_CHECKING and AC_MSG_RESULT
                   12547:          bits
                   12548:
                   12549: 1998-10-18 18:00  millert
                   12550:
                   12551:        * insults.h: don't define CLASSIC_INSULTS and CSOPS_INSULTS if no
                   12552:          other sets defined.  configure now does that for us
                   12553:
                   12554: 1998-10-18 17:45  millert
                   12555:
                   12556:        * configure.in: move some --with options around change a bunch of
                   12557:          echo's to AC_MSG_CHECKING, AC_MSG_RESULT pairs
                   12558:
                   12559: 1998-10-18 01:09  millert
                   12560:
                   12561:        * configure.in: change $with_foo-bar -> $with_foo_bar kill extra "
                   12562:          that caused a syntax error add some echo verbage
                   12563:
                   12564: 1998-10-17 18:08  millert
                   12565:
                   12566:        * check.c: moved SecureWare stuff into secureware.c
                   12567:
                   12568: 1998-10-17 18:07  millert
                   12569:
                   12570:        * secureware.c: Initial revision
                   12571:
                   12572: 1998-10-17 17:02  millert
                   12573:
                   12574:        * INSTALL: update url to solaris gcc bins
                   12575:
                   12576: 1998-10-17 16:39  millert
                   12577:
                   12578:        * INSTALL: change option formatter and flesh out someentries
                   12579:
                   12580: 1998-10-17 16:18  millert
                   12581:
                   12582:        * sudo.pod, visudo.pod, TROUBLESHOOTING: environmental variable ->
                   12583:          environment variable
                   12584:
                   12585: 1998-10-17 16:01  millert
                   12586:
                   12587:        * BUGS: everything is now done via configure
                   12588:
                   12589: 1998-10-17 16:00  millert
                   12590:
                   12591:        * README: prev rev was 1.5.6
                   12592:
                   12593: 1998-10-17 00:33  millert
                   12594:
                   12595:        * Makefile.in: passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID
                   12596:          correctly
                   12597:
                   12598: 1998-10-17 00:32  millert
                   12599:
                   12600:        * config.h.in: SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from
                   12601:          the Makefile
                   12602:
                   12603: 1998-10-17 00:31  millert
                   12604:
                   12605:        * Makefile.in: merge OSDEFS and OPTIONS into DEFS get sudoers_uid,
                   12606:          sudoers_gid, sudoers_mode from configure
                   12607:
                   12608: 1998-10-17 00:30  millert
                   12609:
                   12610:        * configure.in: SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get
                   12611:          substituted into the Makefile, not config.h
                   12612:
                   12613: 1998-10-17 00:30  millert
                   12614:
                   12615:        * INSTALL: document all --with/--enable options
                   12616:
                   12617: 1998-10-15 02:25  millert
                   12618:
                   12619:        * insults.h: options.h is no more
                   12620:
                   12621: 1998-10-15 02:25  millert
                   12622:
                   12623:        * config.h.in: assimilated options.h
                   12624:
                   12625: 1998-10-15 02:24  millert
                   12626:
                   12627:        * configure.in: moved options from options.h to configure
                   12628:
                   12629: 1998-10-15 01:41  millert
                   12630:
                   12631:        * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
                   12632:          logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
                   12633:          sudo_setenv.c, visudo.c: no more options.h
                   12634:
                   12635: 1998-10-15 01:39  millert
                   12636:
                   12637:        * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING: remove references
                   12638:          to options.h
                   12639:
                   12640: 1998-10-15 01:32  millert
                   12641:
                   12642:        * interfaces.c, dce_pwent.c, sudo.c: kill sys/time.h
                   12643:
                   12644: 1998-10-15 00:10  millert
                   12645:
                   12646:        * tgetpass.c: if select return < -1 still prompt for pw
                   12647:
                   12648: 1998-10-15 00:03  millert
                   12649:
                   12650:        * options.h: convert LOGGING, LOGFAC, MAXLOGFILELEN,
                   12651:          IGNORE_DOT_PATH into configure options
                   12652:
                   12653: 1998-10-14 23:57  millert
                   12654:
                   12655:        * parse.c: FAST_MATCH is no longer an optino
                   12656:
                   12657: 1998-10-14 23:52  millert
                   12658:
                   12659:        * check.c: remove_timestamp() if timestamp is preposterous
                   12660:
                   12661: 1998-10-14 23:36  millert
                   12662:
                   12663:        * options.h: convert more options to --with/--enable
                   12664:
                   12665: 1998-10-14 23:36  millert
                   12666:
                   12667:        * INSTALL, aclocal.m4: logfile -> logpath
                   12668:
                   12669: 1998-10-14 23:31  millert
                   12670:
                   12671:        * configure.in: convert more options into --with and --enable
                   12672:
                   12673: 1998-10-14 23:28  millert
                   12674:
                   12675:        * tgetpass.c: catch EINTR in select and restart
                   12676:
                   12677: 1998-10-14 23:15  millert
                   12678:
                   12679:        * logging.c: sys/errno -> errno
                   12680:
                   12681: 1998-09-24 11:40  millert
                   12682:
                   12683:        * sudo.c: UMASK -> SUDO_UMASK.
                   12684:
                   12685: 1998-09-24 11:36  millert
                   12686:
                   12687:        * check.c, logging.c: time.h, not sys/time.h
                   12688:
                   12689: 1998-09-21 19:52  millert
                   12690:
                   12691:        * logging.c: MAILER -> _PATH_SENDMAIL
                   12692:
                   12693: 1998-09-21 00:06  millert
                   12694:
                   12695:        * INSTALL, configure.in: no more --with-C2, now it is
                   12696:          --disable-shadow
                   12697:
                   12698: 1998-09-21 00:00  millert
                   12699:
                   12700:        * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
                   12701:          getspwuid.c, sudo.c, tgetpass.c: new shadow password scheme.
                   12702:          Always include shadow support if the platform supports it and the
                   12703:          user did not disable it via configure
                   12704:
                   12705: 1998-09-20 19:48  millert
                   12706:
                   12707:        * configure.in: --with-getpass -> --{enable,disable}-tgetpass
                   12708:
                   12709: 1998-09-20 19:16  millert
                   12710:
                   12711:        * Makefile.in: pathnames.h -> pathnames.h.in
                   12712:
                   12713: 1998-09-20 19:14  millert
                   12714:
                   12715:        * check.c: fix version string
                   12716:
                   12717: 1998-09-20 19:12  millert
                   12718:
                   12719:        * check.c: move pam_conv to be static to auth function remove
                   12720:          pam_misc.h (solaris doesn't have one)
                   12721:
                   12722: 1998-09-20 19:10  millert
                   12723:
                   12724:        * aclocal.m4: _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill
                   12725:          SUDO_PROG_PWD
                   12726:
                   12727: 1998-09-20 19:10  millert
                   12728:
                   12729:        * configure.in: munge pathnames.h.in -> pathnames.h kill
                   12730:          SUDO_PROG_PWD
                   12731:
                   12732: 1998-09-20 19:10  millert
                   12733:
                   12734:        * pathnames.h.in: convert to pathnames.h.in
                   12735:
                   12736: 1998-09-18 20:20  millert
                   12737:
                   12738:        * configure.in: fix typo in sysv4 matching case /.
                   12739:
                   12740: 1998-09-18 01:29  millert
                   12741:
                   12742:        * check.c: pam stuff needs to run as root, not user, for shadow
                   12743:          passwords
                   12744:
                   12745: 1998-09-17 12:26  millert
                   12746:
                   12747:        * Makefile.in, emul/utime.h, check.c, compat.h, config.h.in,
                   12748:          dce_pwent.c, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
                   12749:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   12750:          logging.c, options.h, parse.c, parse.lex, parse.yacc,
                   12751:          pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   12752:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c,
                   12753:          BUGS, INSTALL, README, configure.in: updated version
                   12754:
                   12755: 1998-09-17 12:13  millert
                   12756:
                   12757:        * check.c: user version.h for long message
                   12758:
                   12759: 1998-09-17 11:53  millert
                   12760:
                   12761:        * check.c: this is version 1.5.6
                   12762:
                   12763: 1998-09-16 13:42  millert
                   12764:
                   12765:        * Makefile.in: remove errant backslash
                   12766:
                   12767: 1998-09-14 22:25  millert
                   12768:
                   12769:        * options.h, parse.yacc, pathnames.h.in: fix version string
                   12770:
                   12771: 1998-09-14 22:02  millert
                   12772:
                   12773:        * BUGS, CHANGES, TODO: updtaed for 1.5.6
                   12774:
                   12775: 1998-09-14 22:02  millert
                   12776:
                   12777:        * RUNSON: updated for 1.5.6
                   12778:
                   12779: 1998-09-14 11:48  millert
                   12780:
                   12781:        * interfaces.c: kill unused localhost_mask var copy if name to
                   12782:          ifr_tmp after we zero it
                   12783:
                   12784: 1998-09-13 15:50  millert
                   12785:
                   12786:        * INSTALL: Better description of new vs. old sudoers modes fix some
                   12787:          typos better description of /usr/ucb/cc gotchas on slowaris
                   12788:
                   12789: 1998-09-13 15:49  millert
                   12790:
                   12791:        * Makefile.in: add sample.pam
                   12792:
                   12793: 1998-09-13 15:32  millert
                   12794:
                   12795:        * sudo.c: set NewArgv[0] to user_shell, not basename(user_shell)
                   12796:
                   12797: 1998-09-12 11:10  millert
                   12798:
                   12799:        * README: mention TROUBLESHOOTING more fix some typos
                   12800:
                   12801: 1998-09-11 20:30  millert
                   12802:
                   12803:        * configure.in: move --enable/--disable to be after --with
                   12804:
                   12805: 1998-09-11 20:30  millert
                   12806:
                   12807:        * INSTALL: document --enable/--disable
                   12808:
                   12809: 1998-09-11 20:26  millert
                   12810:
                   12811:        * INSTALL: document --with-pam
                   12812:
                   12813: 1998-09-11 19:47  millert
                   12814:
                   12815:        * configure.in: Add message for pam users
                   12816:
                   12817: 1998-09-11 19:27  millert
                   12818:
                   12819:        * sample.pam: Initial revision
                   12820:
                   12821: 1998-09-11 19:23  millert
                   12822:
                   12823:        * config.h.in: fix HAVE_PAM
                   12824:
                   12825: 1998-09-11 19:19  millert
                   12826:
                   12827:        * check.c, config.h.in, configure.in: pam support, from Gary Calvin
                   12828:          <GCalvin@kenwoodusa.com>
                   12829:
                   12830: 1998-09-10 18:51  millert
                   12831:
                   12832:        * config.h.in: add HOST_IN_LOG and WRAP_LOG
                   12833:
                   12834: 1998-09-10 18:51  millert
                   12835:
                   12836:        * logging.c: add WRAP_LOG and HOST_IN_LOG
                   12837:
                   12838: 1998-09-10 18:37  millert
                   12839:
                   12840:        * configure.in: add --enable-log-host and --enable-log-wrap
                   12841:
                   12842: 1998-09-10 18:32  millert
                   12843:
                   12844:        * aclocal.m4: use AC_DEFINE_UNQUOTED for --with-logfile and
                   12845:          --with-timedir
                   12846:
                   12847: 1998-09-08 20:45  millert
                   12848:
                   12849:        * compat.h: add howmany macro
                   12850:
                   12851: 1998-09-08 20:43  millert
                   12852:
                   12853:        * tgetpass.c: include sys/param.h to get howmany macro
                   12854:
                   12855: 1998-09-07 20:42  millert
                   12856:
                   12857:        * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
                   12858:          add RUNAS_DEFAULT
                   12859:
                   12860: 1998-09-07 12:51  millert
                   12861:
                   12862:        * fnmatch.c: bring in stdio.h for NULL
                   12863:
                   12864: 1998-09-07 12:50  millert
                   12865:
                   12866:        * aclocal.m4: allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
                   12867:
                   12868: 1998-09-07 12:43  millert
                   12869:
                   12870:        * sudo.c: use HAVE_SET_AUTH_PARAMETERS
                   12871:
                   12872: 1998-09-07 12:42  millert
                   12873:
                   12874:        * config.h.in: add HAVE_SET_AUTH_PARAMETERS
                   12875:
                   12876: 1998-09-07 12:41  millert
                   12877:
                   12878:        * configure.in: add *-*-hiuxmpp* add test for set_auth_parameters()
                   12879:          if secureware
                   12880:
                   12881: 1998-09-07 12:39  millert
                   12882:
                   12883:        * config.sub: add support for HI-UX/MPP SR220001 02-03 0 SR2201
                   12884:
                   12885: 1998-09-07 12:06  millert
                   12886:
                   12887:        * interfaces.c: initialize previfname
                   12888:
                   12889: 1998-09-07 11:51  millert
                   12890:
                   12891:        * interfaces.c: Don't use SIOCGIFADDR, we don't need it Use
                   12892:          SIOCGIFFLAGS if we have it check ifr_flags against IFF_UP and
                   12893:          IFF_LOOPBACK instead of kludging it
                   12894:
                   12895: 1998-09-07 11:49  millert
                   12896:
                   12897:        * configure.in: typo
                   12898:
                   12899: 1998-09-07 00:01  millert
                   12900:
                   12901:        * Makefile.in: don't need special build line for sudo.tab.o
                   12902:
                   12903: 1998-09-06 23:58  millert
                   12904:
                   12905:        * Makefile.in: don't clean sudo.tab.[ch]
                   12906:
                   12907: 1998-09-06 23:48  millert
                   12908:
                   12909:        * sudo.c: Sudo should prompt for a password before telling the user
                   12910:          that a command could not be found.
                   12911:
                   12912: 1998-09-06 23:47  millert
                   12913:
                   12914:        * BUGS: for 1.5.6
                   12915:
                   12916: 1998-09-06 23:25  millert
                   12917:
                   12918:        * INSTALL, README: no longer require yacc
                   12919:
                   12920: 1998-09-06 23:19  millert
                   12921:
                   12922:        * Makefile.in: typo
                   12923:
                   12924: 1998-09-06 23:18  millert
                   12925:
                   12926:        * Makefile.in: y.tab -> sudo.tab include pre-yacc'd parse.yacc
                   12927:
                   12928: 1998-09-06 23:09  millert
                   12929:
                   12930:        * parse.lex: include sudo.tab.h, not y.tab.h don't break out of
                   12931:          command args if you get a '='
                   12932:
                   12933: 1998-09-06 22:59  millert
                   12934:
                   12935:        * insults.h: fix version ,
                   12936:
                   12937: 1998-09-06 22:57  millert
                   12938:
                   12939:        * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
                   12940:          fix version
                   12941:
                   12942: 1998-09-06 22:55  millert
                   12943:
                   12944:        * getcwd.c: getcwd(3) from OpenBSD for those without it.
                   12945:
                   12946: 1998-09-06 22:51  millert
                   12947:
                   12948:        * sudo.h: HAVE_GETWD -> HAVE_GETCWD
                   12949:
                   12950: 1998-09-06 22:49  millert
                   12951:
                   12952:        * configure.in: pretend sunos doesn't have getcwd(3) since it opens
                   12953:          a pipe to getpwd!
                   12954:
                   12955: 1998-09-06 22:41  millert
                   12956:
                   12957:        * parse.c: use NAMLEN() macro
                   12958:
                   12959: 1998-09-06 22:34  millert
                   12960:
                   12961:        * fnmatch.c: remove duplicate include of string.h
                   12962:
                   12963: 1998-09-06 22:28  millert
                   12964:
                   12965:        * configure.in: call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
                   12966:
                   12967: 1998-09-06 22:28  millert
                   12968:
                   12969:        * aclocal.m4: add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
                   12970:
                   12971: 1998-09-06 22:28  millert
                   12972:
                   12973:        * config.h.in: add dev_t and ino_t
                   12974:
                   12975: 1998-07-28 12:44  millert
                   12976:
                   12977:        * check.c: fix OTP_ONLY for opie
                   12978:
                   12979: 1998-06-24 12:22  millert
                   12980:
                   12981:        * testsudoers.c, tgetpass.c: include stdlib.h for malloc proto
                   12982:
                   12983: 1998-05-19 00:10  millert
                   12984:
                   12985:        * Makefile.in: make update_version saner
                   12986:
                   12987: 1998-05-18 23:32  millert
                   12988:
                   12989:        * config.h.in: add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
                   12990:
                   12991: 1998-05-18 23:32  millert
                   12992:
                   12993:        * configure.in: check for waitpid and wait3 or no waitpid
                   12994:
                   12995: 1998-05-18 23:31  millert
                   12996:
                   12997:        * logging.c: used waitpid or wait3 if we have 'em
                   12998:
                   12999: 1998-05-02 14:16  millert
                   13000:
                   13001:        * visudo.c: fix some fprintf args, ariel@oz.engr.sgi.com (Ariel
                   13002:          Faigon)
                   13003:
                   13004: 1998-04-27 20:09  millert
                   13005:
                   13006:        * configure.in: don't need to explicately mention -lsocket -lnsl
                   13007:          for sequent
                   13008:
                   13009: 1998-04-25 01:56  millert
                   13010:
                   13011:        * configure.in: dynix should not link with -linet
                   13012:
                   13013: 1998-04-10 15:32  millert
                   13014:
                   13015:        * INSTALL: mention that HP-UX doesn't ship with yacc
                   13016:
                   13017: 1998-04-06 22:35  millert
                   13018:
                   13019:        * check.c: ignore kerberos if we can't get the local realm
                   13020:
                   13021: 1998-04-05 23:37  millert
                   13022:
                   13023:        * configure.in, BUGS, INSTALL, README: ++version
                   13024:
                   13025: 1998-04-05 23:36  millert
                   13026:
                   13027:        * version.h: ++
                   13028:
                   13029: 1998-04-05 23:35  millert
                   13030:
                   13031:        * Makefile.in, emul/utime.h, check.c, config.h.in, dce_pwent.c,
                   13032:          find_path.c, getspwuid.c, getcwd.c, goodpath.c, interfaces.c,
                   13033:          logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c,
                   13034:          sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
                   13035:          visudo.c: updated version
                   13036:
                   13037: 1998-04-05 23:34  millert
                   13038:
                   13039:        * check.c, sudo.h: fix version
                   13040:
                   13041: 1998-04-05 23:33  millert
                   13042:
                   13043:        * getcwd.c: don't use popen/pclose.  Do it inline.
                   13044:
                   13045: 1998-04-05 23:25  millert
                   13046:
                   13047:        * lsearch.c: add rcsid
                   13048:
                   13049: 1998-04-05 23:21  millert
                   13050:
                   13051:        * sudo.c: typo
                   13052:
                   13053: 1998-04-05 23:17  millert
                   13054:
                   13055:        * sudo.h, pathnames.h.in, compat.h, options.h, ins_2001.h,
                   13056:          insults.h, ins_classic.h, ins_goons.h, ins_csops.h, parse.yacc,
                   13057:          check.c: updated version
                   13058:
                   13059: 1998-04-05 23:15  millert
                   13060:
                   13061:        * check.c, find_path.c, parse.c, sudo.c, testsudoers.c: MAX* + 1 ->
                   13062:          MAX*
                   13063:
                   13064: 1998-04-05 23:14  millert
                   13065:
                   13066:        * Makefile.in: getwd.c -> getcwd.c
                   13067:
                   13068: 1998-04-05 22:49  millert
                   13069:
                   13070:        * config.h.in: kill HAVE_GETWD
                   13071:
                   13072: 1998-04-05 22:49  millert
                   13073:
                   13074:        * configure.in: getcwd, not getwd
                   13075:
                   13076: 1998-04-05 22:48  millert
                   13077:
                   13078:        * getcwd.c: use MAX* not MAX* + 1 always run pwd as using getwd()
                   13079:          defeats the purpose
                   13080:
                   13081: 1998-03-31 00:15  millert
                   13082:
                   13083:        * OPTIONS, options.h: add STUB_LOAD_INTERFACES
                   13084:
                   13085: 1998-03-31 00:05  millert
                   13086:
                   13087:        * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
                   13088:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13089:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13090:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   13091:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13092:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   13093:          updated version
                   13094:
                   13095: 1998-03-30 23:54  millert
                   13096:
                   13097:        * configure.in: support *-ccur-sysv4 and fix two typos
                   13098:
                   13099: 1998-03-27 19:52  millert
                   13100:
                   13101:        * configure.in: don't echo about with_logfile and with_timedir
                   13102:
                   13103: 1998-03-27 19:49  millert
                   13104:
                   13105:        * INSTALL: document --with-logfile and --with-timedir
                   13106:
                   13107: 1998-03-27 19:46  millert
                   13108:
                   13109:        * aclocal.m4: support --with-logfile and --with-timedir
                   13110:
                   13111: 1998-03-27 19:46  millert
                   13112:
                   13113:        * configure.in: Add --with-logfile and --with-timedir
                   13114:
                   13115: 1998-03-27 19:27  millert
                   13116:
                   13117:        * sudo.c: change size computation of NewArgv for UNICOS
                   13118:
                   13119: 1998-02-18 20:10  millert
                   13120:
                   13121:        * configure.in: treate -*-sysv4* like *-*-svr4
                   13122:
                   13123: 1998-02-18 18:19  millert
                   13124:
                   13125:        * configure.in: fix spacing for --with-authenticate help
                   13126:
                   13127: 1998-02-18 16:39  millert
                   13128:
                   13129:        * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
                   13130:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13131:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13132:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   13133:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13134:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   13135:          updated version
                   13136:
                   13137: 1998-02-18 16:23  millert
                   13138:
                   13139:        * parse.yacc: fix off by one error in push macro
                   13140:
                   13141: 1998-02-17 01:15  millert
                   13142:
                   13143:        * configure.in: removed bogus alloca hack
                   13144:
                   13145: 1998-02-17 01:15  millert
                   13146:
                   13147:        * check.c: added AIX 4.x authenticate() support
                   13148:
                   13149: 1998-02-17 01:11  millert
                   13150:
                   13151:        * parse.yacc: include alloca.h if using bison and not gcc and it
                   13152:          exists.  fixes an alloca problem on hpux 10.x
                   13153:
                   13154: 1998-02-17 00:39  millert
                   13155:
                   13156:        * INSTALL: mention --with-authenticate
                   13157:
                   13158: 1998-02-17 00:37  millert
                   13159:
                   13160:        * configure.in: added AIX authenticate() support
                   13161:
                   13162: 1998-02-17 00:22  millert
                   13163:
                   13164:        * config.h.in: add HAVE_AUTHENTICATE
                   13165:
                   13166: 1998-02-16 23:58  millert
                   13167:
                   13168:        * interfaces.c: dynamically size ifconf buffer
                   13169:
                   13170: 1998-02-16 23:56  millert
                   13171:
                   13172:        * configure.in: quote '[' and ']'
                   13173:
                   13174: 1998-02-16 21:42  millert
                   13175:
                   13176:        * Makefile.in, emul/utime.h, check.c, compat.h, config.h.in,
                   13177:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13178:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13179:          logging.c, options.h, parse.c, parse.lex, parse.yacc,
                   13180:          pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13181:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   13182:          updated version
                   13183:
                   13184: 1998-02-16 19:06  millert
                   13185:
                   13186:        * visudo.pod: add ERRORS section
                   13187:
                   13188: 1998-02-16 18:57  millert
                   13189:
                   13190:        * TROUBLESHOOTING: add busy stmp file explanation
                   13191:
                   13192: 1998-02-15 18:49  millert
                   13193:
                   13194:        * configure.in: the name of the cached var that signals whether or
                   13195:          not you are cross compiling changed.  It is now
                   13196:          ac_cv_prog_cc_cross
                   13197:
                   13198: 1998-02-11 16:26  millert
                   13199:
                   13200:        * INSTALL: mention glibc 2.07 is fixed wrt lsearch()\.
                   13201:
                   13202: 1998-02-06 21:55  millert
                   13203:
                   13204:        * sample.sudoers, sudoers.pod: better example of su but not root su
                   13205:
                   13206: 1998-02-06 15:49  millert
                   13207:
                   13208:        * Makefile.in, check.c, emul/utime.h, compat.h, config.h.in,
                   13209:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13210:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13211:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   13212:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13213:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
                   13214:          updated version
                   13215:
                   13216: 1998-02-06 15:48  millert
                   13217:
                   13218:        * Makefile.in: correct regexp for updating version
                   13219:
                   13220: 1998-02-06 14:05  millert
                   13221:
                   13222:        * tgetpass.c: remove bogus flush of stderr spew prompt before
                   13223:          turning off echo.  Seems to fix a weird problem where if sudo
                   13224:          complained about a bogus stamp file the user would sometimes not
                   13225:          have a chance to enter a password
                   13226:
                   13227: 1998-02-06 14:05  millert
                   13228:
                   13229:        * check.c: fix bogus flush of stderr
                   13230:
                   13231: 1998-02-05 19:19  millert
                   13232:
                   13233:        * sudo.c: close fd's <=2 not <=3 and move that chunk of code up
                   13234:
                   13235: 1998-02-05 19:18  millert
                   13236:
                   13237:        * configure.in: support hpux1[0-9] not just hpux10
                   13238:
                   13239: 1998-01-30 14:59  millert
                   13240:
                   13241:        * parse.c: set sudoers_fp to nil after closing
                   13242:
                   13243: 1998-01-24 01:05  millert
                   13244:
                   13245:        * config.guess, config.sub: updated from autoconf 2.12
                   13246:
                   13247: 1998-01-24 00:50  millert
                   13248:
                   13249:        * configure.in: add *-*-svr4 rule
                   13250:
                   13251: 1998-01-22 22:53  millert
                   13252:
                   13253:        * tgetpass.c: fix select usage for high fd's (dynamically allocate
                   13254:          readfds)
                   13255:
                   13256: 1998-01-22 22:49  millert
                   13257:
                   13258:        * check.c: kill extra whitespace
                   13259:
                   13260: 1998-01-22 19:28  millert
                   13261:
                   13262:        * sudo.c: do an initgroups() before running a command, unless the
                   13263:          target user is root.
                   13264:
                   13265: 1998-01-22 12:22  millert
                   13266:
                   13267:        * TROUBLESHOOTING: tell people to use tabs, not spaces, in
                   13268:          syslog.conf
                   13269:
                   13270: 1998-01-21 01:56  millert
                   13271:
                   13272:        * parse.lex, Makefile.in, config.h.in, getwd.c, strdup.c, putenv.c,
                   13273:          emul/utime.h, testsudoers.c, utime.c, dce_pwent.c: updated
                   13274:          version
                   13275:
                   13276: 1998-01-21 01:32  millert
                   13277:
                   13278:        * goodpath.c, sudo_setenv.c, interfaces.c, tgetpass.c, visudo.c:
                   13279:          updated version
                   13280:
                   13281: 1998-01-21 01:29  millert
                   13282:
                   13283:        * sudo.h, pathnames.h.in, options.h, compat.h, insults.h,
                   13284:          ins_2001.h, ins_classic.h, ins_goons.h, ins_csops.h, parse.yacc,
                   13285:          check.c, getspwuid.c, find_path.c, logging.c, parse.c, sudo.c:
                   13286:          updated version
                   13287:
                   13288: 1998-01-21 01:20  millert
                   13289:
                   13290:        * Makefile.in: more tweaks to update_version
                   13291:
                   13292: 1998-01-21 01:19  millert
                   13293:
                   13294:        * Makefile.in: fixed up update_version rule
                   13295:
                   13296: 1998-01-21 00:55  millert
                   13297:
                   13298:        * configure.in: ++version
                   13299:
                   13300: 1998-01-21 00:53  millert
                   13301:
                   13302:        * Makefile.in: removed supe of check.c
                   13303:
                   13304: 1998-01-21 00:51  millert
                   13305:
                   13306:        * INSTALL: ++version I missed
                   13307:
                   13308: 1998-01-21 00:51  millert
                   13309:
                   13310:        * RUNSON: updated
                   13311:
                   13312: 1998-01-21 00:48  millert
                   13313:
                   13314:        * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
                   13315:          find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
                   13316:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   13317:          logging.c, options.h, parse.c, parse.lex, parse.yacc,
                   13318:          pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13319:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   13320:          visudo.c, emul/utime.h, BUGS, INSTALL, README: updated version
                   13321:
                   13322: 1998-01-21 00:47  millert
                   13323:
                   13324:        * CHANGES: updated for 1.5.5
                   13325:
                   13326: 1998-01-21 00:35  millert
                   13327:
                   13328:        * Makefile.in: add rules to update version stuff in files so I
                   13329:          don't need to do it by hand
                   13330:
                   13331: 1998-01-21 00:04  millert
                   13332:
                   13333:        * sudo.h: sudoers_fp is now extern
                   13334:
                   13335: 1998-01-21 00:03  millert
                   13336:
                   13337:        * sudo.c: in check_sudoers, cache the sudoers file handle in
                   13338:          sudoers_fp so we don't have to open it again in the parse.  This
                   13339:          may help with weird solaris problems where EAGAIN sometime
                   13340:          occurrs.
                   13341:
                   13342: 1998-01-21 00:02  millert
                   13343:
                   13344:        * parse.c: sudoers file open is now done only in check_sudoers() so
                   13345:          we just do a rewind() instead of an open.  May help people on
                   13346:          solaris who were getting EAGAIN.
                   13347:
                   13348: 1998-01-16 11:43  millert
                   13349:
                   13350:        * INSTALL: mention that newer glibc is fixed
                   13351:
                   13352: 1998-01-13 12:58  millert
                   13353:
                   13354:        * sudo.c: newer irix uses _RLDN32_* envariables for 32-bit binaries
                   13355:          so ignore _RLD* instead of _RLD_*
                   13356:
                   13357: 1998-01-13 10:32  millert
                   13358:
                   13359:        * parse.c: typo
                   13360:
                   13361: 1998-01-13 10:19  millert
                   13362:
                   13363:        * parse.c: fix that bug for real
                   13364:
                   13365: 1998-01-13 02:39  millert
                   13366:
                   13367:        * INSTALL: document Linux's libc6 brokenness.
                   13368:
                   13369: 1998-01-13 02:00  millert
                   13370:
                   13371:        * parse.yacc: -Wall
                   13372:
                   13373: 1998-01-13 01:22  millert
                   13374:
                   13375:        * RUNSON: updated
                   13376:
                   13377: 1998-01-13 00:50  millert
                   13378:
                   13379:        * TROUBLESHOOTING: remind people to HUP syslogd
                   13380:
                   13381: 1998-01-13 00:05  millert
                   13382:
                   13383:        * Makefile.in: add -O flag to tar
                   13384:
                   13385: 1998-01-13 00:00  millert
                   13386:
                   13387:        * TODO, RUNSON: updated
                   13388:
                   13389: 1998-01-12 23:59  millert
                   13390:
                   13391:        * sudo.pod: remove author's email addr.  people should mail
                   13392:          sudo-bugs
                   13393:
                   13394: 1998-01-12 23:49  millert
                   13395:
                   13396:        * INSTALL: fix version
                   13397:
                   13398: 1998-01-12 23:48  millert
                   13399:
                   13400:        * README, check.c, compat.h, config.h.in, configure.in,
                   13401:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13402:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13403:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   13404:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13405:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   13406:          visudo.c: ++version
                   13407:
                   13408: 1998-01-12 23:44  millert
                   13409:
                   13410:        * RUNSON: updated
                   13411:
                   13412: 1998-01-12 23:42  millert
                   13413:
                   13414:        * INSTALL, Makefile.in: ++version
                   13415:
                   13416: 1998-01-12 23:41  millert
                   13417:
                   13418:        * CHANGES: updated fort 1.5.4
                   13419:
                   13420: 1998-01-12 23:41  millert
                   13421:
                   13422:        * check.c: exit(1) if user enters no passwd
                   13423:
                   13424: 1998-01-12 23:37  millert
                   13425:
                   13426:        * BUGS: ++version
                   13427:
                   13428: 1998-01-12 23:10  millert
                   13429:
                   13430:        * parse.c: commands can start with ./* not just /* -- fixes a
                   13431:          serious security hole.
                   13432:
                   13433: 1997-12-21 18:17  millert
                   13434:
                   13435:        * sudo.c: Don't set the tty variable to NULL when we lack a tty,
                   13436:          leave it as "unknown".
                   13437:
                   13438: 1997-11-23 13:29  millert
                   13439:
                   13440:        * sample.sudoers: fix usage of (username) in conjunction with , and
                   13441:          !
                   13442:
                   13443: 1997-11-23 13:28  millert
                   13444:
                   13445:        * visudo.c: catch the case where the user is not in the passwd file
                   13446:
                   13447: 1997-11-23 13:24  millert
                   13448:
                   13449:        * tgetpass.c: use fileno(input) + 1 instead of getdtablesize() as
                   13450:          the nfds arg to select(2)
                   13451:
                   13452: 1997-11-23 01:53  millert
                   13453:
                   13454:        * sudo.c: define tty global to an initial value to avoid dumping
                   13455:          core in logging functions when passwd file is unavailable.
                   13456:
                   13457: 1997-11-23 01:51  millert
                   13458:
                   13459:        * sudo.c: do the set_perms(PERM_USER, sudo_mode) after we have
                   13460:          gotten the passwd entry
                   13461:
                   13462: 1997-11-23 00:21  millert
                   13463:
                   13464:        * sudo.pod: talk about problem of ALL
                   13465:
                   13466: 1997-10-10 00:54  millert
                   13467:
                   13468:        * README: new web location
                   13469:
                   13470: 1997-10-10 00:54  millert
                   13471:
                   13472:        * INSTALL: fdesc bug is fixed in Open/Net BSD
                   13473:
                   13474: 1997-10-10 00:52  millert
                   13475:
                   13476:        * HISTORY: updates from Nieusma
                   13477:
                   13478: 1997-10-09 18:37  millert
                   13479:
                   13480:        * dce_pwent.c: move compat.h after the system includes
                   13481:
                   13482: 1997-08-06 14:58  millert
                   13483:
                   13484:        * logging.c: save errno from being clobbered by wait().  From Theo
                   13485:
                   13486: 1997-05-21 11:57  millert
                   13487:
                   13488:        * compat.h: fix an occurence of setresuid -> setreuid (typo)
                   13489:
                   13490: 1997-03-19 17:45  millert
                   13491:
                   13492:        * install-sh: check for path to strip
                   13493:
                   13494: 1997-01-15 19:05  millert
                   13495:
                   13496:        * logging.c: deal with maxfilelen < 0 case
                   13497:
                   13498: 1997-01-15 19:05  millert
                   13499:
                   13500:        * OPTIONS: fixed descriptin
                   13501:
                   13502: 1996-12-11 23:10  millert
                   13503:
                   13504:        * sudo.c: correct error message if mode/owner wrong and not
                   13505:          statable by owner but is statable by root.
                   13506:
                   13507: 1996-11-23 02:18  millert
                   13508:
                   13509:        * config.guess, config.sub: autoconf 2.11
                   13510:
                   13511: 1996-11-16 14:42  millert
                   13512:
                   13513:        * CHANGES, RUNSON, TODO: sudo 1.5.3.
                   13514:
                   13515: 1996-11-14 15:08  millert
                   13516:
                   13517:        * sudo.h, parse.yacc: command_alias -> generic_alias
                   13518:
                   13519: 1996-11-13 22:50  millert
                   13520:
                   13521:        * sample.sudoers: added Runas_Alias example and fixed syntax errors
                   13522:
                   13523: 1996-11-13 22:50  millert
                   13524:
                   13525:        * OPTIONS, options.h: updated MAILSUBJECT
                   13526:
                   13527: 1996-11-13 22:49  millert
                   13528:
                   13529:        * logging.c: added %h expansion
                   13530:
                   13531: 1996-11-13 21:37  millert
                   13532:
                   13533:        * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
                   13534:          find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
                   13535:          ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
                   13536:          logging.c, options.h, parse.c, parse.lex, parse.yacc,
                   13537:          pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13538:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   13539:          visudo.c, INSTALL, README, configure.in: ++version
                   13540:
                   13541: 1996-11-13 20:01  millert
                   13542:
                   13543:        * emul/utime.h, BUGS: ++version
                   13544:
                   13545: 1996-11-13 19:45  millert
                   13546:
                   13547:        * sudoers.pod: document Runas_Alias
                   13548:
                   13549: 1996-11-13 19:22  millert
                   13550:
                   13551:        * visudo.pod: q (uid) -> Q
                   13552:
                   13553: 1996-11-13 19:21  millert
                   13554:
                   13555:        * visudo.c: buffer oflow checking q (uit) -> Q if yyparse() fails
                   13556:          drop into whatnow
                   13557:
                   13558: 1996-11-13 19:05  millert
                   13559:
                   13560:        * parse.yacc: add size params to sprintf
                   13561:
                   13562: 1996-11-13 19:04  millert
                   13563:
                   13564:        * parse.lex: allow trailing space after '\\' but before '\n'
                   13565:
                   13566: 1996-11-13 19:04  millert
                   13567:
                   13568:        * find_path.c: off by one error in path size check
                   13569:
                   13570: 1996-11-13 19:03  millert
                   13571:
                   13572:        * check.c: sprintf paranoia
                   13573:
                   13574: 1996-11-12 11:59  millert
                   13575:
                   13576:        * parse.yacc: fixed more_aliases
                   13577:
                   13578: 1996-11-12 11:58  millert
                   13579:
                   13580:        * visudo.c: now warns if killed by signal ./
                   13581:
                   13582: 1996-11-11 10:49  millert
                   13583:
                   13584:        * parse.yacc: fix Runas_Alias stuff Alias's in runas list now get
                   13585:          expanded (but it is gross)
                   13586:
                   13587: 1996-11-10 20:32  millert
                   13588:
                   13589:        * sudo.c: Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE ==
                   13590:          0400
                   13591:
                   13592: 1996-11-10 20:08  millert
                   13593:
                   13594:        * parse.yacc: add Runas_Alias support change FOO to FOO_ALIAS (ie:
                   13595:          USER_ALIAS)
                   13596:
                   13597: 1996-11-10 20:02  millert
                   13598:
                   13599:        * parse.lex: Add Runas_Alias and simplify a rule.
                   13600:
                   13601: 1996-11-10 19:15  millert
                   13602:
                   13603:        * parse.yacc: always store User_Alias's since they can be used
                   13604:          inside of a runas list.  Sigh.  Really need a Runas_Alias
                   13605:          instead.
                   13606:
                   13607: 1996-10-30 18:04  millert
                   13608:
                   13609:        * visudo.c: deal with case where there is no sudoers file
                   13610:
                   13611: 1996-10-11 23:01  millert
                   13612:
                   13613:        * TROUBLESHOOTING: added one
                   13614:
                   13615: 1996-10-10 22:11  millert
                   13616:
                   13617:        * HISTORY, testsudoers.c: developement -> development
                   13618:
                   13619: 1996-10-10 22:08  millert
                   13620:
                   13621:        * INSTALL: added a note
                   13622:
                   13623: 1996-10-10 20:36  millert
                   13624:
                   13625:        * RUNSON: for 1.5.2
                   13626:
                   13627: 1996-10-10 20:36  millert
                   13628:
                   13629:        * CHANGES: updated
                   13630:
                   13631: 1996-10-10 00:56  millert
                   13632:
                   13633:        * PORTING: removed seteuid() notes
                   13634:
                   13635: 1996-10-09 13:37  millert
                   13636:
                   13637:        * compat.h: better seteuid() emulatino
                   13638:
                   13639: 1996-10-09 13:36  millert
                   13640:
                   13641:        * configure.in: added check for seteuid
                   13642:
                   13643: 1996-10-09 13:36  millert
                   13644:
                   13645:        * config.h.in: added HAVE_SETEUID
                   13646:
                   13647: 1996-10-08 19:22  millert
                   13648:
                   13649:        * configure.in: first stab at sequent support
                   13650:
                   13651: 1996-10-08 19:21  millert
                   13652:
                   13653:        * config.h.in: added HAVE_SYS_SELECT_H
                   13654:
                   13655: 1996-10-08 19:21  millert
                   13656:
                   13657:        * compat.h: sequent -> _SEQUENT_
                   13658:
                   13659: 1996-10-08 19:11  millert
                   13660:
                   13661:        * compat.h: added seteuid() macro for DYNIX
                   13662:
                   13663: 1996-10-08 18:54  millert
                   13664:
                   13665:        * tgetpass.c: _AIX -> HAVE_SYS_SELECT_H
                   13666:
                   13667: 1996-10-07 01:05  millert
                   13668:
                   13669:        * emul/utime.h, check.c, compat.h, dce_pwent.c, find_path.c,
                   13670:          getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
                   13671:          ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
                   13672:          pathnames.h.in, version.h, BUGS, INSTALL, Makefile.in, OPTIONS,
                   13673:          README, config.h.in, logging.c, parse.c, parse.lex, parse.yacc,
                   13674:          putenv.c, strdup.c, sudo_setenv.c, testsudoers.c, utime.c,
                   13675:          visudo.c, tgetpass.c: ++version
                   13676:
                   13677: 1996-10-07 00:59  millert
                   13678:
                   13679:        * sudo.pod: added -H and SUDO_PS1
                   13680:
                   13681: 1996-10-07 00:55  millert
                   13682:
                   13683:        * configure.in: use SUDO_FUNC_FNMATCH
                   13684:
                   13685: 1996-10-07 00:54  millert
                   13686:
                   13687:        * aclocal.m4: added SUDO_FUNC_FNMATCH
                   13688:
                   13689: 1996-10-07 00:53  millert
                   13690:
                   13691:        * sudo.c: added -H flag
                   13692:
                   13693: 1996-10-07 00:53  millert
                   13694:
                   13695:        * sudo.h: added MODE_RESET_HOME /
                   13696:
                   13697: 1996-10-05 00:00  millert
                   13698:
                   13699:        * INSTALL: mention OPIE
                   13700:
                   13701: 1996-10-04 23:59  millert
                   13702:
                   13703:        * configure.in: added opie support
                   13704:
                   13705: 1996-10-04 23:59  millert
                   13706:
                   13707:        * check.c: added HAVE_OPIE and changed to *_OTP_*
                   13708:
                   13709: 1996-10-04 23:58  millert
                   13710:
                   13711:        * compat.h, config.h.in: added HAVE_OPIE
                   13712:
                   13713: 1996-10-04 23:58  millert
                   13714:
                   13715:        * OPTIONS, options.h: SKEY -> OTP
                   13716:
                   13717: 1996-10-03 23:27  millert
                   13718:
                   13719:        * check.c: moved fclose() in skey stuff.
                   13720:
                   13721: 1996-10-03 19:53  millert
                   13722:
                   13723:        * putenv.c: index -> strchr remove unnecesary stuff
                   13724:
                   13725: 1996-10-03 19:43  millert
                   13726:
                   13727:        * check.c: now call skeychallenge() to get challenge instead of
                   13728:          making one up ourselves.  this way, we get extra goodies in the
                   13729:          prompt.
                   13730:
                   13731: 1996-09-10 00:32  millert
                   13732:
                   13733:        * CHANGES: added one
                   13734:
                   13735: 1996-09-10 00:18  millert
                   13736:
                   13737:        * parse.lex: allow logins to start with a number (YUCK!)
                   13738:
                   13739: 1996-09-08 15:18  millert
                   13740:
                   13741:        * TROUBLESHOOTING: added soalris 2.5 vs 2.4 note
                   13742:
                   13743: 1996-09-08 15:15  millert
                   13744:
                   13745:        * configure.in: DUNIX doesn't need -lnsl
                   13746:
                   13747: 1996-09-07 20:22  millert
                   13748:
                   13749:        * CHANGES: [no log message]
                   13750:
                   13751: 1996-09-07 20:21  millert
                   13752:
                   13753:        * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
                   13754:          getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
                   13755:          ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
                   13756:          options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in,
                   13757:          putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
                   13758:          tgetpass.c, utime.c, version.h, visudo.c: courtesan
                   13759:
                   13760: 1996-09-07 20:13  millert
                   13761:
                   13762:        * TROUBLESHOOTING, INSTALL, Makefile.in, PORTING, RUNSON, README:
                   13763:          courtesan
                   13764:
                   13765: 1996-09-07 20:12  millert
                   13766:
                   13767:        * visudo.pod: [no log message]
                   13768:
                   13769: 1996-09-07 20:00  millert
                   13770:
                   13771:        * sudo.pod, visudo.pod: courtesan
                   13772:
                   13773: 1996-09-07 19:45  millert
                   13774:
                   13775:        * HISTORY: added courtesan ./
                   13776:
                   13777: 1996-09-06 00:12  millert
                   13778:
                   13779:        * sudo.c: added $SUDO_PROMPT support
                   13780:
                   13781: 1996-09-04 17:19  millert
                   13782:
                   13783:        * check.c: print long skey challemged to stderr, not stdout
                   13784:
                   13785: 1996-08-31 23:10  millert
                   13786:
                   13787:        * CHANGES: updated for 1.5.1
                   13788:
                   13789: 1996-08-31 23:07  millert
                   13790:
                   13791:        * emul/utime.h: ++version
                   13792:
                   13793: 1996-08-31 12:34  millert
                   13794:
                   13795:        * RUNSON: updated for 1.5.1
                   13796:
                   13797: 1996-08-30 10:49  millert
                   13798:
                   13799:        * check.c: use shost, not host for tgetpass
                   13800:
                   13801: 1996-08-30 00:21  millert
                   13802:
                   13803:        * OPTIONS, sudo.pod: documented %u and %h
                   13804:
                   13805: 1996-08-29 20:40  millert
                   13806:
                   13807:        * configure.in: fixed typo
                   13808:
                   13809: 1996-08-29 20:37  millert
                   13810:
                   13811:        * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
                   13812:          dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   13813:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   13814:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   13815:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   13816:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   13817:          visudo.c: ++version
                   13818:
                   13819: 1996-08-29 20:30  millert
                   13820:
                   13821:        * BUGS: ++version
                   13822:
                   13823: 1996-08-29 18:32  millert
                   13824:
                   13825:        * configure.in, Makefile.in, version.h: ++version
                   13826:
                   13827: 1996-08-29 17:58  millert
                   13828:
                   13829:        * sudo.h: new tgetpass() params
                   13830:
                   13831: 1996-08-29 17:58  millert
                   13832:
                   13833:        * check.c: pass use and host to tgetpass
                   13834:
                   13835: 1996-08-29 17:57  millert
                   13836:
                   13837:        * tgetpass.c: added %u and %h escapes
                   13838:
                   13839: 1996-08-29 16:56  millert
                   13840:
                   13841:        * OPTIONS, options.h, check.c: added NO_MESSAGE
                   13842:
                   13843: 1996-08-29 16:23  millert
                   13844:
                   13845:        * configure.in: added cray (unicos) support
                   13846:
                   13847: 1996-08-27 11:36  millert
                   13848:
                   13849:        * OPTIONS, options.h, sudo.c: added SHELL_SETS_HOME
                   13850:
                   13851: 1996-08-25 17:56  millert
                   13852:
                   13853:        * INSTALL: added note about "make install"
                   13854:
                   13855: 1996-08-25 17:50  millert
                   13856:
                   13857:        * parse.yacc: changed length/size params from int to size_t
                   13858:
                   13859: 1996-08-25 13:35  millert
                   13860:
                   13861:        * OPTIONS: now get CSOPS insults as well by default
                   13862:
                   13863: 1996-08-25 13:33  millert
                   13864:
                   13865:        * insults.h: use csops insults too by default
                   13866:
                   13867: 1996-08-25 13:31  millert
                   13868:
                   13869:        * INSTALL, Makefile.in, README, config.h.in, configure.in,
                   13870:          version.h: version = 1.5
                   13871:
                   13872: 1996-08-25 13:27  millert
                   13873:
                   13874:        * sudo.c: added runas_homedir
                   13875:
                   13876: 1996-08-25 13:27  millert
                   13877:
                   13878:        * TODO: updated for 1.5
                   13879:
                   13880: 1996-08-25 13:23  millert
                   13881:
                   13882:        * RUNSON: updated for 1.5
                   13883:
                   13884: 1996-08-25 13:19  millert
                   13885:
                   13886:        * CHANGES: 1.5 release
                   13887:
                   13888: 1996-08-25 13:17  millert
                   13889:
                   13890:        * INSTALL: added "upgrading" notes
                   13891:
                   13892: 1996-08-22 14:00  millert
                   13893:
                   13894:        * visudo.c: now do chmod and chown after edit of temp file and
                   13895:          before rename
                   13896:
                   13897: 1996-08-18 12:52  millert
                   13898:
                   13899:        * Makefile.in: ++version added INSTALL.configure
                   13900:
                   13901: 1996-08-18 12:52  millert
                   13902:
                   13903:        * version.h, configure.in: ++version
                   13904:
                   13905: 1996-08-18 12:51  millert
                   13906:
                   13907:        * TROUBLESHOOTING: [no log message]
                   13908:
                   13909: 1996-08-18 12:50  millert
                   13910:
                   13911:        * parse.yacc: added missing cast
                   13912:
                   13913: 1996-08-17 20:37  millert
                   13914:
                   13915:        * sudo.c: sets $HOME to pw_dir of runas user
                   13916:
                   13917: 1996-08-17 20:02  millert
                   13918:
                   13919:        * sudo.pod: document $HOME change
                   13920:
                   13921: 1996-08-17 19:43  millert
                   13922:
                   13923:        * sudo.pod: fixed up some wording
                   13924:
                   13925: 1996-08-17 19:25  millert
                   13926:
                   13927:        * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
                   13928:          goodpath.c, interfaces.c, logging.c, parse.c, parse.lex,
                   13929:          parse.yacc, putenv.c, strdup.c, sudo.c, sudo_setenv.c,
                   13930:          testsudoers.c, tgetpass.c, utime.c, visudo.c: ++version
                   13931:
                   13932: 1996-08-17 19:19  millert
                   13933:
                   13934:        * emul/utime.h, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
                   13935:          ins_goons.h, insults.h, options.h, pathnames.h.in, sudo.h:
                   13936:          ++version
                   13937:
                   13938: 1996-08-17 19:18  millert
                   13939:
                   13940:        * sudo.h: name nad type changes
                   13941:
                   13942: 1996-08-17 19:17  millert
                   13943:
                   13944:        * testsudoers.c: now works with new sudo
                   13945:
                   13946: 1996-08-17 19:07  millert
                   13947:
                   13948:        * parse.yacc: fixed some XXX
                   13949:
                   13950: 1996-08-17 18:52  millert
                   13951:
                   13952:        * parse.yacc: some variable name changes + comment headers for
                   13953:          functions.
                   13954:
                   13955: 1996-08-17 18:41  millert
                   13956:
                   13957:        * tgetpass.c: added extra paren's to make compilers happy
                   13958:
                   13959: 1996-08-17 18:34  millert
                   13960:
                   13961:        * sudo.c: [no log message]
                   13962:
                   13963: 1996-08-17 18:30  millert
                   13964:
                   13965:        * parse.c: now uses init_parser() if not in sudoers and tries
                   13966:          "list" or "validate" scold but don't be nasty.
                   13967:
                   13968: 1996-08-17 18:29  millert
                   13969:
                   13970:        * TROUBLESHOOTING: now can use upper case login names
                   13971:
                   13972: 1996-08-17 18:29  millert
                   13973:
                   13974:        * visudo.c: now uses init_parser()
                   13975:
                   13976: 1996-08-17 18:28  millert
                   13977:
                   13978:        * PORTING: added info about PASSWORD_TIMEOUT
                   13979:
                   13980: 1996-08-17 18:28  millert
                   13981:
                   13982:        * INSTALL, README: updated
                   13983:
                   13984: 1996-08-17 18:28  millert
                   13985:
                   13986:        * INSTALL.configure: Initial revision
                   13987:
                   13988: 1996-08-17 18:27  millert
                   13989:
                   13990:        * BUGS: fixed a bug ,
                   13991:
                   13992: 1996-08-17 18:27  millert
                   13993:
                   13994:        * parse.yacc: now dynamically allocates memory for the stacks -- no
                   13995:          more overflows!
                   13996:
                   13997: 1996-08-17 18:26  millert
                   13998:
                   13999:        * sudo.pod: -l now explands command aliases
                   14000:
                   14001: 1996-08-17 13:22  millert
                   14002:
                   14003:        * parse.yacc: hacks to expand command aliases for `sudo -l'
                   14004:
                   14005: 1996-08-17 13:22  millert
                   14006:
                   14007:        * sudo.c: remove $ENV and $BASH_ENV (dangerous in ksh, posix sh,
                   14008:          and bash)
                   14009:
                   14010: 1996-08-17 13:22  millert
                   14011:
                   14012:        * sudo.h: added struct command_alias
                   14013:
                   14014: 1996-08-17 13:20  millert
                   14015:
                   14016:        * sudo.pod: fixed a bug
                   14017:
                   14018: 1996-08-17 13:15  millert
                   14019:
                   14020:        * lsearch.c: in compar() key should be first arg
                   14021:
                   14022: 1996-08-15 15:48  millert
                   14023:
                   14024:        * BUGS: fixed some bugs
                   14025:
                   14026: 1996-08-15 15:47  millert
                   14027:
                   14028:        * parse.yacc: can now deal with upcase HOST and USER names
                   14029:
                   14030: 1996-08-15 15:47  millert
                   14031:
                   14032:        * sudo.c: don't yell too loudly at non-sudoers if they do "sudo -l"
                   14033:
                   14034: 1996-08-15 15:46  millert
                   14035:
                   14036:        * sudo.pod: fixed thinko
                   14037:
                   14038: 1996-08-15 15:46  millert
                   14039:
                   14040:        * parse.c: fix comment
                   14041:
                   14042: 1996-08-09 18:07  millert
                   14043:
                   14044:        * parse.c, parse.yacc: added support for new `sudo -l' stuff
                   14045:
                   14046: 1996-08-09 18:06  millert
                   14047:
                   14048:        * sudo.c: now uses list_matches()
                   14049:
                   14050: 1996-08-09 18:06  millert
                   14051:
                   14052:        * sudo.h: added struct sudo_match
                   14053:
                   14054: 1996-08-09 17:37  millert
                   14055:
                   14056:        * configure.in: now more -lgnumalloc
                   14057:
                   14058: 1996-08-01 13:12  millert
                   14059:
                   14060:        * install-sh: added more paths for chown and whoami
                   14061:
                   14062: 1996-07-31 10:41  millert
                   14063:
                   14064:        * check.c: typo
                   14065:
                   14066: 1996-07-30 13:45  millert
                   14067:
                   14068:        * aclocal.m4: fixed DUNIX check for shadow pw
                   14069:
                   14070: 1996-07-30 13:41  millert
                   14071:
                   14072:        * tgetpass.c: now only turn off echo if it is already on.  this
                   14073:          fixes a race when you use sudo in a pipelin
                   14074:
                   14075: 1996-07-30 12:53  millert
                   14076:
                   14077:        * INSTALL: updated
                   14078:
                   14079: 1996-07-29 22:29  millert
                   14080:
                   14081:        * configure.in: changed "test -z $foo && do_this" to if; then
                   14082:          construct
                   14083:
                   14084: 1996-07-28 22:47  millert
                   14085:
                   14086:        * configure.in: added missing defines of SHADOW_TYPE
                   14087:
                   14088: 1996-07-26 14:10  millert
                   14089:
                   14090:        * check.c: protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since
                   14091:          they are only in dunix 4.x
                   14092:
                   14093: 1996-07-26 14:09  millert
                   14094:
                   14095:        * getspwuid.c: added AUTH_CRYPT_C1CRYPT support
                   14096:
                   14097: 1996-07-26 13:23  millert
                   14098:
                   14099:        * parse.c: no longer return VALIDATE_NOT_OK if there was a runas
                   14100:          that didn't match.  Now we can have runas stuff on more than one
                   14101:          line.
                   14102:
                   14103: 1996-07-25 23:45  millert
                   14104:
                   14105:        * configure.in: got rid of HAVE_C2_SECURITY SHADOW_TYPE is always
                   14106:          defined to something
                   14107:
                   14108: 1996-07-25 23:45  millert
                   14109:
                   14110:        * config.h.in: removed HAVE_C2_SECURITY added SPW_BSD
                   14111:
                   14112: 1996-07-25 23:44  millert
                   14113:
                   14114:        * compat.h, getspwuid.c, sudo.c, tgetpass.c: use SHADOW_TYPE
                   14115:          instead of HAVE_C2_SECURITY
                   14116:
                   14117: 1996-07-25 23:44  millert
                   14118:
                   14119:        * check.c: SHADOW_TYPE is always defined so just against its value
                   14120:
                   14121: 1996-07-25 23:44  millert
                   14122:
                   14123:        * aclocal.m4: added SUDO_CHECK_SHADOW_DUNIX
                   14124:
                   14125: 1996-07-25 18:47  millert
                   14126:
                   14127:        * sudoers.pod: * -> ?* in one example added another instance of
                   14128:          (runas) and one of NOPASSWD:
                   14129:
                   14130: 1996-07-24 13:02  millert
                   14131:
                   14132:        * configure.in: added back check for config.cache from other host
                   14133:          type
                   14134:
                   14135: 1996-07-24 12:49  millert
                   14136:
                   14137:        * parse.lex: removed an instance of \"
                   14138:
                   14139: 1996-07-24 12:49  millert
                   14140:
                   14141:        * sample.sudoers: added an example
                   14142:
                   14143: 1996-07-24 12:44  millert
                   14144:
                   14145:        * sudoers.pod: updated wrt new wildcard matching
                   14146:
                   14147: 1996-07-24 10:28  millert
                   14148:
                   14149:        * configure.in: new check for shadow passwords if we don't know
                   14150:          anything
                   14151:
                   14152: 1996-07-24 10:28  millert
                   14153:
                   14154:        * aclocal.m4: new SUDO_CHECK_SHADOW_GENERIC
                   14155:
                   14156: 1996-07-24 02:19  millert
                   14157:
                   14158:        * configure.in: added back check for -lsocket (oops)
                   14159:
                   14160: 1996-07-24 02:16  millert
                   14161:
                   14162:        * configure.in: better (working) check for shadow passwd type if we
                   14163:          know to use C2.
                   14164:
                   14165: 1996-07-24 01:59  millert
                   14166:
                   14167:        * configure.in: now uses AC_CANONICAL_HOST to figure out os type
                   14168:
                   14169: 1996-07-24 01:59  millert
                   14170:
                   14171:        * Makefile.in: added config.{guess,sub}
                   14172:
                   14173: 1996-07-24 01:58  millert
                   14174:
                   14175:        * aclocal.m4: removed unused stuff to figure out os type
                   14176:
                   14177: 1996-07-23 22:58  millert
                   14178:
                   14179:        * config.sub: added openbsd
                   14180:
                   14181: 1996-07-23 22:54  millert
                   14182:
                   14183:        * config.sub: Initial revision
                   14184:
                   14185: 1996-07-23 22:40  millert
                   14186:
                   14187:        * config.guess: Initial revision
                   14188:
                   14189: 1996-07-23 21:18  millert
                   14190:
                   14191:        * testsudoers.c: don't call fnmatch() with FNM_PATHNAME flag unless
                   14192:          it can only be a pathname.  need to check against sudoers_args
                   14193:          even if user_args is nil
                   14194:
                   14195: 1996-07-23 21:18  millert
                   14196:
                   14197:        * parse.c: don't call fnmatch() with FNM_PATHNAME flag unless it
                   14198:          can only be a pathname need to check against sudoers_args even if
                   14199:          user_args is nil
                   14200:
                   14201: 1996-07-23 18:52  millert
                   14202:
                   14203:        * check.c: added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
                   14204:
                   14205: 1996-07-23 01:18  millert
                   14206:
                   14207:        * testsudoers.c: now takes command line args and uses cmnd_args
                   14208:
                   14209: 1996-07-23 01:10  millert
                   14210:
                   14211:        * parse.lex: fill_args was adding an extra leading space
                   14212:
                   14213: 1996-07-22 15:50  millert
                   14214:
                   14215:        * visudo.c: fixed dummy command_matches()
                   14216:
                   14217: 1996-07-22 15:50  millert
                   14218:
                   14219:        * parse.yacc: fixed prototype
                   14220:
                   14221: 1996-07-22 15:31  millert
                   14222:
                   14223:        * sudo.h: added cmnd_args
                   14224:
                   14225: 1996-07-22 15:31  millert
                   14226:
                   14227:        * parse.yacc: now uses flat args string
                   14228:
                   14229: 1996-07-22 15:30  millert
                   14230:
                   14231:        * parse.c, parse.lex: now uses flat arg string
                   14232:
                   14233: 1996-07-22 15:29  millert
                   14234:
                   14235:        * visudo.c: added cmnd_args def
                   14236:
                   14237: 1996-07-22 14:30  millert
                   14238:
                   14239:        * sudo.c: now sets cmnd_args global
                   14240:
                   14241: 1996-07-22 14:30  millert
                   14242:
                   14243:        * logging.c: cmnd_args is now exported from sudo.[ch]
                   14244:
                   14245: 1996-07-21 18:41  millert
                   14246:
                   14247:        * parse.yacc: can't rely on cmnd_matches as much as I thought --
                   14248:          added some $$ stuff back in to prevent namespace pollution
                   14249:          problems.
                   14250:
                   14251: 1996-07-21 18:01  millert
                   14252:
                   14253:        * parse.yacc: Simplified parse rules wrt runas and NOPASSWD (more
                   14254:          consistent).
                   14255:
                   14256: 1996-07-20 00:45  millert
                   14257:
                   14258:        * parse.lex: NOPASSWD may now have blanks before the ':' '(' only
                   14259:          starts a 'runas' if in the initial state to avoid collision with
                   14260:          command args
                   14261:
                   14262: 1996-07-20 00:23  millert
                   14263:
                   14264:        * configure.in: added checks for specific shadow passwd schemes
                   14265:
                   14266: 1996-07-20 00:18  millert
                   14267:
                   14268:        * aclocal.m4: added routines to check for specific shadow passwd
                   14269:          types
                   14270:
                   14271: 1996-07-18 18:27  millert
                   14272:
                   14273:        * configure.in: added support for ncr boxen
                   14274:
                   14275: 1996-07-18 18:26  millert
                   14276:
                   14277:        * aclocal.m4: added support for detecting ncr boxen
                   14278:
                   14279: 1996-07-16 14:57  millert
                   14280:
                   14281:        * configure.in: added sinix support
                   14282:
                   14283: 1996-07-13 22:29  millert
                   14284:
                   14285:        * TROUBLESHOOTING: added info about "config.cache from other other"
                   14286:          error.
                   14287:
                   14288: 1996-07-13 22:22  millert
                   14289:
                   14290:        * aclocal.m4: now makes sure you don't have a config.cache file
                   14291:          from another OS
                   14292:
                   14293: 1996-07-13 21:36  millert
                   14294:
                   14295:        * configure.in: now sets $LIBS when needed to configure links with
                   14296:          libs when doing tests hpux10 now uses SPW_SECUREWARE for C2 added
                   14297:          check for bigcrypt(3) if SPW_SECUREWARE
                   14298:
                   14299: 1996-07-13 21:30  millert
                   14300:
                   14301:        * getspwuid.c: fixed typo
                   14302:
                   14303: 1996-07-13 21:05  millert
                   14304:
                   14305:        * tgetpass.c: now include stuff for SPW_SECUREWARE to get
                   14306:          AUTH_MAX_PASSWD_LENGTH
                   14307:
                   14308: 1996-07-13 21:05  millert
                   14309:
                   14310:        * getspwuid.c: no more SPW_HPUX10
                   14311:
                   14312: 1996-07-13 21:04  millert
                   14313:
                   14314:        * config.h.in: no more SPW_HPUX10 added HAVE_BIGCRYPT
                   14315:
                   14316: 1996-07-13 21:04  millert
                   14317:
                   14318:        * compat.h: now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
                   14319:
                   14320: 1996-07-13 21:04  millert
                   14321:
                   14322:        * check.c: SPW_SECUREWARE now uses bigcrypt
                   14323:
                   14324: 1996-07-13 18:24  millert
                   14325:
                   14326:        * sample.sudoers: fixed 2 syntax errors
                   14327:
                   14328: 1996-07-13 18:24  millert
                   14329:
                   14330:        * sudoers: root may now run ALL as ALL
                   14331:
                   14332: 1996-07-11 20:59  millert
                   14333:
                   14334:        * interfaces.c: fixed a typo/thinko that broke BSD's with sa_len
                   14335:
                   14336: 1996-07-08 16:08  millert
                   14337:
                   14338:        * check.c, configure.in: updated AFS support
                   14339:
                   14340: 1996-07-08 16:07  millert
                   14341:
                   14342:        * TROUBLESHOOTING: added entry about /usr/ucb/cc
                   14343:
                   14344: 1996-07-08 16:06  millert
                   14345:
                   14346:        * INSTALL: prep no longer holds gcc binaries
                   14347:
                   14348: 1996-07-08 15:48  millert
                   14349:
                   14350:        * INSTALL: updated AFS note
                   14351:
                   14352: 1996-07-08 15:43  millert
                   14353:
                   14354:        * Makefile.in: added @AFS_LIBS@
                   14355:
                   14356: 1996-07-08 15:33  millert
                   14357:
                   14358:        * compat.h: AFS allows long passwords
                   14359:
                   14360: 1996-07-08 14:16  millert
                   14361:
                   14362:        * testsudoers.c: fixed -u user support
                   14363:
                   14364: 1996-07-08 14:16  millert
                   14365:
                   14366:        * parse.c: sudo -v now groks VALIDATE_OK_NOPASS
                   14367:
                   14368: 1996-07-08 13:30  millert
                   14369:
                   14370:        * parse.yacc: fixed no_passwd vs. runas_matched
                   14371:
                   14372: 1996-07-08 10:30  millert
                   14373:
                   14374:        * TROUBLESHOOTING: took out stuff about NFS-mounting since it is no
                   14375:          longer an issue
                   14376:
                   14377: 1996-07-08 10:30  millert
                   14378:
                   14379:        * INSTALL: added --with-libraries >   --with-libpath --with-incpath
                   14380:
                   14381: 1996-07-08 10:21  millert
                   14382:
                   14383:        * parse.yacc: was setting runas_matches to -1 in wrong place
                   14384:
                   14385: 1996-07-08 09:58  millert
                   14386:
                   14387:        * check.c: removed usersec.h which is not present in new AFS
                   14388:          versions
                   14389:
                   14390: 1996-07-08 09:55  millert
                   14391:
                   14392:        * tgetpass.c: now deals with timeout <= 0
                   14393:
                   14394: 1996-07-08 09:51  millert
                   14395:
                   14396:        * OPTIONS: updated
                   14397:
                   14398: 1996-07-08 00:04  millert
                   14399:
                   14400:        * configure.in: BSD/OS >= 2.0 now uses shlicc instead of just gcc
                   14401:
                   14402: 1996-07-07 22:30  millert
                   14403:
                   14404:        * sudo.c: fixed backwards compatibility with sudo 1.4 sudoers mode
                   14405:          for root readable/writable filesystems
                   14406:
                   14407: 1996-07-07 20:49  millert
                   14408:
                   14409:        * Makefile.in: now gives INSTALL -c flag
                   14410:
                   14411: 1996-07-07 20:34  millert
                   14412:
                   14413:        * parse.yacc: slightly simpler initialization of  no_passwd and
                   14414:          runas_matches
                   14415:
                   14416: 1996-07-07 20:33  millert
                   14417:
                   14418:        * testsudoers.c: added -u username support
                   14419:
                   14420: 1996-07-07 20:32  millert
                   14421:
                   14422:        * configure.in: improved --with-libraries support
                   14423:
                   14424: 1996-07-07 16:27  millert
                   14425:
                   14426:        * configure.in: added --with-incpath, --with-libpath,
                   14427:          --with-libraries
                   14428:
                   14429: 1996-07-07 16:01  millert
                   14430:
                   14431:        * parse.yacc: now initializes some fields that weren't getting set
                   14432:          to -1 pretty gross -- need a rewrite.
                   14433:
                   14434: 1996-06-25 23:19  millert
                   14435:
                   14436:        * alloca.c: removed emacs'isms
                   14437:
                   14438: 1996-06-25 22:29  millert
                   14439:
                   14440:        * configure.in: no longer add -lPW to *_LIBS since we include
                   14441:          alloca.c
                   14442:
                   14443: 1996-06-25 22:29  millert
                   14444:
                   14445:        * config.h.in: added HAVE_ALLOCA_H
                   14446:
                   14447: 1996-06-25 22:28  millert
                   14448:
                   14449:        * Makefile.in: added alloca.c
                   14450:
                   14451: 1996-06-25 22:18  millert
                   14452:
                   14453:        * alloca.c: Initial revision
                   14454:
                   14455: 1996-06-25 21:58  millert
                   14456:
                   14457:        * configure.in: ++version
                   14458:
                   14459: 1996-06-25 19:32  millert
                   14460:
                   14461:        * sudo.c: now set uid to 1 instead of nobody for PERM_SUDOERS since
                   14462:          nobody is not always set to a valid uid.
                   14463:
                   14464: 1996-06-25 19:31  millert
                   14465:
                   14466:        * OPTIONS: fixed entry for SUDO_MODE
                   14467:
                   14468: 1996-06-25 18:02  millert
                   14469:
                   14470:        * sudo.c: Fixed NFS-mounted sudoers file under solaris both uid
                   14471:          *and* gid were being set to -2.  Now beat NFS to the punch and
                   14472:          set uid to "nobody" ourselves, preserving group 0 to read
                   14473:          sudoers.
                   14474:
                   14475: 1996-06-25 18:02  millert
                   14476:
                   14477:        * parse.c: moved set_perms(PERM_ROOT) to be before yyparse()
                   14478:
                   14479: 1996-06-25 18:00  millert
                   14480:
                   14481:        * logging.c: fixed a typo
                   14482:
                   14483: 1996-06-25 18:00  millert
                   14484:
                   14485:        * configure.in: no longer need AC_PROG_INSTALL
                   14486:
                   14487: 1996-06-25 17:59  millert
                   14488:
                   14489:        * Makefile.in: always use install-sh to avoid install(1)'s that use
                   14490:          get{pw,gr}nam
                   14491:
                   14492: 1996-06-25 16:07  millert
                   14493:
                   14494:        * INSTALL: make clean -> make distclean
                   14495:
                   14496: 1996-06-20 01:17  millert
                   14497:
                   14498:        * parse.yacc: removed some unnecsary if's
                   14499:
                   14500: 1996-06-20 01:16  millert
                   14501:
                   14502:        * Makefile.in, version.h: ++version
                   14503:
                   14504: 1996-06-20 01:16  millert
                   14505:
                   14506:        * parse.c, testsudoers.c: now includes netgroup.h
                   14507:
                   14508: 1996-06-20 00:45  millert
                   14509:
                   14510:        * interfaces.c: removed cats of ioctl to int since they didn't shut
                   14511:          up -Wall
                   14512:
                   14513: 1996-06-20 00:43  millert
                   14514:
                   14515:        * interfaces.c: explicately cast ioctl() to int since it it not
                   14516:          always declared
                   14517:
                   14518: 1996-06-20 00:41  millert
                   14519:
                   14520:        * sudo.h: added declarations for yyparse() and yylex()
                   14521:
                   14522: 1996-06-20 00:27  millert
                   14523:
                   14524:        * parse.yacc: fixed an occurence of '==' -> '='
                   14525:
                   14526: 1996-06-20 00:22  millert
                   14527:
                   14528:        * config.h.in, configure.in: added check for netgroup.h
                   14529:
                   14530: 1996-06-20 00:20  millert
                   14531:
                   14532:        * sudo.c: fixed 2 compiler warnings
                   14533:
                   14534: 1996-06-20 00:08  millert
                   14535:
                   14536:        * sudo.c: SHELL_IF_NO_ARGS caused core dump since NewArg[cv]
                   14537:          weren't being initialized
                   14538:
                   14539: 1996-06-19 13:53  millert
                   14540:
                   14541:        * sudo.pod: fixed a typo
                   14542:
                   14543: 1996-06-17 12:19  millert
                   14544:
                   14545:        * parse.yacc: fixed a formatting thingie
                   14546:
                   14547: 1996-06-17 12:16  millert
                   14548:
                   14549:        * parse.c, parse.yacc: fixed -u support with multiple user lists on
                   14550:          a line
                   14551:
                   14552: 1996-06-17 10:23  millert
                   14553:
                   14554:        * configure.in: unixware needs -lgen
                   14555:
                   14556: 1996-06-17 10:23  millert
                   14557:
                   14558:        * README: updated ftp location
                   14559:
                   14560: 1996-06-17 00:08  millert
                   14561:
                   14562:        * sudoers.pod: add net_addr/netmask support
                   14563:
                   14564: 1996-06-17 00:07  millert
                   14565:
                   14566:        * sample.sudoers: added net_addr/mask example
                   14567:
                   14568: 1996-06-17 00:02  millert
                   14569:
                   14570:        * parse.lex, parse.c: added support for net_addr/netmask
                   14571:
                   14572: 1996-06-15 20:13  millert
                   14573:
                   14574:        * sudoers.pod: ^ -> !
                   14575:
                   14576: 1996-06-15 18:12  millert
                   14577:
                   14578:        * RUNSON: updated for 1.4.3
                   14579:
                   14580: 1996-06-15 18:12  millert
                   14581:
                   14582:        * CHANGES: udpated for 1.4.3
                   14583:
                   14584: 1996-06-15 18:11  millert
                   14585:
                   14586:        * TROUBLESHOOTING, TODO, BUGS: updated
                   14587:
                   14588: 1996-06-15 18:11  millert
                   14589:
                   14590:        * sample.sudoers: updated with examples of new stuff
                   14591:
                   14592: 1996-06-15 18:10  millert
                   14593:
                   14594:        * INSTALL, README: ++version
                   14595:
                   14596: 1996-06-15 18:01  millert
                   14597:
                   14598:        * sudoers.pod: updated wrt -u and NOPASSWD
                   14599:
                   14600: 1996-06-15 17:58  millert
                   14601:
                   14602:        * sudo.pod: updated wrt -u and CAVEATS
                   14603:
                   14604: 1996-06-08 23:15  millert
                   14605:
                   14606:        * sudo.c: fixed usage()
                   14607:
                   14608: 1996-06-08 22:57  millert
                   14609:
                   14610:        * parse.lex: now use :foo: character classes (makes no diff for
                   14611:          generated lexer)
                   14612:
                   14613: 1996-06-07 14:33  millert
                   14614:
                   14615:        * check.c: fixed LONG_SKEY_PROMPT stuff
                   14616:
                   14617: 1996-06-06 15:35  millert
                   14618:
                   14619:        * visudo.c: fixed a comment
                   14620:
                   14621: 1996-06-06 15:03  millert
                   14622:
                   14623:        * lsearch.c: make more like NetBSD one -- now compiles w/o warnings
                   14624:
                   14625: 1996-06-06 15:02  millert
                   14626:
                   14627:        * emul/search.h: fixed decls of lsearch()
                   14628:
                   14629: 1996-06-05 22:20  millert
                   14630:
                   14631:        * config.h.in, configure.in, getspwuid.c: added SPW_HPUX10
                   14632:
                   14633: 1996-06-05 22:20  millert
                   14634:
                   14635:        * check.c: hpux 10 uses bigcrypt() if C2
                   14636:
                   14637: 1996-06-04 19:57  millert
                   14638:
                   14639:        * parse.c: now always uses fnmatch to match args
                   14640:
                   14641: 1996-06-04 19:40  millert
                   14642:
                   14643:        * tgetpass.c: back to using stdio instead of raw i/o since that
                   14644:          caused some problems
                   14645:
                   14646: 1996-05-28 22:14  millert
                   14647:
                   14648:        * sudo.c: now give usage warning if use -l,-v,-k with args
                   14649:
                   14650: 1996-05-28 18:22  millert
                   14651:
                   14652:        * sudo.c: NewArgc is now set to 1 for -l, -v, -k
                   14653:
                   14654: 1996-05-28 12:50  millert
                   14655:
                   14656:        * sudo.c: now sets sudoers to correct group if mode is 0400
                   14657:
                   14658: 1996-05-28 12:02  millert
                   14659:
                   14660:        * install-sh: updated to version used by inn and bind
                   14661:
                   14662: 1996-05-28 00:08  millert
                   14663:
                   14664:        * configure.in: now uses -lgnumalloc if it exists
                   14665:
                   14666: 1996-05-28 00:02  millert
                   14667:
                   14668:        * Makefile.in: "make install" now sets uid/gid and mode on sudoers
                   14669:          if it exists
                   14670:
                   14671: 1996-05-28 00:01  millert
                   14672:
                   14673:        * sudo.c: rmeoved debugging statements
                   14674:
                   14675: 1996-05-28 00:00  millert
                   14676:
                   14677:        * parse.yacc: added a missing free()
                   14678:
                   14679: 1996-05-27 23:58  millert
                   14680:
                   14681:        * sudo.c: now uses user_gid instead of getegid (which was wrong
                   14682:          anyway) to set SUDO_GID Now sets command line args in
                   14683:          SUDO_COMMAND envariabled (logging.c depends on args being in the
                   14684:          environment)
                   14685:
                   14686: 1996-05-27 23:57  millert
                   14687:
                   14688:        * logging.c: now uses SUDO_COMMAND envariable to get command args
                   14689:          rather than building it up again.
                   14690:
                   14691: 1996-05-27 22:42  millert
                   14692:
                   14693:        * parse.c: now uses user_gid
                   14694:
                   14695: 1996-05-27 20:02  millert
                   14696:
                   14697:        * sudo.c: fixed off by one error in allocation NewArgv
                   14698:
                   14699: 1996-05-27 20:01  millert
                   14700:
                   14701:        * parse.c: in sudoers, 'command ""' now means command with no args
                   14702:
                   14703: 1996-05-27 20:01  millert
                   14704:
                   14705:        * configure.in: added check for fnmatch(3) and fnmatch.h
                   14706:
                   14707: 1996-05-27 20:01  millert
                   14708:
                   14709:        * config.h.in: added HAVE_FNMATCH
                   14710:
                   14711: 1996-05-27 20:00  millert
                   14712:
                   14713:        * Makefile.in: replaced wildcat.* with fnmatch.*
                   14714:
                   14715: 1996-05-27 20:00  millert
                   14716:
                   14717:        * testsudoers.c: now uses fnmatch()
                   14718:
                   14719: 1996-05-27 19:38  millert
                   14720:
                   14721:        * parse.c: now uses fnmatch() instead of wildmat a trailing star
                   14722:          (*) by itself now matches multiple args added support for
                   14723:          wildcards in the pathname  in sudoers
                   14724:
                   14725: 1996-05-25 19:23  millert
                   14726:
                   14727:        * fnmatch.c: now includes compat.h and config.h
                   14728:
                   14729: 1996-05-25 18:09  millert
                   14730:
                   14731:        * config.h.in: added HAVE_FNMATCH_H
                   14732:
                   14733: 1996-05-25 18:07  millert
                   14734:
                   14735:        * configure.in: now checks for alloca() (if needed by bison or dce)
                   14736:          and links with -lPW if it contains alloca() and libv and compiler
                   14737:          do not.
                   14738:
                   14739: 1996-05-25 18:03  millert
                   14740:
                   14741:        * fnmatch.3, fnmatch.c, emul/fnmatch.h: Initial revision
                   14742:
                   14743: 1996-04-28 22:38  millert
                   14744:
                   14745:        * sudo.c: now fixes mode on sudoers if set to 0400 to aid in
                   14746:          upgrade
                   14747:
                   14748: 1996-04-28 17:44  millert
                   14749:
                   14750:        * Makefile.in: fixed pod2man usage
                   14751:
                   14752: 1996-04-28 17:40  millert
                   14753:
                   14754:        * configure.in, Makefile.in, version.h: ++version
                   14755:
                   14756: 1996-04-28 17:20  millert
                   14757:
                   14758:        * testsudoers.c, visudo.c: runas_user is now initialized to "root"
                   14759:
                   14760: 1996-04-28 17:20  millert
                   14761:
                   14762:        * sudo.h: removed PERM_FULL_ROOT
                   14763:
                   14764: 1996-04-28 17:18  millert
                   14765:
                   14766:        * sudo.c: runas_user defaults to "root" so no more need to
                   14767:          PERM_RUNAS
                   14768:
                   14769: 1996-04-28 17:16  millert
                   14770:
                   14771:        * parse.c: will now only running commands as root if there was no
                   14772:          runas list (or if root is in the runas list)
                   14773:
                   14774: 1996-04-28 17:15  millert
                   14775:
                   14776:        * logging.c: now logs "USER=%s"
                   14777:
                   14778: 1996-04-28 17:12  millert
                   14779:
                   14780:        * parse.yacc: runas_matches is now set to false if we get a
                   14781:          negative match
                   14782:
                   14783: 1996-04-28 15:01  millert
                   14784:
                   14785:        * parse.lex: make #uid work + some minor cleanup
                   14786:
                   14787: 1996-04-27 21:04  millert
                   14788:
                   14789:        * sample.sudoers: added support for NOPASSWD and "runas" from
                   14790:          garp@opustel.com /
                   14791:
                   14792: 1996-04-27 21:03  millert
                   14793:
                   14794:        * visudo.c: added support for "runas" from garp@opustel.com
                   14795:          replaced SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added
                   14796:          support for SUDOERS_MODE
                   14797:
                   14798: 1996-04-27 21:03  millert
                   14799:
                   14800:        * testsudoers.c: added support for "runas" from garp@opustel.com
                   14801:
                   14802: 1996-04-27 21:02  millert
                   14803:
                   14804:        * sudo.h: added support for NO_PASSWD and runas from
                   14805:          garp@opustel.com replaced SUDOERS_OWNER with SUDOERS_UID and
                   14806:          SUDOERS_GID     and added support fro SUDOERS_MODE
                   14807:
                   14808: 1996-04-27 21:00  millert
                   14809:
                   14810:        * sudo.c: added support for NO_PASSWD and runas from
                   14811:          garp@opustel.com replaced SUDOERS_OWNER with SUDOERS_UID and
                   14812:          SUDOERS_GID and added support fro SUDOERS_MODE
                   14813:
                   14814: 1996-04-27 21:00  millert
                   14815:
                   14816:        * parse.yacc: added support for NO_PASSWD and runas from
                   14817:          garp@opustel.com
                   14818:
                   14819: 1996-04-27 20:58  millert
                   14820:
                   14821:        * parse.c, parse.lex: added support for NO_PASSWD and runas from
                   14822:          garp@opustel.com
                   14823:
                   14824: 1996-04-27 20:56  millert
                   14825:
                   14826:        * logging.c: added support for SUDOERS_WRONG_MODE and "runas"
                   14827:
                   14828: 1996-04-27 20:40  millert
                   14829:
                   14830:        * configure.in: added --with-CC only link with -lshadow on linux
                   14831:          (with shadow pw) if libc lacks getspnam()
                   14832:
                   14833: 1996-04-27 20:39  millert
                   14834:
                   14835:        * OPTIONS, options.h: removed NO_PASSWD since it is not possible to
                   14836:          do this in the sudoers file itself.  Replaced SUDOERS_OWNER with
                   14837:          SUDOERS_UID and SUDOERS_GID.  Added SUDOERS_MODE.
                   14838:
                   14839: 1996-04-27 20:26  millert
                   14840:
                   14841:        * Makefile.in: now uses SUDOERS_UID and SUDOERS_GID
                   14842:
                   14843: 1996-04-27 11:20  millert
                   14844:
                   14845:        * INSTALL: added --with-CC
                   14846:
                   14847: 1996-04-06 16:31  millert
                   14848:
                   14849:        * parse.lex: added double quote support
                   14850:
                   14851: 1996-04-06 16:29  millert
                   14852:
                   14853:        * sudoers.pod: documented double quoting
                   14854:
                   14855: 1996-04-05 16:53  millert
                   14856:
                   14857:        * mkinstalldirs: Initial revision
                   14858:
                   14859: 1996-04-05 16:53  millert
                   14860:
                   14861:        * check.c: fixed some indentation
                   14862:
                   14863: 1996-04-05 16:48  millert
                   14864:
                   14865:        * Makefile.in: fixed a typo
                   14866:
                   14867: 1996-04-04 19:39  millert
                   14868:
                   14869:        * Makefile.in: added install-dirs .
                   14870:
                   14871: 1996-04-04 14:16  millert
                   14872:
                   14873:        * dce_pwent.c: new version from "Jeff A. Earickson"
                   14874:          <jaearick@colby.edu>
                   14875:
                   14876: 1996-04-03 13:40  millert
                   14877:
                   14878:        * configure.in: $CSOPS -> $with_csops (whoops, missed one)
                   14879:
                   14880: 1996-04-03 13:40  millert
                   14881:
                   14882:        * BUGS: updated
                   14883:
                   14884: 1996-04-03 13:36  millert
                   14885:
                   14886:        * parse.lex: FQHOST now has same constraints as non-FQHOST
                   14887:
                   14888: 1996-04-02 19:00  millert
                   14889:
                   14890:        * INSTALL: added note about OS's w/ shadow passwords turned on by
                   14891:          default
                   14892:
                   14893: 1996-04-02 18:58  millert
                   14894:
                   14895:        * configure.in: fixed a typo
                   14896:
                   14897: 1996-04-02 18:48  millert
                   14898:
                   14899:        * configure.in: added support for --without-THING sanitized shadow
                   14900:          pw situtation by adding support for --without-C2
                   14901:
                   14902: 1996-04-02 16:42  millert
                   14903:
                   14904:        * tgetpass.c: fixed a typo wrt placement of an end paren
                   14905:
                   14906: 1996-04-02 14:57  millert
                   14907:
                   14908:        * check.c: was closing an fd that may not have been opened
                   14909:
                   14910: 1996-03-21 19:55  millert
                   14911:
                   14912:        * sudo.c, OPTIONS, options.h: added NO_PASSWD
                   14913:
                   14914: 1996-03-19 19:40  millert
                   14915:
                   14916:        * configure.in: now always use shadow pw on some arches
                   14917:
                   14918: 1996-03-19 17:07  millert
                   14919:
                   14920:        * configure.in: added pyramid support
                   14921:
                   14922: 1996-03-19 17:04  millert
                   14923:
                   14924:        * configure.in: no longer check for C2 if alternate passwd method
                   14925:          is used no longer check for some libs twice
                   14926:
                   14927: 1996-03-19 17:00  millert
                   14928:
                   14929:        * parse.yacc: moved fqdn stuff into parse.lex (FQHOST)
                   14930:
                   14931: 1996-03-19 17:00  millert
                   14932:
                   14933:        * parse.lex: added FQHOST rules
                   14934:
                   14935: 1996-03-18 20:57  millert
                   14936:
                   14937:        * tgetpass.c: now define TCSASOFT in necesary
                   14938:
                   14939: 1996-03-18 20:31  millert
                   14940:
                   14941:        * tgetpass.c: now uses read/write instead of stdio string goop to
                   14942:          avoid problems with select(2)
                   14943:
                   14944: 1996-03-18 19:37  millert
                   14945:
                   14946:        * OPTIONS, find_path.c, options.h: -DNO_DOT_PATH ->
                   14947:          -DIGNORE_DOT_PATH
                   14948:
                   14949: 1996-03-17 16:18  millert
                   14950:
                   14951:        * INSTALL: added note about no shadow auto-detect if using
                   14952:          alternate auth schemes
                   14953:
                   14954: 1996-03-17 15:33  millert
                   14955:
                   14956:        * configure.in: don't check for C2 if AFS or DCE (unless they said
                   14957:          --with-C2)
                   14958:
                   14959: 1996-03-17 15:08  millert
                   14960:
                   14961:        * testsudoers.c: now groks shost
                   14962:
                   14963: 1996-03-17 15:01  millert
                   14964:
                   14965:        * options.h, OPTIONS, find_path.c: added NO_DOT_PATH
                   14966:
                   14967: 1996-03-16 14:43  millert
                   14968:
                   14969:        * find_path.c: checkdot now works correctly
                   14970:
                   14971: 1996-03-12 18:01  millert
                   14972:
                   14973:        * configure.in: can't have DCE and C2 passwords both...
                   14974:
                   14975: 1996-03-11 14:05  millert
                   14976:
                   14977:        * parse.yacc, sudo.c, sudo.h, visudo.c: now uses shost even if not
                   14978:          FQDN
                   14979:
                   14980: 1996-03-11 14:04  millert
                   14981:
                   14982:        * configure.in: now looks for skey in /usr/lib and doesn't require
                   14983:          libskey to be in /usr/local/lib just because skey.h is (for my
                   14984:          netbsd box :-)
                   14985:
                   14986: 1996-03-11 02:00  millert
                   14987:
                   14988:        * aclocal.m4, config.h.in, pathnames.h.in: _SUDO_PATH_ ->
                   14989:          _CONFIG_PATH_
                   14990:
                   14991: 1996-03-10 21:01  millert
                   14992:
                   14993:        * aclocal.m4, sudo.pod: /var/run/.odus -> /var/run/sudo
                   14994:
                   14995: 1996-03-10 20:59  millert
                   14996:
                   14997:        * pathnames.h.in: now uses _SUDO_PATH_TIMEDIR
                   14998:
                   14999: 1996-03-10 20:59  millert
                   15000:
                   15001:        * OPTIONS: udpated FQDN
                   15002:
                   15003: 1996-03-10 20:58  millert
                   15004:
                   15005:        * config.h.in: added _SUDO_PATH_TIMEDIR
                   15006:
                   15007: 1996-03-10 20:58  millert
                   15008:
                   15009:        * aclocal.m4, configure.in: added SUDO_TIMEDIR
                   15010:
                   15011: 1996-03-10 20:58  millert
                   15012:
                   15013:        * sudo.pod: updated wrt /var/run/sudo
                   15014:
                   15015: 1996-03-10 20:16  millert
                   15016:
                   15017:        * sudo.c, sudo.h: added support for shost if FQDN
                   15018:
                   15019: 1996-03-10 20:14  millert
                   15020:
                   15021:        * parse.yacc, visudo.c: now uses shost if FQDN
                   15022:
                   15023: 1996-03-10 20:12  millert
                   15024:
                   15025:        * check.c: Now use skeylookup() instead off skeychallenge()
                   15026:
                   15027: 1996-02-27 20:41  millert
                   15028:
                   15029:        * logging.c: mail_argv should not contain ALERTMAIL as it includes
                   15030:          "-t"
                   15031:
                   15032: 1996-02-22 17:06  millert
                   15033:
                   15034:        * INSTALL, Makefile.in, README, version.h, configure.in: ++version
                   15035:
                   15036: 1996-02-22 16:27  millert
                   15037:
                   15038:        * compat.h: added more _PASSWD_LEN stuff -- now uses PASS_MAX too
                   15039:
                   15040: 1996-02-22 16:27  millert
                   15041:
                   15042:        * tgetpass.c: now includes limits.h moved _PASSWD_LEN -> compat.h
                   15043:
                   15044: 1996-02-05 19:20  millert
                   15045:
                   15046:        * README, INSTALL: ++version
                   15047:
                   15048: 1996-02-05 19:20  millert
                   15049:
                   15050:        * Makefile.in: ++versoin
                   15051:
                   15052: 1996-02-05 19:16  millert
                   15053:
                   15054:        * Makefile.in: fixed a typo
                   15055:
                   15056: 1996-02-05 19:16  millert
                   15057:
                   15058:        * configure.in: ++version
                   15059:
                   15060: 1996-02-05 18:53  millert
                   15061:
                   15062:        * RUNSON: updated
                   15063:
                   15064: 1996-02-05 18:47  millert
                   15065:
                   15066:        * CHANGES: done for 1.4.1 (I hope)
                   15067:
                   15068: 1996-02-05 18:45  millert
                   15069:
                   15070:        * sudoers.pod: added info on wildcards
                   15071:
                   15072: 1996-02-05 18:39  millert
                   15073:
                   15074:        * sample.sudoers: added wildcard example
                   15075:
                   15076: 1996-02-05 17:03  millert
                   15077:
                   15078:        * Makefile.in: now uses *.pod to build *.man and *.cat & *.html
                   15079:
                   15080: 1996-02-05 17:03  millert
                   15081:
                   15082:        * configure.in: addedSUDO_PROG_BSHELL !ll
                   15083:
                   15084: 1996-02-05 16:10  millert
                   15085:
                   15086:        * visudo.pod: fixed up some formatting
                   15087:
                   15088: 1996-02-05 16:10  millert
                   15089:
                   15090:        * sudoers.pod: redid section describing sample sudoers stuff
                   15091:
                   15092: 1996-02-05 16:10  millert
                   15093:
                   15094:        * sudo.pod: fixed some formatting
                   15095:
                   15096: 1996-02-04 22:50  millert
                   15097:
                   15098:        * getspwuid.c: now treats "" as bourne shell
                   15099:
                   15100: 1996-02-04 22:49  millert
                   15101:
                   15102:        * Makefile.in: TESTOBJS nwo includes wildmat.o
                   15103:
                   15104: 1996-02-04 22:48  millert
                   15105:
                   15106:        * testsudoers.c: now works with NewArg[cv]
                   15107:
                   15108: 1996-02-04 21:59  millert
                   15109:
                   15110:        * sudo.c: removed an XXX (fixed it in getspwuid.c)
                   15111:
                   15112: 1996-02-04 21:58  millert
                   15113:
                   15114:        * aclocal.m4: added check for bourne shell
                   15115:
                   15116: 1996-02-04 21:58  millert
                   15117:
                   15118:        * pathnames.h.in: added _PATH_BSHELL
                   15119:
                   15120: 1996-02-04 21:58  millert
                   15121:
                   15122:        * config.h.in: added _SUDO_PATH_BSHELL
                   15123:
                   15124: 1996-02-04 16:36  millert
                   15125:
                   15126:        * visudo.c: unixware vi returns 256 instead of 0
                   15127:
                   15128: 1996-02-04 16:24  millert
                   15129:
                   15130:        * INSTALL: added Linux note
                   15131:
                   15132: 1996-02-04 16:13  millert
                   15133:
                   15134:        * logging.c: fixed up some XXX's.  file log format now looks a
                   15135:          little more like real syslog(3) format.
                   15136:
                   15137: 1996-02-04 16:13  millert
                   15138:
                   15139:        * README, TROUBLESHOOTING: updated wrt lex/flex
                   15140:
                   15141: 1996-02-04 16:11  millert
                   15142:
                   15143:        * Makefile.in: commented out rule to build lex.yy.c from parse.lex
                   15144:          since we ship with a pre-flex'd parser
                   15145:
                   15146: 1996-02-04 16:09  millert
                   15147:
                   15148:        * parse.c, parse.yacc, visudo.c: path_matches -> command_matches
                   15149:
                   15150: 1996-02-04 02:28  millert
                   15151:
                   15152:        * logging.c: eliminated some strcat()'s
                   15153:
                   15154: 1996-02-04 02:10  millert
                   15155:
                   15156:        * configure.in: no longer checks for lex/flex (now assumes flex)
                   15157:
                   15158: 1996-02-04 02:08  millert
                   15159:
                   15160:        * configure.in: now checks for $kerb_dir_candidate/krb.h instead of
                   15161:          just kerb_dir_candidate
                   15162:
                   15163: 1996-02-02 20:48  millert
                   15164:
                   15165:        * parse.yacc: now use a 'hook' expression instead of an iffy one
                   15166:          :-)
                   15167:
                   15168: 1996-02-02 01:14  millert
                   15169:
                   15170:        * visudo.c: now works with new sudo arg stuff
                   15171:
                   15172: 1996-02-02 01:14  millert
                   15173:
                   15174:        * parse.yacc: fixed dereferencing deadbeef
                   15175:
                   15176: 1996-02-01 23:53  millert
                   15177:
                   15178:        * sudo.c: changed an occurrence of Argv to NewArgv
                   15179:
                   15180: 1996-02-01 23:53  millert
                   15181:
                   15182:        * parse.lex: took out support for quoted commands since there is no
                   15183:          need...
                   15184:
                   15185: 1996-02-01 23:52  millert
                   15186:
                   15187:        * parse.c: fixed a typo in a for() loop
                   15188:
                   15189: 1996-02-01 23:52  millert
                   15190:
                   15191:        * logging.c: protected against dereferencing rogue pointers
                   15192:
                   15193: 1996-02-01 22:34  millert
                   15194:
                   15195:        * sudo.c: now uses NewArgv amd NewArgc so cmnd_aegs is no longer
                   15196:          needed this also allows us to eliminate some kludges in
                   15197:          parse_args() and eliminate superfluous code.
                   15198:
                   15199: 1996-02-01 22:34  millert
                   15200:
                   15201:        * logging.c: no longer uses cmnd_args, now uses NewArgv instead.
                   15202:
                   15203: 1996-02-01 22:32  millert
                   15204:
                   15205:        * sudo.h: added struct sudo_command, NewArgc, and NewArgv removed
                   15206:          cmnd_args (no longer used)
                   15207:
                   15208: 1996-02-01 22:31  millert
                   15209:
                   15210:        * Makefile.in: added wildmat.c to SRCS & SUDOBJS
                   15211:
                   15212: 1996-02-01 22:30  millert
                   15213:
                   15214:        * parse.yacc: COMMAND is now a struct containing the path and args
                   15215:
                   15216: 1996-02-01 22:30  millert
                   15217:
                   15218:        * parse.lex: replaced append() with fill_cmnd() and fill_args.
                   15219:          command args from a sudoers entry are now stored in an arrary for
                   15220:          easy matching.
                   15221:
                   15222: 1996-02-01 22:28  millert
                   15223:
                   15224:        * parse.c: command line args from sudoers file are now in an array
                   15225:          like ones passed in from the command line
                   15226:
                   15227: 1996-01-31 20:59  millert
                   15228:
                   15229:        * parse.c: wildwat stuff now works
                   15230:
                   15231: 1996-01-29 00:44  millert
                   15232:
                   15233:        * version.h: ++version
                   15234:
                   15235: 1996-01-29 00:44  millert
                   15236:
                   15237:        * Makefile.in: ++version added wildmat.*
                   15238:
                   15239: 1996-01-28 17:55  millert
                   15240:
                   15241:        * parse.lex: added support for quoted commands (w/ or w/o args)
                   15242:
                   15243: 1996-01-22 01:55  millert
                   15244:
                   15245:        * sudo.pod, visudo.pod: cleaned up formatting
                   15246:
                   15247: 1996-01-21 20:53  millert
                   15248:
                   15249:        * sudo.pod, visudo.pod: Initial revision
                   15250:
                   15251: 1996-01-21 02:07  millert
                   15252:
                   15253:        * sudoers.pod: looks reasonable, could be mroe readable
                   15254:
                   15255: 1996-01-20 23:47  millert
                   15256:
                   15257:        * sudoers.pod: Initial revision
                   15258:
                   15259: 1996-01-16 14:38  millert
                   15260:
                   15261:        * RUNSON: updated
                   15262:
                   15263: 1996-01-16 14:37  millert
                   15264:
                   15265:        * OPTIONS: updated NO_ROOT_SUDO entry
                   15266:
                   15267: 1996-01-15 11:37  millert
                   15268:
                   15269:        * RUNSON: [no log message]
                   15270:
                   15271: 1996-01-15 11:34  millert
                   15272:
                   15273:        * sudo.c: fixed SECURE_PATH
                   15274:
                   15275: 1996-01-14 20:55  millert
                   15276:
                   15277:        * RUNSON: udpa`ted for 1.4
                   15278:
                   15279: 1996-01-14 20:52  millert
                   15280:
                   15281:        * configure.in: AIX aixcrypt.exp now uses $(srcdir)
                   15282:
                   15283: 1996-01-14 20:32  millert
                   15284:
                   15285:        * TROUBLESHOOTING: added entry for anal ansi compilers
                   15286:
                   15287: 1996-01-14 16:13  millert
                   15288:
                   15289:        * INSTALL: added info on libcrypt_i for SCO
                   15290:
                   15291: 1996-01-14 16:05  millert
                   15292:
                   15293:        * TODO: [no log message]
                   15294:
                   15295: 1996-01-14 15:39  millert
                   15296:
                   15297:        * sample.sudoers: added comments
                   15298:
                   15299: 1996-01-14 15:25  millert
                   15300:
                   15301:        * TODO: 1.4 release
                   15302:
                   15303: 1996-01-14 15:22  millert
                   15304:
                   15305:        * README, config.h.in, configure.in, CHANGES: ++version
                   15306:
                   15307: 1996-01-14 15:21  millert
                   15308:
                   15309:        * BUGS: ++version and fixed ISC
                   15310:
                   15311: 1996-01-14 15:19  millert
                   15312:
                   15313:        * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c,
                   15314:          getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
                   15315:          ins_goons.h, insults.h, options.h, pathnames.h.in, sudo.h,
                   15316:          logging.c, putenv.c, strdup.c, sudo.c, sudo_setenv.c,
                   15317:          testsudoers.c, tgetpass.c, utime.c, visudo.c, INSTALL, OPTIONS:
                   15318:          ++version
                   15319:
                   15320: 1996-01-14 15:16  millert
                   15321:
                   15322:        * interfaces.c: added STUB_LOAD_INTERFACES ++version
                   15323:
                   15324: 1996-01-14 15:14  millert
                   15325:
                   15326:        * Makefile.in, version.h, parse.c, parse.lex, parse.yacc,
                   15327:          emul/utime.h: ++version
                   15328:
                   15329: 1996-01-14 15:13  millert
                   15330:
                   15331:        * PORTING: added info about fd_set in tgetpass added info on
                   15332:          interfaces.c
                   15333:
                   15334: 1996-01-11 13:22  millert
                   15335:
                   15336:        * dce_pwent.c: added sudo header
                   15337:
                   15338: 1996-01-11 13:04  millert
                   15339:
                   15340:        * tgetpass.c: fixed a typo
                   15341:
                   15342: 1996-01-11 13:01  millert
                   15343:
                   15344:        * Makefile.in: tgetpass.o is now only linked in with sudo (not
                   15345:          visudo)
                   15346:
                   15347: 1996-01-09 12:56  millert
                   15348:
                   15349:        * BUGS, INSTALL, OPTIONS, README, Makefile.in, config.h.in,
                   15350:          configure.in: ++version
                   15351:
                   15352: 1996-01-09 12:54  millert
                   15353:
                   15354:        * emul/utime.h: added copyright notice
                   15355:
                   15356: 1996-01-09 12:52  millert
                   15357:
                   15358:        * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
                   15359:          ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
                   15360:          interfaces.c, logging.c, options.h, parse.c, parse.lex,
                   15361:          parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
                   15362:          sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
                   15363:          visudo.c: ++version
                   15364:
                   15365: 1996-01-09 12:46  millert
                   15366:
                   15367:        * tgetpass.c: minor cleanup and now includes sys/bsdtypes for
                   15368:          svr4'ish boxen
                   15369:
                   15370: 1996-01-09 12:42  millert
                   15371:
                   15372:        * configure.in: ISC now gets -lcrypt now check for sys/bsdtypes.h
                   15373:
                   15374: 1996-01-09 12:41  millert
                   15375:
                   15376:        * config.h.in: added check for sys/bsdtypes.h
                   15377:
                   15378: 1996-01-07 16:00  millert
                   15379:
                   15380:        * parse.yacc: removed debugging stuff (setting freed ptr to NULL)
                   15381:
                   15382: 1996-01-07 15:55  millert
                   15383:
                   15384:        * TROUBLESHOOTING: added 2 entries
                   15385:
                   15386: 1996-01-07 15:55  millert
                   15387:
                   15388:        * Makefile.in: added FAQ
                   15389:
                   15390: 1996-01-07 14:26  millert
                   15391:
                   15392:        * TROUBLESHOOTING: added section on syslog
                   15393:
                   15394: 1996-01-07 14:25  millert
                   15395:
                   15396:        * configure.in: added AC_ISC_POSIX for better ISC support
                   15397:
                   15398: 1996-01-07 14:25  millert
                   15399:
                   15400:        * config.h.in: fixed typo
                   15401:
                   15402: 1996-01-07 14:25  millert
                   15403:
                   15404:        * config.h.in: added define for _POSIX_SOURCE
                   15405:
                   15406: 1996-01-04 00:41  millert
                   15407:
                   15408:        * configure.in: fixed check for lsearch()
                   15409:
                   15410: 1995-12-21 21:53  millert
                   15411:
                   15412:        * interfaces.c: fixed for AIX now deal if num_interfaces == 0
                   15413:          (should not happen)
                   15414:
                   15415: 1995-12-20 17:02  millert
                   15416:
                   15417:        * configure.in: now only define HAVE_LSEARCH if there is a
                   15418:          corresponding search.h
                   15419:
                   15420: 1995-12-20 15:52  millert
                   15421:
                   15422:        * interfaces.c: works on ISC again
                   15423:
                   15424: 1995-12-18 17:36  millert
                   15425:
                   15426:        * configure.in: now define HAVE_LSEARCH if we find lsearch() in
                   15427:          libcompat
                   15428:
                   15429: 1995-12-18 17:32  millert
                   15430:
                   15431:        * lsearch.c: char * -> const char *
                   15432:
                   15433: 1995-12-18 17:29  millert
                   15434:
                   15435:        * configure.in: now looks in -lcompat for lsearch()
                   15436:
                   15437: 1995-12-18 17:23  millert
                   15438:
                   15439:        * Makefile.in: remove sudo.core visudo.core for clan target
                   15440:
                   15441: 1995-12-17 22:53  millert
                   15442:
                   15443:        * aclocal.m4: added UID_MAX support in check for MAX_UID_T_LEN
                   15444:
                   15445: 1995-12-17 22:36  millert
                   15446:
                   15447:        * Makefile.in: fixed another occurence of sudo_getpwuid.*
                   15448:
                   15449: 1995-12-17 22:30  millert
                   15450:
                   15451:        * getspwuid.c, Makefile.in: sudo_getpwuid.c -> getspwuid.c
                   15452:
                   15453: 1995-12-17 22:22  millert
                   15454:
                   15455:        * configure.in: moved the "echo"
                   15456:
                   15457: 1995-12-17 22:09  millert
                   15458:
                   15459:        * CHANGES, BUGS, INSTALL, Makefile.in, OPTIONS, README, check.c,
                   15460:          compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
                   15461:          getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
                   15462:          ins_goons.h, insults.h, interfaces.c, logging.c, options.h,
                   15463:          parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
                   15464:          strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
                   15465:          tgetpass.c, utime.c, version.h, visudo.c: ++version
                   15466:
                   15467: 1995-12-17 22:04  millert
                   15468:
                   15469:        * testsudoers.c: added group support
                   15470:
                   15471: 1995-12-17 22:00  millert
                   15472:
                   15473:        * sample.sudoers: added group entry
                   15474:
                   15475: 1995-12-17 21:59  millert
                   15476:
                   15477:        * sudoers.man: documented group support
                   15478:
                   15479: 1995-12-17 21:50  millert
                   15480:
                   15481:        * parse.c, parse.lex, visudo.c, parse.yacc: added group support
                   15482:
                   15483: 1995-12-15 17:45  millert
                   15484:
                   15485:        * check.c: tkfile was too short and overflowed the kerberos realm
                   15486:
                   15487: 1995-12-11 17:09  millert
                   15488:
                   15489:        * sudo.c: now copy command args directly from Argv
                   15490:
                   15491: 1995-12-11 15:55  millert
                   15492:
                   15493:        * sudo.c: replaced code to copy cmnd_args so that is does not use
                   15494:          realloc since most realloc()'s really stink
                   15495:
                   15496: 1995-12-08 14:11  millert
                   15497:
                   15498:        * configure.in: syslog() fixed in hpux 10.01
                   15499:
                   15500: 1995-12-06 17:45  millert
                   15501:
                   15502:        * configure.in: AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS
                   15503:          if appropriate)
                   15504:
                   15505: 1995-12-06 17:30  millert
                   15506:
                   15507:        * configure.in: better error if cannot find skey incs or libs
                   15508:
                   15509: 1995-12-06 17:26  millert
                   15510:
                   15511:        * aclocal.m4: now use a temp file for determining max len of uid_t
                   15512:          in string form.  the old hacky way broke on netbsd
                   15513:
                   15514: 1995-12-05 19:02  millert
                   15515:
                   15516:        * sudo.c: added set of parens and a space
                   15517:
                   15518: 1995-12-05 18:58  millert
                   15519:
                   15520:        * dce_pwent.c: fixes from Jeff Earickson <jaearick@colby.edu> ,
                   15521:
                   15522: 1995-12-05 18:58  millert
                   15523:
                   15524:        * check.c: modified a comment
                   15525:
                   15526: 1995-12-05 18:57  millert
                   15527:
                   15528:        * Makefile.in: fixed up testsudoers target
                   15529:
                   15530: 1995-12-05 18:56  millert
                   15531:
                   15532:        * configure.in: DCE changes from Jeff Earickson
                   15533:          <jaearick@colby.edu> LIBS -> SUDO_LIBS and VISUDO_LIBS LDFLAGS ->
                   15534:          SUDO_FDFLAGS and VISUDO_LDFLAGS
                   15535:
                   15536: 1995-12-05 18:17  millert
                   15537:
                   15538:        * Makefile.in: LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS ->
                   15539:          SUDO_LDFLAGS, VISUDO_LDFLAGS
                   15540:
                   15541: 1995-11-27 23:32  millert
                   15542:
                   15543:        * configure.in: fix for C2 on hpux 10 now uses -linet if it exists
                   15544:
                   15545: 1995-11-27 23:17  millert
                   15546:
                   15547:        * check.c: LONG_SKEY_PROMPT is less of a klusge /
                   15548:
                   15549: 1995-11-27 23:17  millert
                   15550:
                   15551:        * configure.in: fixed typos w/ dce stuff
                   15552:
                   15553: 1995-11-27 23:14  millert
                   15554:
                   15555:        * Makefile.in: added dce_pwent.c
                   15556:
                   15557: 1995-11-26 13:48  millert
                   15558:
                   15559:        * INSTALL: amended section on combining authentication mechanisms
                   15560:
                   15561: 1995-11-26 13:48  millert
                   15562:
                   15563:        * PORTING: minor updates for 1.3.6
                   15564:
                   15565: 1995-11-26 13:47  millert
                   15566:
                   15567:        * TROUBLESHOOTING: added 2 more entries
                   15568:
                   15569: 1995-11-26 13:39  millert
                   15570:
                   15571:        * BUGS: updated for 1.3.6
                   15572:
                   15573: 1995-11-26 13:39  millert
                   15574:
                   15575:        * README: overhauled
                   15576:
                   15577: 1995-11-25 21:23  millert
                   15578:
                   15579:        * INSTALL: rewrote for sudo 1.3.6
                   15580:
                   15581: 1995-11-25 21:23  millert
                   15582:
                   15583:        * TROUBLESHOOTING: added 3 entries
                   15584:
                   15585: 1995-11-25 13:53  millert
                   15586:
                   15587:        * find_path.c, getspwuid.c, sudo.c: added explict casts for strdup
                   15588:          since many includes don't prototype it.  gag me.
                   15589:
                   15590: 1995-11-25 13:23  millert
                   15591:
                   15592:        * sudo.h: removed prototype for sudo_getpwuid() since convex C
                   15593:          compiler choked on it.
                   15594:
                   15595: 1995-11-25 13:23  millert
                   15596:
                   15597:        * sudo.c: added prototype for sudo_getpwuid()
                   15598:
                   15599: 1995-11-25 13:23  millert
                   15600:
                   15601:        * lsearch.c: now compiles on strict ANSI compilers
                   15602:
                   15603: 1995-11-24 23:56  millert
                   15604:
                   15605:        * check.c: added LONG_SKEY_PROMPT support
                   15606:
                   15607: 1995-11-24 23:55  millert
                   15608:
                   15609:        * Makefile.in: added extra $'s for make to eat up, yum.
                   15610:
                   15611: 1995-11-24 23:38  millert
                   15612:
                   15613:        * OPTIONS, options.h: added LONG_SKEY_PROMPT
                   15614:
                   15615: 1995-11-24 18:48  millert
                   15616:
                   15617:        * check.c: s/key support now works with normal s/key as well as
                   15618:          logdaemon
                   15619:
                   15620: 1995-11-24 18:46  millert
                   15621:
                   15622:        * options.h, OPTIONS: added SKEY_ONLY
                   15623:
                   15624: 1995-11-24 18:46  millert
                   15625:
                   15626:        * compat.h: set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
                   15627:
                   15628: 1995-11-24 00:42  millert
                   15629:
                   15630:        * INSTALL: added DCE note added more AIX notes
                   15631:
                   15632: 1995-11-24 00:39  millert
                   15633:
                   15634:        * sudo.c: now include pthread.h for DCE support
                   15635:
                   15636: 1995-11-23 22:22  millert
                   15637:
                   15638:        * check.c: dce_pwent() is ok after all .,
                   15639:
                   15640: 1995-11-23 22:21  millert
                   15641:
                   15642:        * logging.c: now uses SYSLOG() macro that equates to either
                   15643:          syslog() or syslog_wrapper
                   15644:
                   15645: 1995-11-23 21:44  millert
                   15646:
                   15647:        * dce_pwent.c: minor formatting changes.  renamed check() to
                   15648:          somthing less generic
                   15649:
                   15650: 1995-11-23 21:27  millert
                   15651:
                   15652:        * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
                   15653:          visudo.c: now uses user_pw_ent and simple macros to get at the
                   15654:          contents
                   15655:
                   15656: 1995-11-22 20:35  millert
                   15657:
                   15658:        * check.c: simpler dec unix C2 support
                   15659:
                   15660: 1995-11-22 20:35  millert
                   15661:
                   15662:        * getspwuid.c: now sets crypt_type for DEC unix C2
                   15663:
                   15664: 1995-11-21 18:00  millert
                   15665:
                   15666:        * configure.in: added csops paths for skey
                   15667:
                   15668: 1995-11-21 16:27  millert
                   15669:
                   15670:        * getspwuid.c: now includes string.h for strdup() prototype
                   15671:
                   15672: 1995-11-21 01:47  millert
                   15673:
                   15674:        * getspwuid.c: fixed a few typos
                   15675:
                   15676: 1995-11-20 22:59  millert
                   15677:
                   15678:        * check.c: now includes skey.h
                   15679:
                   15680: 1995-11-20 22:10  millert
                   15681:
                   15682:        * getspwuid.c: fixed up comments
                   15683:
                   15684: 1995-11-20 22:04  millert
                   15685:
                   15686:        * check.c: moved a lot of the shadow passwd crap to sudo_getpwuid()
                   15687:
                   15688: 1995-11-20 22:01  millert
                   15689:
                   15690:        * sudo.c: now uses sudo_pw_ent
                   15691:
                   15692: 1995-11-20 21:50  millert
                   15693:
                   15694:        * testsudoers.c: now uses sudo_pw_ent
                   15695:
                   15696: 1995-11-20 21:40  millert
                   15697:
                   15698:        * visudo.c: now sets sudo_pw_ent
                   15699:
                   15700: 1995-11-20 21:28  millert
                   15701:
                   15702:        * getspwuid.c: Initial revision
                   15703:
                   15704: 1995-11-20 21:28  millert
                   15705:
                   15706:        * tgetpass.c: moved dce stuff into compat.h
                   15707:
                   15708: 1995-11-20 21:27  millert
                   15709:
                   15710:        * sudo.h, logging.c: now uses sudo_pw_ent
                   15711:
                   15712: 1995-11-20 21:27  millert
                   15713:
                   15714:        * Makefile.in: added sudo_getpwuid.c
                   15715:
                   15716: 1995-11-20 21:25  millert
                   15717:
                   15718:        * compat.h: added dce support
                   15719:
                   15720: 1995-11-20 21:13  millert
                   15721:
                   15722:        * parse.yacc: now uses sudo_pw_ent
                   15723:
                   15724: 1995-11-20 14:40  millert
                   15725:
                   15726:        * check.c: fixed exempt_group stuff for OS's that don't put base
                   15727:          gid in group vector
                   15728:
                   15729: 1995-11-20 01:39  millert
                   15730:
                   15731:        * check.c: S/Key support now works with sunos4 shadow passwords
                   15732:
                   15733: 1995-11-19 22:31  millert
                   15734:
                   15735:        * Makefile.in: fixed clean rule
                   15736:
                   15737: 1995-11-19 22:31  millert
                   15738:
                   15739:        * config.h.in, configure.in: added DCE support
                   15740:
                   15741: 1995-11-19 22:30  millert
                   15742:
                   15743:        * tgetpass.c: DCE & KERB support
                   15744:
                   15745: 1995-11-19 22:30  millert
                   15746:
                   15747:        * check.c: first stab at dce support
                   15748:
                   15749: 1995-11-19 22:24  millert
                   15750:
                   15751:        * dce_pwent.c: now smells like sudo
                   15752:
                   15753: 1995-11-19 22:11  millert
                   15754:
                   15755:        * dce_pwent.c: Initial revision
                   15756:
                   15757: 1995-11-19 21:36  millert
                   15758:
                   15759:        * check.c: skey'd sudo now works w/ normal password as well
                   15760:
                   15761: 1995-11-19 18:37  millert
                   15762:
                   15763:        * Makefile.in, OPTIONS, check.c, compat.h, config.h.in,
                   15764:          find_path.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
                   15765:          ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
                   15766:          options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in,
                   15767:          putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c,
                   15768:          tgetpass.c, utime.c, version.h, visudo.c: updated version number
                   15769:
                   15770: 1995-11-19 18:32  millert
                   15771:
                   15772:        * README: updated to reflect version change
                   15773:
                   15774: 1995-11-19 18:27  millert
                   15775:
                   15776:        * configure.in: --with options now line up ++version
                   15777:
                   15778: 1995-11-19 18:26  millert
                   15779:
                   15780:        * sudo.h: removed unecesary S/Key stuff
                   15781:
                   15782: 1995-11-19 18:25  millert
                   15783:
                   15784:        * configure.in: fixed S/Key support
                   15785:
                   15786: 1995-11-19 18:24  millert
                   15787:
                   15788:        * Makefile.in: -I stuff now goes in CPPFLAGS
                   15789:
                   15790: 1995-11-19 18:23  millert
                   15791:
                   15792:        * check.c: fixed SKey support
                   15793:
                   15794: 1995-11-19 15:23  millert
                   15795:
                   15796:        * README: updated version
                   15797:
                   15798: 1995-11-19 13:59  millert
                   15799:
                   15800:        * OPTIONS: fixed description of EXEMPTGROUP
                   15801:
                   15802: 1995-11-19 10:47  millert
                   15803:
                   15804:        * sudo.c: more people use _RLD_ than just alphas...
                   15805:
                   15806: 1995-11-18 21:35  millert
                   15807:
                   15808:        * Makefile.in: replaced $man_prefix with $mandir
                   15809:
                   15810: 1995-11-18 21:30  millert
                   15811:
                   15812:        * configure.in: fixed a typo
                   15813:
                   15814: 1995-11-18 21:28  millert
                   15815:
                   15816:        * Makefile.in: now use more GNU'ish dir names
                   15817:
                   15818: 1995-11-18 21:27  millert
                   15819:
                   15820:        * configure.in: now set *dir correctly (can override from command
                   15821:          line)
                   15822:
                   15823: 1995-11-18 19:17  millert
                   15824:
                   15825:        * sudo.c: now deal with situations where we getwd() fails
                   15826:
                   15827: 1995-11-17 00:37  millert
                   15828:
                   15829:        * Makefile.in: added etc_dir, bin_dir, sbin_dir
                   15830:
                   15831: 1995-11-17 00:37  millert
                   15832:
                   15833:        * configure.in: added sbin_dir
                   15834:
                   15835: 1995-11-16 21:28  millert
                   15836:
                   15837:        * Makefile.in: now ship a flex-generated lex.yy.c
                   15838:
                   15839: 1995-11-16 21:09  millert
                   15840:
                   15841:        * Makefile.in: now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP,
                   15842:          SUDOERS_OWNER
                   15843:
                   15844: 1995-11-16 21:06  millert
                   15845:
                   15846:        * pathnames.h.in: _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now
                   15847:          overridden via Makefile
                   15848:
                   15849: 1995-11-16 21:05  millert
                   15850:
                   15851:        * options.h: no more error for redefining SUDOERS_OWNER
                   15852:
                   15853: 1995-11-16 21:05  millert
                   15854:
                   15855:        * OPTIONS: expanded SUDOERS_OWNER section
                   15856:
                   15857: 1995-11-16 03:05  millert
                   15858:
                   15859:        * visudo.c: now warn if chown(2) failed
                   15860:
                   15861: 1995-11-16 02:55  millert
                   15862:
                   15863:        * logging.c: better default warning for NO_SUDOERS_FILE
                   15864:
                   15865: 1995-11-16 02:54  millert
                   15866:
                   15867:        * sudo.c: added missing set_perms() no more cryptic message if the
                   15868:          sudoers file is zero length, now just give a parse error
                   15869:
                   15870: 1995-11-16 02:42  millert
                   15871:
                   15872:        * logging.c: better diagnostics if NO_SUDOERS_FILE
                   15873:
                   15874: 1995-11-16 02:41  millert
                   15875:
                   15876:        * sudo.c: check_sudoers() now catches sudoers files that are not
                   15877:          readable (but are stat'able).
                   15878:
                   15879: 1995-11-13 01:12  millert
                   15880:
                   15881:        * configure.in: now add -D__STDC__ for convex cc (not gcc)
                   15882:
                   15883: 1995-11-13 00:52  millert
                   15884:
                   15885:        * configure.in: MAN_PREFIX -> man_prefix now sets prefix and
                   15886:          exec_prefix
                   15887:
                   15888: 1995-11-13 00:52  millert
                   15889:
                   15890:        * Makefile.in: now uses exec_prefix & prefix from configure
                   15891:
                   15892: 1995-11-13 00:16  millert
                   15893:
                   15894:        * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c,
                   15895:          parse.c, parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c,
                   15896:          tgetpass.c, utime.c, visudo.c: options.h is now <> instead of ""
                   15897:          so shadow build trees can have a custom copy of options.h
                   15898:
                   15899: 1995-11-13 00:15  millert
                   15900:
                   15901:        * check.c: user_is_exempt() is no longer a hack, it now uses
                   15902:          getgrnam()
                   15903:
                   15904: 1995-11-12 23:56  millert
                   15905:
                   15906:        * options.h: EXEMPTGROUP is now "sudo"
                   15907:
                   15908: 1995-11-12 22:25  millert
                   15909:
                   15910:        * configure.in: MAN_POSTINSTALL now contains a leading space
                   15911:
                   15912: 1995-11-12 22:25  millert
                   15913:
                   15914:        * Makefile.in: removed leading tab if @MAN_POSTINSTALL@ not defined
                   15915:          now removes testsudoers in clean:
                   15916:
                   15917: 1995-11-12 22:24  millert
                   15918:
                   15919:        * tgetpass.c: includes pwd.h to get _PASSWD_LEN definition
                   15920:
                   15921: 1995-10-30 15:51  millert
                   15922:
                   15923:        * sudo.c: unset the KRB_CONF envariable if using kerberos so we
                   15924:          don't get spoofed into using a bogus server
                   15925:
                   15926: 1995-09-29 17:50  millert
                   15927:
                   15928:        * parse.yacc: now explicately initialize match[] tp be FALSE
                   15929:
                   15930: 1995-09-23 16:48  millert
                   15931:
                   15932:        * sudo.c: removed unused variable now passes -Wall
                   15933:
                   15934: 1995-09-23 16:48  millert
                   15935:
                   15936:        * parse.yacc: yyerror and dumpaliases are now void's now passes
                   15937:          -Wall
                   15938:
                   15939: 1995-09-23 16:48  millert
                   15940:
                   15941:        * parse.lex: added prototype for yyerror
                   15942:
                   15943: 1995-09-23 16:47  millert
                   15944:
                   15945:        * interfaces.c: rmeoved unused cruft now passes -Wall
                   15946:
                   15947: 1995-09-23 16:47  millert
                   15948:
                   15949:        * check.c, logging.c, parse.c: now passes -Wall
                   15950:
                   15951: 1995-09-23 16:46  millert
                   15952:
                   15953:        * Makefile.in: fixed headers that moved to emul dir
                   15954:
                   15955: 1995-09-23 12:05  millert
                   15956:
                   15957:        * logging.c: fixed deref of nil pointer if no args
                   15958:
                   15959: 1995-09-15 19:18  millert
                   15960:
                   15961:        * OPTIONS: added a caveat to FQDN section
                   15962:
                   15963: 1995-09-13 19:48  millert
                   15964:
                   15965:        * Makefile.in: more $srcdir support for install targets
                   15966:
                   15967: 1995-09-13 17:17  millert
                   15968:
                   15969:        * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc,
                   15970:          putenv.c, strdup.c, sudo.c, sudo_setenv.c, testsudoers.c,
                   15971:          visudo.c: don't include malloc.h if we include stdlib.h
                   15972:
                   15973: 1995-09-12 21:44  millert
                   15974:
                   15975:        * parse.yacc: local search.h now lives in emul
                   15976:
                   15977: 1995-09-12 21:41  millert
                   15978:
                   15979:        * lsearch.c: local search.h now lives in emul
                   15980:
                   15981: 1995-09-12 21:41  millert
                   15982:
                   15983:        * check.c, utime.c: local utime.h now lives in emul dir
                   15984:
                   15985: 1995-09-12 21:38  millert
                   15986:
                   15987:        * Makefile.in: added support for building in other than the
                   15988:          sourcedir
                   15989:
                   15990: 1995-09-10 14:01  millert
                   15991:
                   15992:        * OPTIONS: annotated CSOPS_INSULTS option
                   15993:
                   15994: 1995-09-10 13:56  millert
                   15995:
                   15996:        * TROUBLESHOOTING: updated shadow passwords blurb
                   15997:
                   15998: 1995-09-09 21:00  millert
                   15999:
                   16000:        * sudo.c: if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a
                   16001:          shell and passes along foo as the arguments
                   16002:
                   16003: 1995-09-09 18:52  millert
                   16004:
                   16005:        * parse.lex: collapsed pathname and dir sections into one -- its
                   16006:          now less expensive
                   16007:
                   16008: 1995-09-09 18:34  millert
                   16009:
                   16010:        * parse.lex: fixed spacing quoting [,:\\=] now works correctly
                   16011:          append() and fill() now take args to make the above work
                   16012:
                   16013: 1995-09-08 20:51  millert
                   16014:
                   16015:        * sudo.c: fixed a typo that caused commands with no tty on fd 0 but
                   16016:          a tty on fd 1 to erroneously have "none" as their tty
                   16017:
                   16018: 1995-09-04 15:35  millert
                   16019:
                   16020:        * check.c: timestampfile is now a global static removed decl of
                   16021:          timestampfile in remove_timestamp since we can just use the
                   16022:          global one
                   16023:
                   16024: 1995-09-04 15:28  millert
                   16025:
                   16026:        * check.c: created touch() to update timestamps added
                   16027:          USE_TTY_TICKETS support (bit of a kludge)
                   16028:
                   16029: 1995-09-04 15:28  millert
                   16030:
                   16031:        * compat.h: added _S_IFDIR and S_ISDIR
                   16032:
                   16033: 1995-09-04 15:22  millert
                   16034:
                   16035:        * OPTIONS, options.h: added USE_TTY_TICKETS
                   16036:
                   16037: 1995-09-04 00:38  millert
                   16038:
                   16039:        * parse.yacc: removed const from casts for lsearch() & lfind() to
                   16040:          placate irix 4.x C compiler
                   16041:
                   16042: 1995-09-03 14:12  millert
                   16043:
                   16044:        * sudo.c: now only strip '/dev/' off of a tty if it starts with
                   16045:          '/dev/'
                   16046:
                   16047: 1995-09-03 14:12  millert
                   16048:
                   16049:        * pathnames.h.in: added _PATH_DEV
                   16050:
                   16051: 1995-09-03 14:11  millert
                   16052:
                   16053:        * configure.in: AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for
                   16054:          tcgetattr only if have termios.h
                   16055:
                   16056: 1995-09-03 14:09  millert
                   16057:
                   16058:        * tgetpass.c: fixed incorrect #ifdef termio uses "unsigned short"
                   16059:          not int for c_?flag
                   16060:
                   16061: 1995-09-03 13:19  millert
                   16062:
                   16063:        * parse.lex, parse.yacc: fixed a spelling error
                   16064:
                   16065: 1995-09-03 13:17  millert
                   16066:
                   16067:        * Makefile.in: fixed typo
                   16068:
                   16069: 1995-09-02 12:55  millert
                   16070:
                   16071:        * Makefile.in: fixed a comment
                   16072:
                   16073: 1995-09-02 12:54  millert
                   16074:
                   16075:        * parse.yacc: added dotcat() to cat 2 strings w/ a dot effeciently
                   16076:          now that we dynamically allocate strings they need to be free()'d
                   16077:
                   16078: 1995-09-02 12:46  millert
                   16079:
                   16080:        * parse.lex: dynamically allocates space for strings
                   16081:
                   16082: 1995-09-02 12:34  millert
                   16083:
                   16084:        * sudo.h: no more MAXCOMMANDLENGTH
                   16085:
                   16086: 1995-09-01 22:25  millert
                   16087:
                   16088:        * sudo.h: added decl of tty
                   16089:
                   16090: 1995-09-01 22:25  millert
                   16091:
                   16092:        * logging.c, sudo.c: moved tty stuff into sudo.c
                   16093:
                   16094: 1995-09-01 14:18  millert
                   16095:
                   16096:        * parse.c: fixed a logic bug.  Was denying a command if user gave
                   16097:          command line args but there were none in the sudoers file which
                   16098:          is wrong.
                   16099:
                   16100: 1995-09-01 01:18  millert
                   16101:
                   16102:        * sudo.h: MAXCOMMMANDLEN dropped down to 1K
                   16103:
                   16104: 1995-09-01 01:13  millert
                   16105:
                   16106:        * parse.lex: return foo; -> return(foo);
                   16107:
                   16108: 1995-09-01 01:03  millert
                   16109:
                   16110:        * parse.yacc: fixed netgr_matches() prototype
                   16111:
                   16112: 1995-09-01 01:02  millert
                   16113:
                   16114:        * parse.lex: added support for escaping "termination" characters
                   16115:
                   16116: 1995-09-01 00:55  millert
                   16117:
                   16118:        * parse.c: buf is now of size MAXPATHLEN+1 since it never holds
                   16119:          command args
                   16120:
                   16121: 1995-09-01 00:50  millert
                   16122:
                   16123:        * sudo.c: fixed comments
                   16124:
                   16125: 1995-09-01 00:49  millert
                   16126:
                   16127:        * goodpath.c: fixed negation problem (doh!)
                   16128:
                   16129: 1995-09-01 00:25  millert
                   16130:
                   16131:        * parse.yacc: fixed 2nd parameter to lfind()
                   16132:
                   16133: 1995-09-01 00:24  millert
                   16134:
                   16135:        * parse.lex: now do bounds checking in fill() and append()
                   16136:
                   16137: 1995-09-01 00:23  millert
                   16138:
                   16139:        * sudo.c: include netdb.h as we should added a missing void cast
                   16140:          added SHELL_IF_NO_ARGS support now use realloc() properly.  would
                   16141:          fail if realloc actually moved the string instead of shrinking it
                   16142:
                   16143: 1995-09-01 00:17  millert
                   16144:
                   16145:        * sample.sudoers: updated with examples of new features
                   16146:
                   16147: 1995-09-01 00:05  millert
                   16148:
                   16149:        * goodpath.c: now set errno to EACCES if not a regular file or not
                   16150:          executable
                   16151:
                   16152: 1995-09-01 00:04  millert
                   16153:
                   16154:        * find_path.c: if given a fully-qualified or relative path we now
                   16155:          check it with sudo_goodpath() and error out with the appropriate
                   16156:          error message if the file does not exist or is not executable
                   16157:
                   16158: 1995-09-01 00:03  millert
                   16159:
                   16160:        * lsearch.c, emul/search.h: now use correct args for lfind
                   16161:
                   16162: 1995-09-01 00:03  millert
                   16163:
                   16164:        * logging.c: added a comment
                   16165:
                   16166: 1995-08-31 23:52  millert
                   16167:
                   16168:        * insults.h: added in CSOps insults
                   16169:
                   16170: 1995-08-31 23:51  millert
                   16171:
                   16172:        * ins_csops.h: Initial revision
                   16173:
                   16174: 1995-08-31 23:35  millert
                   16175:
                   16176:        * tgetpass.c: added RCS id
                   16177:
                   16178: 1995-08-31 22:56  millert
                   16179:
                   16180:        * sudo.h: increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD ->
                   16181:          HAVE_GETWD
                   16182:
                   16183: 1995-08-31 22:55  millert
                   16184:
                   16185:        * OPTIONS: added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
                   16186:
                   16187: 1995-08-31 22:54  millert
                   16188:
                   16189:        * sudo.c: fixed -k load_interfaces() now gets called if FQDN is set
                   16190:          -p now works with -s
                   16191:
                   16192: 1995-08-31 22:54  millert
                   16193:
                   16194:        * parse.c: don't try to stat() "pseudo commands" like "validate"
                   16195:
                   16196: 1995-08-31 22:53  millert
                   16197:
                   16198:        * options.h: added CLASSIC_INSULTS added CSOPS_INSULTS added
                   16199:          SHELL_IF_NO_ARGS
                   16200:
                   16201: 1995-08-31 22:53  millert
                   16202:
                   16203:        * configure.in: added SecurID support added other insults to
                   16204:          --with-csops
                   16205:
                   16206: 1995-08-31 22:52  millert
                   16207:
                   16208:        * config.h.in: added HAVE_SECURID
                   16209:
                   16210: 1995-08-31 22:52  millert
                   16211:
                   16212:        * Makefile.in: added clobber target added ins_csops.h now gets
                   16213:          CFLAGS from configure
                   16214:
                   16215: 1995-08-31 22:46  millert
                   16216:
                   16217:        * aclocal.m4: relaxed SUDO_FULL_VOID
                   16218:
                   16219: 1995-08-31 22:44  millert
                   16220:
                   16221:        * visudo.c: function comment blocks are now in same style as rest
                   16222:          of code
                   16223:
                   16224: 1995-08-31 22:44  millert
                   16225:
                   16226:        * testsudoers.c: added support for command line args in
                   16227:          /etc/sudoers
                   16228:
                   16229: 1995-08-31 22:43  millert
                   16230:
                   16231:        * sudoers.man: updated to have command args in the sudoers file
                   16232:
                   16233: 1995-08-31 22:42  millert
                   16234:
                   16235:        * sudo.man: added -s and -- flags added SHELL to ENVIRONMENT
                   16236:          VARIABLES section
                   16237:
                   16238: 1995-08-19 19:32  millert
                   16239:
                   16240:        * parse.yacc: PATH renamed to COMMAND
                   16241:
                   16242: 1995-08-19 19:31  millert
                   16243:
                   16244:        * parse.lex: it is now a parse error for directories to have args
                   16245:          attached to them
                   16246:
                   16247: 1995-08-19 19:30  millert
                   16248:
                   16249:        * logging.c: now say command args if telling user to buzz off
                   16250:
                   16251: 1995-08-19 19:30  millert
                   16252:
                   16253:        * sudo.c: -s no longer indicates end of args sped up loading on
                   16254:          cmnd_args in load_cmnd()
                   16255:
                   16256: 1995-08-19 19:29  millert
                   16257:
                   16258:        * parse.c: removed an unreachable statement
                   16259:
                   16260: 1995-08-19 17:53  millert
                   16261:
                   16262:        * parse.lex: made more efficient by pulling out the terminators
                   16263:          when in GOTCMND state and making them their own rule
                   16264:
                   16265: 1995-08-14 00:07  millert
                   16266:
                   16267:        * sudo.h: removed MAXLOGLEN since it is no longer used
                   16268:
                   16269: 1995-08-14 00:07  millert
                   16270:
                   16271:        * parse.lex: now allows command args
                   16272:
                   16273: 1995-08-14 00:06  millert
                   16274:
                   16275:        * parse.c: now groks command arguments
                   16276:
                   16277: 1995-08-13 23:39  millert
                   16278:
                   16279:        * logging.c: now sets tty correctly when piped input
                   16280:
                   16281: 1995-08-13 23:35  millert
                   16282:
                   16283:        * sudo.c: fixed loading of cmnd_args (was including command name
                   16284:          too)
                   16285:
                   16286: 1995-08-13 23:34  millert
                   16287:
                   16288:        * logging.c: fixed a core dump due to incorrect if construct
                   16289:
                   16290: 1995-08-13 00:33  millert
                   16291:
                   16292:        * configure.in: only add -lsun is irix < 5 don't look for -lnsl or
                   16293:          -lsocket if irix
                   16294:
                   16295: 1995-08-13 00:33  millert
                   16296:
                   16297:        * aclocal.m4: fixed check for ISC
                   16298:
                   16299: 1995-08-13 00:32  millert
                   16300:
                   16301:        * sudo.c: now sets cmnd_args used by log_error() and that will be
                   16302:          used by the parse to check against command args
                   16303:
                   16304: 1995-08-13 00:32  millert
                   16305:
                   16306:        * sudo.h: added cmnd_args
                   16307:
                   16308: 1995-08-13 00:31  millert
                   16309:
                   16310:        * logging.c: now dynamically allocate logline since we can guess at
                   16311:          its size
                   16312:
                   16313: 1995-08-05 13:52  millert
                   16314:
                   16315:        * logging.c: cleaned up a bunch of unnecesary #ifdef's eliminated a
                   16316:          buffer remove "register" since the compiler knows more than I do
                   16317:          now do a "basename" of the tty
                   16318:
                   16319: 1995-07-31 18:20  millert
                   16320:
                   16321:        * configure.in: ++version
                   16322:
                   16323: 1995-07-30 22:37  millert
                   16324:
                   16325:        * sudo.h: added shell extern changed MODE_* to be bit masks to
                   16326:          allow for several options together
                   16327:
                   16328: 1995-07-30 22:36  millert
                   16329:
                   16330:        * sudo.c: added -s (shell) option made MODE_* masks so we can do
                   16331:          bitwise & and | to see if multiple flags are set.
                   16332:
                   16333: 1995-07-30 22:01  millert
                   16334:
                   16335:        * check.c: added securid support
                   16336:
                   16337: 1995-07-30 14:38  millert
                   16338:
                   16339:        * logging.c: removed a bunch of unnecesary strncpy()'s and replaced
                   16340:          with strcat()
                   16341:
                   16342: 1995-07-29 17:17  millert
                   16343:
                   16344:        * Makefile.in, version.h: ++version
                   16345:
                   16346: 1995-07-27 06:52  millert
                   16347:
                   16348:        * parse.yacc: fixed free() of an uninitialized pointer (yuck)
                   16349:
                   16350: 1995-07-26 22:00  millert
                   16351:
                   16352:        * testsudoers.c: added netgr_matches
                   16353:
                   16354: 1995-07-26 21:29  millert
                   16355:
                   16356:        * parse.c: cleaned up netgr_matches
                   16357:
                   16358: 1995-07-26 00:26  millert
                   16359:
                   16360:        * RUNSON: updated for 1.3.4
                   16361:
                   16362: 1995-07-24 21:51  millert
                   16363:
                   16364:        * Makefile.in: now installs sudoers.man -- really should clean this
                   16365:          up though.
                   16366:
                   16367: 1995-07-24 21:18  millert
                   16368:
                   16369:        * Makefile.in: added sudoers.cat and sudoers.man
                   16370:
                   16371: 1995-07-24 21:15  millert
                   16372:
                   16373:        * sudo.man: pulled out stuff on the sudoers file format into a
                   16374:          separate man page
                   16375:
                   16376: 1995-07-24 21:14  millert
                   16377:
                   16378:        * sudoers.man: Initial revision
                   16379:
                   16380: 1995-07-24 21:04  millert
                   16381:
                   16382:        * HISTORY: fixed up my email address
                   16383:
                   16384: 1995-07-24 20:03  millert
                   16385:
                   16386:        * configure.in: added checks for innetgr and getdomainname
                   16387:
                   16388: 1995-07-24 20:02  millert
                   16389:
                   16390:        * visudo.c: added dummy netgr_matches function
                   16391:
                   16392: 1995-07-24 20:01  millert
                   16393:
                   16394:        * parse.c: added  netgr_matches
                   16395:
                   16396: 1995-07-24 20:01  millert
                   16397:
                   16398:        * parse.lex, parse.yacc: added NETGROUP support
                   16399:
                   16400: 1995-07-24 20:01  millert
                   16401:
                   16402:        * config.h.in: added HAVE_INNETGR & HAVE_GETDOMAINNAME
                   16403:
                   16404: 1995-07-24 18:07  millert
                   16405:
                   16406:        * sudo.c: rewrote clean_env() that has rm_env() builtin
                   16407:
                   16408: 1995-07-23 19:58  millert
                   16409:
                   16410:        * check.c: now cast uid to long in sprintf
                   16411:
                   16412: 1995-07-23 19:58  millert
                   16413:
                   16414:        * OPTIONS: added _INSULTS suffix to HAL & GOONS end
                   16415:
                   16416: 1995-07-23 19:57  millert
                   16417:
                   16418:        * options.h: added _INSULTS suffix to HAL & GOONS
                   16419:
                   16420: 1995-07-23 19:35  millert
                   16421:
                   16422:        * ins_2001.h, ins_classic.h, ins_goons.h, insults.h: converted to
                   16423:          new scheme of insult "unions" end
                   16424:
                   16425: 1995-07-23 17:48  millert
                   16426:
                   16427:        * sudo.c: now uses MAX_UID_T_LEN
                   16428:
                   16429: 1995-07-23 17:48  millert
                   16430:
                   16431:        * configure.in: added SUDO_UID_T_LEN !l
                   16432:
                   16433: 1995-07-23 17:48  millert
                   16434:
                   16435:        * config.h.in: added MAX_UID_T_LEN
                   16436:
                   16437: 1995-07-23 17:47  millert
                   16438:
                   16439:        * check.c: now use MAX_UID_T_LEN
                   16440:
                   16441: 1995-07-23 17:47  millert
                   16442:
                   16443:        * aclocal.m4: added check for max len of uid_t fixed sco vs. isc
                   16444:          check
                   16445:
                   16446: 1995-07-19 19:05  millert
                   16447:
                   16448:        * configure.in: corrected version
                   16449:
                   16450: 1995-07-19 17:29  millert
                   16451:
                   16452:        * configure.in: added sco support
                   16453:
                   16454: 1995-07-19 17:29  millert
                   16455:
                   16456:        * aclocal.m4: hack to check for sco
                   16457:
                   16458: 1995-07-18 21:27  millert
                   16459:
                   16460:        * interfaces.c: removed  #include <net/route.h> since it was hosing
                   16461:          some OS's
                   16462:
                   16463: 1995-07-18 13:35  millert
                   16464:
                   16465:        * find_path.c: fixed prreadlink() prototype
                   16466:
                   16467: 1995-07-17 23:54  millert
                   16468:
                   16469:        * check.c: added parens in #if's
                   16470:
                   16471: 1995-07-17 23:53  millert
                   16472:
                   16473:        * configure.in: added SPW_ prefix
                   16474:
                   16475: 1995-07-17 23:20  millert
                   16476:
                   16477:        * sudo.h: moved SPW_* to config.h.in
                   16478:
                   16479: 1995-07-17 23:19  millert
                   16480:
                   16481:        * sudo.c: added a set of parens
                   16482:
                   16483: 1995-07-17 23:19  millert
                   16484:
                   16485:        * config.h.in: added SPW_*
                   16486:
                   16487: 1995-07-17 22:50  millert
                   16488:
                   16489:        * sudo.h: added SPW_* reordered error codes
                   16490:
                   16491: 1995-07-17 22:49  millert
                   16492:
                   16493:        * check.c: moved SPW_* to sudo.h
                   16494:
                   16495: 1995-07-17 14:29  millert
                   16496:
                   16497:        * logging.c: GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
                   16498:
                   16499: 1995-07-17 14:29  millert
                   16500:
                   16501:        * configure.in: AUTH -> SECUREWARE
                   16502:
                   16503: 1995-07-17 14:29  millert
                   16504:
                   16505:        * check.c, sudo.c: SPW_AUTH -> SPW_SECUREWARE
                   16506:
                   16507: 1995-07-17 00:22  millert
                   16508:
                   16509:        * check.c: now uses SHADOW_TYPE to make shadow pw support more
                   16510:          readable and modular.  It's a start...
                   16511:
                   16512: 1995-07-17 00:21  millert
                   16513:
                   16514:        * configure.in: added autodetection of shadow passwords
                   16515:
                   16516: 1995-07-17 00:20  millert
                   16517:
                   16518:        * sudo.c: now uses SHADOW_TYPE define
                   16519:
                   16520: 1995-07-17 00:19  millert
                   16521:
                   16522:        * config.h.in: added SHADOW_TYPE which replaces SUNOS4 & __svr4__
                   16523:          defines
                   16524:
                   16525: 1995-07-17 00:19  millert
                   16526:
                   16527:        * aclocal.m4: added SUDO_CHECK_SHADOW
                   16528:
                   16529: 1995-07-12 17:09  millert
                   16530:
                   16531:        * configure.in: define SVR4 for ISC define BROKEN_SYSLOG for hpux
                   16532:          took out test for memmove() since we dno longer use it...
                   16533:
                   16534: 1995-07-12 17:08  millert
                   16535:
                   16536:        * CHANGES: updated
                   16537:
                   16538: 1995-07-12 17:05  millert
                   16539:
                   16540:        * logging.c: added BROKEN_SYSLOG support
                   16541:
                   16542: 1995-07-12 17:05  millert
                   16543:
                   16544:        * config.h.in: added BROKEN_SYSLOG
                   16545:
                   16546: 1995-07-12 17:04  millert
                   16547:
                   16548:        * check.c: now only bitch it timestamp > time_now + 2 * timeout to
                   16549:          allow for a machine udpating its time from a server
                   16550:
                   16551: 1995-07-12 17:04  millert
                   16552:
                   16553:        * sudo.man: added 2 security notes updated Nieusma's email addr
                   16554:
                   16555: 1995-07-12 14:18  millert
                   16556:
                   16557:        * lsearch.c: changed a memmove() to memcpy() since we don't have to
                   16558:          worry about overlapping segments.
                   16559:
                   16560: 1995-07-11 15:41  millert
                   16561:
                   16562:        * interfaces.c: cleanup up the loop when interfaces are groped in
                   16563:          so that it is readable
                   16564:
                   16565: 1995-07-11 14:52  millert
                   16566:
                   16567:        * Makefile.in, version.h: ++version
                   16568:
                   16569: 1995-07-09 18:17  millert
                   16570:
                   16571:        * CHANGES: annotated 124-126
                   16572:
                   16573: 1995-07-07 16:06  millert
                   16574:
                   16575:        * check.c: fixed permissions check on /tmp/.odus
                   16576:
                   16577: 1995-07-06 19:35  millert
                   16578:
                   16579:        * check.c: fixed some comments
                   16580:
                   16581: 1995-07-06 14:49  millert
                   16582:
                   16583:        * check.c: now checks owner & mode of timedir also checks for bogus
                   16584:          dates on timestamp file
                   16585:
                   16586: 1995-07-06 14:49  millert
                   16587:
                   16588:        * OPTIONS: updated TIMEOUT info
                   16589:
                   16590: 1995-07-06 14:48  millert
                   16591:
                   16592:        * logging.c, sudo.h: added BAD_STAMPDIR and BAD_STAMPFILE
                   16593:
                   16594: 1995-07-06 14:47  millert
                   16595:
                   16596:        * compat.h: added definition of S_IRWXU
                   16597:
                   16598: 1995-07-06 14:47  millert
                   16599:
                   16600:        * CHANGES: updated
                   16601:
                   16602: 1995-07-03 14:16  millert
                   16603:
                   16604:        * interfaces.c: added #ifdef to make it compile on strange arches
                   16605:
                   16606: 1995-07-02 18:13  millert
                   16607:
                   16608:        * aclocal.m4: fixed check for fulkl void impl.
                   16609:
                   16610: 1995-07-02 09:56  millert
                   16611:
                   16612:        * check.c: added mssing "static"
                   16613:
                   16614: 1995-07-01 20:41  millert
                   16615:
                   16616:        * insults.h: replaced #elif with #else #if constructs for ancient C
                   16617:          compilers
                   16618:
                   16619: 1995-07-01 20:18  millert
                   16620:
                   16621:        * INSTALL: updated irix c2 & kerb5 info
                   16622:
                   16623: 1995-07-01 20:15  millert
                   16624:
                   16625:        * configure.in: added shadow pw support for irix
                   16626:
                   16627: 1995-07-01 16:07  millert
                   16628:
                   16629:        * CHANGES: last changes for sudo 1.3.3
                   16630:
                   16631: 1995-07-01 16:07  millert
                   16632:
                   16633:        * TODO, BUGS: updated
                   16634:
                   16635: 1995-07-01 16:04  millert
                   16636:
                   16637:        * configure.in: now calls SUDO_SOCK_SA_LEN
                   16638:
                   16639: 1995-07-01 16:04  millert
                   16640:
                   16641:        * config.h.in: added HAVE_SA_LEN
                   16642:
                   16643: 1995-07-01 16:04  millert
                   16644:
                   16645:        * aclocal.m4: added SUDO_SOCK_SA_LEN
                   16646:
                   16647: 1995-07-01 15:49  millert
                   16648:
                   16649:        * interfaces.c: now works with ip implementations that use sa_len
                   16650:          in sockaddr
                   16651:
                   16652: 1995-07-01 14:26  millert
                   16653:
                   16654:        * INSTALL: added note about buggy AIX compiler
                   16655:
                   16656: 1995-07-01 14:24  millert
                   16657:
                   16658:        * interfaces.c: now include sys/time.h for AIX
                   16659:
                   16660: 1995-06-27 22:35  millert
                   16661:
                   16662:        * Makefile.in: getcwd -> getwd
                   16663:
                   16664: 1995-06-27 21:28  millert
                   16665:
                   16666:        * interfaces.c: now works for ISC and others.  yay.
                   16667:
                   16668: 1995-06-26 14:24  millert
                   16669:
                   16670:        * Makefile.in, version.h: version++
                   16671:
                   16672: 1995-06-22 20:26  millert
                   16673:
                   16674:        * aclocal.m4: fixed test for full void impl
                   16675:
                   16676: 1995-06-22 20:25  millert
                   16677:
                   16678:        * sudo.c: now check to see that st_dev is non-zero before assuming
                   16679:          that we are being spoofed
                   16680:
                   16681: 1995-06-20 16:56  millert
                   16682:
                   16683:        * aclocal.m4, configure.in: SUDO_FUNC_UTIME_NULL ->
                   16684:          AC_FUNC_UTIME_NULL
                   16685:
                   16686: 1995-06-19 16:32  millert
                   16687:
                   16688:        * aclocal.m4: fixed include file order for SUDO_FUNC_UTIME_POSIX
                   16689:
                   16690: 1995-06-19 16:10  millert
                   16691:
                   16692:        * logging.c: added cast for ttyname()
                   16693:
                   16694: 1995-06-19 15:23  millert
                   16695:
                   16696:        * configure.in: fixed typo
                   16697:
                   16698: 1995-06-19 15:19  millert
                   16699:
                   16700:        * check.c: now deal correctly with all known variation of utime()
                   16701:          -- yippe
                   16702:
                   16703: 1995-06-19 15:19  millert
                   16704:
                   16705:        * configure.in: added SUDO_FUNC_UTIME_POSIX
                   16706:
                   16707: 1995-06-19 15:19  millert
                   16708:
                   16709:        * aclocal.m4: added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
                   16710:
                   16711: 1995-06-19 15:14  millert
                   16712:
                   16713:        * config.h.in: added HAVE_UTIME_POSIX
                   16714:
                   16715: 1995-06-19 13:38  millert
                   16716:
                   16717:        * check.c: fixed a typo
                   16718:
                   16719: 1995-06-19 13:29  millert
                   16720:
                   16721:        * check.c: no longer assume !HAVE_UTIME_NULL means old BSD utime()
                   16722:
                   16723: 1995-06-19 13:20  millert
                   16724:
                   16725:        * check.c: fixed fascist C compiler warning
                   16726:
                   16727: 1995-06-18 23:14  millert
                   16728:
                   16729:        * interfaces.c: now set strioctl.ic_timout in STRSET() now
                   16730:          initialize num_interfaces to 0 (just to be anal)
                   16731:
                   16732: 1995-06-18 18:06  millert
                   16733:
                   16734:        * sudo.h: increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
                   16735:
                   16736: 1995-06-18 18:05  millert
                   16737:
                   16738:        * logging.c: added tty logging
                   16739:
                   16740: 1995-06-18 16:04  millert
                   16741:
                   16742:        * interfaces.c: reworked the ISC code
                   16743:
                   16744: 1995-06-18 15:27  millert
                   16745:
                   16746:        * Makefile.in, version.h: updated version
                   16747:
                   16748: 1995-06-18 15:24  millert
                   16749:
                   16750:        * check.c: now expect old-style utime(3) if utime() can't take NULL
                   16751:          as an arg
                   16752:
                   16753: 1995-06-18 15:08  millert
                   16754:
                   16755:        * configure.in: added check for utime.h
                   16756:
                   16757: 1995-06-18 15:08  millert
                   16758:
                   16759:        * config.h.in: added HAVE_UTIME_H
                   16760:
                   16761: 1995-06-18 14:48  millert
                   16762:
                   16763:        * Makefile.in: added CPPFLAGS STATIC_FLAGS -> LDFLAGS
                   16764:
                   16765: 1995-06-18 13:58  millert
                   16766:
                   16767:        * configure.in: now search for kerb libs and includes
                   16768:
                   16769: 1995-06-18 13:03  millert
                   16770:
                   16771:        * check.c: added support for utime(2)'s that can't take a NULL
                   16772:          parameter
                   16773:
                   16774: 1995-06-18 13:03  millert
                   16775:
                   16776:        * utime.c: moved HAVE_UTIME_NULL stuff to update_timestamp() where
                   16777:          t belongs
                   16778:
                   16779: 1995-06-17 20:46  millert
                   16780:
                   16781:        * configure.in: added utime(s) stuff
                   16782:
                   16783: 1995-06-17 20:46  millert
                   16784:
                   16785:        * check.c: now use utime()
                   16786:
                   16787: 1995-06-17 20:46  millert
                   16788:
                   16789:        * config.h.in: added HAVE_UTIME and HAVE_UTIME_NULL
                   16790:
                   16791: 1995-06-17 19:12  millert
                   16792:
                   16793:        * utime.c: now use HAVE_UTIME_NULL
                   16794:
                   16795: 1995-06-17 19:02  millert
                   16796:
                   16797:        * utime.c, emul/utime.h: Initial revision
                   16798:
                   16799: 1995-06-17 18:24  millert
                   16800:
                   16801:        * check.c: need to setuid(0) to make kerb4 stuff work.
                   16802:
                   16803: 1995-06-17 18:14  millert
                   16804:
                   16805:        * tgetpass.c: no more special case for kerberos
                   16806:
                   16807: 1995-06-17 18:13  millert
                   16808:
                   16809:        * config.h.in: took out setreuid and setresuid stuff added kerb5
                   16810:          stuff (use kerb4 emulation)
                   16811:
                   16812: 1995-06-17 18:13  millert
                   16813:
                   16814:        * compat.h: no longer need setreuid() emulation now set _PASSWD_LEN
                   16815:          to 128 if kerberos
                   16816:
                   16817: 1995-06-17 18:12  millert
                   16818:
                   16819:        * check.c: now use private ticket file for kerberos support to
                   16820:          avoid trouncing on system one
                   16821:
                   16822: 1995-06-15 00:48  millert
                   16823:
                   16824:        * sudo.h: added SPOOF_ATTEMPT & cmnd_st
                   16825:
                   16826: 1995-06-15 00:47  millert
                   16827:
                   16828:        * sudo.c: added anti-spoofing support
                   16829:
                   16830: 1995-06-15 00:47  millert
                   16831:
                   16832:        * parse.c: now use global cmnd_st
                   16833:
                   16834: 1995-06-15 00:47  millert
                   16835:
                   16836:        * logging.c: added SPOOF_ATTEMPT suypport
                   16837:
                   16838: 1995-06-14 23:41  millert
                   16839:
                   16840:        * testsudoers.c, visudo.c: added void casts where appropriate
                   16841:
                   16842: 1995-06-14 23:40  millert
                   16843:
                   16844:        * parse.yacc: fixed up spacing and added void casts where
                   16845:          appropriate
                   16846:
                   16847: 1995-06-14 23:27  millert
                   16848:
                   16849:        * sudo.c: fixed problem with "-p prompt" but no args
                   16850:
                   16851: 1995-06-14 04:43  millert
                   16852:
                   16853:        * sudo.man: added BUGS and annotated -l description
                   16854:
                   16855: 1995-06-14 04:43  millert
                   16856:
                   16857:        * sudo.h: validate() now takes a flag
                   16858:
                   16859: 1995-06-14 04:43  millert
                   16860:
                   16861:        * sudo.c: validate() now takes a flag added -l
                   16862:
                   16863: 1995-06-14 04:42  millert
                   16864:
                   16865:        * parse.yacc: added support for -l
                   16866:
                   16867: 1995-06-14 04:41  millert
                   16868:
                   16869:        * parse.c: validate() now takes a flag that says whether or not to
                   16870:          check the command
                   16871:
                   16872: 1995-06-07 21:36  millert
                   16873:
                   16874:        * logging.c: now deals with Argv == 1
                   16875:
                   16876: 1995-06-07 21:34  millert
                   16877:
                   16878:        * sudo.man: added -p option
                   16879:
                   16880: 1995-06-07 21:27  millert
                   16881:
                   16882:        * sudo.c: added prompt support reworked parse_args()
                   16883:
                   16884: 1995-06-07 20:49  millert
                   16885:
                   16886:        * sudo.h: added prompt
                   16887:
                   16888: 1995-06-07 20:49  millert
                   16889:
                   16890:        * options.h: added PASSPROMPT
                   16891:
                   16892: 1995-06-07 20:48  millert
                   16893:
                   16894:        * check.c: now use BUFSIZ as length of kerb password added kpass so
                   16895:          pass is always a char * now use prompt global when asking for a
                   16896:          password
                   16897:
                   16898: 1995-06-07 20:47  millert
                   16899:
                   16900:        * tgetpass.c: now use BUFSIZ as _PASSWD_LEN if using kerberos
                   16901:
                   16902: 1995-06-07 20:43  millert
                   16903:
                   16904:        * OPTIONS: added PASSPROMPT
                   16905:
                   16906: 1995-06-07 01:44  millert
                   16907:
                   16908:        * configure.in: only look for -lufc or -lcrypt if crypt() not in
                   16909:          libc
                   16910:
                   16911: 1995-06-07 01:43  millert
                   16912:
                   16913:        * check.c: don't exit on kerb error, just warn if k_errno ==
                   16914:          KDC_PR_UNKNOWN (unknown user) silently fail
                   16915:
                   16916: 1995-06-06 22:44  millert
                   16917:
                   16918:        * INSTALL: added kerb4 note
                   16919:
                   16920: 1995-06-06 22:43  millert
                   16921:
                   16922:        * tgetpass.c: HAVE_KERBEROS -> HAVE_KERB4
                   16923:
                   16924: 1995-06-06 22:41  millert
                   16925:
                   16926:        * check.c: removed debugging printf
                   16927:
                   16928: 1995-06-06 22:33  millert
                   16929:
                   16930:        * configure.in: KERBEROS -> KERB4 added checks for setreuid &
                   16931:          setresuid
                   16932:
                   16933: 1995-06-06 22:32  millert
                   16934:
                   16935:        * config.h.in: HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and
                   16936:          HAVE_SETRESUID
                   16937:
                   16938: 1995-06-06 22:32  millert
                   16939:
                   16940:        * compat.h: added deif of UID_NO_CHANGE & GID_NO_CHANGE added
                   16941:          setreuid emulation with setresuid if applic
                   16942:
                   16943: 1995-06-06 22:31  millert
                   16944:
                   16945:        * check.c: HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid
                   16946:          chown() hack if no setreuid() or a broken one
                   16947:
                   16948: 1995-06-05 23:44  millert
                   16949:
                   16950:        * config.h.in: added HAVE_KERBEROS
                   16951:
                   16952: 1995-06-05 23:43  millert
                   16953:
                   16954:        * tgetpass.c: added KERBEROS support (long passwords)
                   16955:
                   16956: 1995-06-05 23:42  millert
                   16957:
                   16958:        * check.c, configure.in: added kerberos support
                   16959:
                   16960: 1995-06-03 19:36  millert
                   16961:
                   16962:        * sudo.h: added MODE_BACKGROUND
                   16963:
                   16964: 1995-06-03 19:36  millert
                   16965:
                   16966:        * sudo.man: escaped dashes added -b option
                   16967:
                   16968: 1995-06-03 19:34  millert
                   16969:
                   16970:        * sudo.c: added -b option
                   16971:
                   16972: 1995-06-03 18:52  millert
                   16973:
                   16974:        * check.c: added crypt() for osf/1 3.x enhanced secuiry
                   16975:
                   16976: 1995-06-03 18:18  millert
                   16977:
                   16978:        * configure.in: now check for -lcrypt
                   16979:
                   16980: 1995-06-03 18:00  millert
                   16981:
                   16982:        * interfaces.c: added ENXIO like EADDRNOTAVAIL
                   16983:
                   16984: 1995-05-07 23:14  millert
                   16985:
                   16986:        * configure.in: now emulate getwd(), not getcwd()
                   16987:
                   16988: 1995-05-07 23:13  millert
                   16989:
                   16990:        * sudo.c: getcwd() -> getwd()
                   16991:
                   16992: 1995-05-07 23:12  millert
                   16993:
                   16994:        * getwd.c: getcwd -> getwd
                   16995:
                   16996: 1995-05-02 01:34  millert
                   16997:
                   16998:        * ins_2001.h, ins_classic.h, ins_goons.h: Initial revision
                   16999:
                   17000: 1995-05-02 01:34  millert
                   17001:
                   17002:        * insults.h: broke out insults into separate include files
                   17003:
                   17004: 1995-05-02 01:32  millert
                   17005:
                   17006:        * options.h, OPTIONS: added GOONS
                   17007:
                   17008: 1995-05-02 01:32  millert
                   17009:
                   17010:        * Makefile.in: added ins_2001.h ins_classic.h ins_goons.h
                   17011:
                   17012: 1995-05-01 23:34  millert
                   17013:
                   17014:        * Makefile.in, version.h: ++version
                   17015:
                   17016: 1995-05-01 23:34  millert
                   17017:
                   17018:        * visudo.c: moved signal handler setup to setup_signals()
                   17019:
                   17020: 1995-05-01 23:33  millert
                   17021:
                   17022:        * sudo.h: added load_interfaces()
                   17023:
                   17024: 1995-05-01 23:33  millert
                   17025:
                   17026:        * sudo.c: moved load_interfaces to interfaces.c
                   17027:
                   17028: 1995-05-01 23:33  millert
                   17029:
                   17030:        * parse.yacc: added clearaliases
                   17031:
                   17032: 1995-05-01 23:33  millert
                   17033:
                   17034:        * OPTIONS, options.h: added FAST_MATCH
                   17035:
                   17036: 1995-05-01 23:32  millert
                   17037:
                   17038:        * parse.lex: now uses clearaliases variable
                   17039:
                   17040: 1995-05-01 23:31  millert
                   17041:
                   17042:        * interfaces.c: Initial revision
                   17043:
                   17044: 1995-05-01 23:31  millert
                   17045:
                   17046:        * Makefile.in: added interfaces.[co]
                   17047:
                   17048: 1995-05-01 23:30  millert
                   17049:
                   17050:        * testsudoers.c: now uses ip addrs and netmasks via
                   17051:          load_interfaces()
                   17052:
                   17053: 1995-05-01 22:47  millert
                   17054:
                   17055:        * sudo.c: now remove IFS instead of setting to "sane" value
                   17056:
                   17057: 1995-05-01 16:30  millert
                   17058:
                   17059:        * parse.c: added FAST_MATCH
                   17060:
                   17061: 1995-04-29 20:19  millert
                   17062:
                   17063:        * Makefile.in: sudo_goodpath.c-> goodpath.c
                   17064:
                   17065: 1995-04-29 20:15  millert
                   17066:
                   17067:        * sudo.c: added Andy's new ISC changes
                   17068:
                   17069: 1995-04-14 14:06  millert
                   17070:
                   17071:        * OPTIONS: added a sentence to SECURE_PATH info
                   17072:
                   17073: 1995-04-14 13:57  millert
                   17074:
                   17075:        * BUGS: added one
                   17076:
                   17077: 1995-04-14 13:54  millert
                   17078:
                   17079:        * RUNSON, CHANGES: updated
                   17080:
                   17081: 1995-04-13 17:04  millert
                   17082:
                   17083:        * RUNSON: updated for beta3
                   17084:
                   17085: 1995-04-13 14:32  millert
                   17086:
                   17087:        * Makefile.in, version.h: ++version
                   17088:
                   17089: 1995-04-13 13:56  millert
                   17090:
                   17091:        * aclocal.m4: sendmail is now looked for in /usr/ucblib
                   17092:
                   17093: 1995-04-13 13:54  millert
                   17094:
                   17095:        * sudo.c: fixed indentation
                   17096:
                   17097: 1995-04-13 13:35  millert
                   17098:
                   17099:        * aclocal.m4: fixed a typo
                   17100:
                   17101: 1995-04-13 13:19  millert
                   17102:
                   17103:        * sudo.c: updated ISC mods
                   17104:
                   17105: 1995-04-13 13:19  millert
                   17106:
                   17107:        * configure.in: added unixware case
                   17108:
                   17109: 1995-04-13 13:19  millert
                   17110:
                   17111:        * check.c: user_is_exempt is no longer hidden
                   17112:
                   17113: 1995-04-13 13:19  millert
                   17114:
                   17115:        * RUNSON: updated
                   17116:
                   17117: 1995-04-13 13:19  millert
                   17118:
                   17119:        * aclocal.m4: isc and riscos changes
                   17120:
                   17121: 1995-04-13 13:18  millert
                   17122:
                   17123:        * OPTIONS: added NOTE about new interaction of EXEMPTGROUP and
                   17124:          SECURE_PATH
                   17125:
                   17126: 1995-04-13 13:18  millert
                   17127:
                   17128:        * Makefile.in: fixed a typo and added testsudoers stuff
                   17129:
                   17130: 1995-04-13 12:34  millert
                   17131:
                   17132:        * testsudoers.c: Initial revision
                   17133:
                   17134: 1995-04-12 19:31  millert
                   17135:
                   17136:        * parse.yacc: applied fixed patch from Chris
                   17137:
                   17138: 1995-04-11 14:30  millert
                   17139:
                   17140:        * Makefile.in: fixed a typo
                   17141:
                   17142: 1995-04-11 14:14  millert
                   17143:
                   17144:        * parse.yacc: added a set of braces for bison
                   17145:
                   17146: 1995-04-11 14:01  millert
                   17147:
                   17148:        * parse.yacc: merged in Chris' changes to dekludge the parser.
                   17149:
                   17150: 1995-04-11 00:38  millert
                   17151:
                   17152:        * logging.c: send_mail() was calling find_path() which is wrong
                   17153:          since find_path() stores cmnd in a static var.  Anyhow, it
                   17154:          doesn't make much sense since MAILER should always be fully
                   17155:          qualified
                   17156:
                   17157: 1995-04-10 19:51  millert
                   17158:
                   17159:        * sample.sudoers: added User_Alias stuff
                   17160:
                   17161: 1995-04-10 19:50  millert
                   17162:
                   17163:        * aclocal.m4: SUDO_NEXT now looks for
                   17164:          /usr/lib/NextStep/software_version
                   17165:
                   17166: 1995-04-10 19:50  millert
                   17167:
                   17168:        * RUNSON: added DEC UNIX 3.0 w/ gcc
                   17169:
                   17170: 1995-04-10 19:49  millert
                   17171:
                   17172:        * visudo.c: Exit was being used in places where exit should be used
                   17173:
                   17174: 1995-04-10 19:44  millert
                   17175:
                   17176:        * sudoers: added "User alias specification"
                   17177:
                   17178: 1995-04-10 18:04  millert
                   17179:
                   17180:        * parse.yacc: fixed probs caused by making nslots and naliases a
                   17181:          size_t
                   17182:
                   17183: 1995-04-10 15:09  millert
                   17184:
                   17185:        * RUNSON: added KSR, upped rev to 1.3.1b2
                   17186:
                   17187: 1995-04-10 15:07  millert
                   17188:
                   17189:        * logging.c, parse.yacc: 1024 -> BUFSIZ
                   17190:
                   17191: 1995-04-10 15:05  millert
                   17192:
                   17193:        * parse.yacc: void * -> VOID * naliases and nslots are now size_t
                   17194:          to appease lsearch on 64-bit machines
                   17195:
                   17196: 1995-04-09 19:30  millert
                   17197:
                   17198:        * TODO: did a bunch of things and added a bunch :-)
                   17199:
                   17200: 1995-04-09 19:30  millert
                   17201:
                   17202:        * PORTING: updated
                   17203:
                   17204: 1995-04-09 19:24  millert
                   17205:
                   17206:        * visudo.man: closer to BSD manpage style
                   17207:
                   17208: 1995-04-09 19:15  millert
                   17209:
                   17210:        * sudo.man: closer to standard BSD man format
                   17211:
                   17212: 1995-04-09 18:58  millert
                   17213:
                   17214:        * compat.h, config.h.in, insults.h, options.h, pathnames.h.in,
                   17215:          sudo.h, version.h, emul/search.h: added RCS id
                   17216:
                   17217: 1995-04-09 17:35  millert
                   17218:
                   17219:        * sudo.h: removed crufty #defines that are no longer used
                   17220:
                   17221: 1995-04-09 17:13  millert
                   17222:
                   17223:        * BUGS: fixed a bug
                   17224:
                   17225: 1995-04-09 17:12  millert
                   17226:
                   17227:        * sudo.man: updated based on sudo changes
                   17228:
                   17229: 1995-04-09 17:11  millert
                   17230:
                   17231:        * parse.yacc: now allow ALL keyword in User_Aliases now allow ALL
                   17232:          keyword as well as a NAME or ALIAS
                   17233:
                   17234: 1995-04-09 17:11  millert
                   17235:
                   17236:        * CHANGES: updated
                   17237:
                   17238: 1995-04-09 17:04  millert
                   17239:
                   17240:        * sudo.c: now sets SUDO_COMMAND and SUDO_GID envariables.
                   17241:
                   17242: 1995-04-09 15:24  millert
                   17243:
                   17244:        * aclocal.m4: fixed bug with full void impl check
                   17245:
                   17246: 1995-04-08 23:11  millert
                   17247:
                   17248:        * parse.yacc: fixed User_Alias supoprt
                   17249:
                   17250: 1995-04-08 22:27  millert
                   17251:
                   17252:        * parse.yacc: added stubs for User_Alias support
                   17253:
                   17254: 1995-04-08 22:27  millert
                   17255:
                   17256:        * sudo.c: now sets removes # bogus interfaces from num_interfaces
                   17257:
                   17258: 1995-04-08 22:26  millert
                   17259:
                   17260:        * parse.lex: added User_Alias support
                   17261:
                   17262: 1995-04-07 21:10  millert
                   17263:
                   17264:        * Makefile.in: removed extraneous TODO
                   17265:
                   17266: 1995-04-07 19:48  millert
                   17267:
                   17268:        * visudo.c: ntwk_matches -> addr_matches
                   17269:
                   17270: 1995-04-07 15:38  millert
                   17271:
                   17272:        * parse.yacc: ntwk_matches -> addr_matches
                   17273:
                   17274: 1995-04-07 15:37  millert
                   17275:
                   17276:        * parse.c: ntwk_matches -> addr_matches now use inet_addr() not
                   17277:          inet_network() (which expects octet boundaries) fixes for OSF
                   17278:          (sizeof(int) != sizeof(long))
                   17279:
                   17280: 1995-04-07 15:08  millert
                   17281:
                   17282:        * sudo.c: took out debugging info
                   17283:
                   17284: 1995-04-06 23:45  millert
                   17285:
                   17286:        * aclocal.m4: OS was being set to unknown before non-uname based
                   17287:          host checks.  This caused no checks to happen since $OS was not
                   17288:          zero-length.
                   17289:
                   17290: 1995-04-06 23:30  millert
                   17291:
                   17292:        * sudo.c: fixed loading of interfaces struct still has debugging
                   17293:          info in though
                   17294:
                   17295: 1995-04-06 22:23  millert
                   17296:
                   17297:        * parse.c: fixed typo
                   17298:
                   17299: 1995-04-06 16:17  millert
                   17300:
                   17301:        * Makefile.in: ++version
                   17302:
                   17303: 1995-04-06 16:16  millert
                   17304:
                   17305:        * version.h: ++
                   17306:
                   17307: 1995-04-06 16:16  millert
                   17308:
                   17309:        * visudo.c: removed extraneous extern decl of "top
                   17310:
                   17311: 1995-04-06 16:14  millert
                   17312:
                   17313:        * visudo.c: now zeros "top"
                   17314:
                   17315: 1995-04-06 16:13  millert
                   17316:
                   17317:        * parse.yacc: removed parser_cleanup (no need for it now)
                   17318:
                   17319: 1995-04-06 16:13  millert
                   17320:
                   17321:        * parse.lex: now calls reset_aliases() directly
                   17322:
                   17323: 1995-04-04 18:21  millert
                   17324:
                   17325:        * OPTIONS: added a sentence to SECURE_PATH description
                   17326:
                   17327: 1995-04-04 18:17  millert
                   17328:
                   17329:        * parse.c: fixed my stupid bug where I used NAMLEN on something I
                   17330:          wanted to just get the name from.  argh.
                   17331:
                   17332: 1995-04-03 16:58  millert
                   17333:
                   17334:        * lsearch.c: fixed argument order of memmove() that i hosed when
                   17335:          converting from bcopy().  arghh.
                   17336:
                   17337: 1995-04-03 15:33  millert
                   17338:
                   17339:        * Makefile.in: finally fixed DISTFILES line
                   17340:
                   17341: 1995-04-03 15:21  millert
                   17342:
                   17343:        * Makefile.in: tabs -> spaces
                   17344:
                   17345: 1995-04-03 15:15  millert
                   17346:
                   17347:        * Makefile.in: added missing files to DISTFILES
                   17348:
                   17349: 1995-04-03 14:50  millert
                   17350:
                   17351:        * Makefile.in: SUPPORTED -> RUNSON
                   17352:
                   17353: 1995-04-01 03:12  millert
                   17354:
                   17355:        * TODO: updated
                   17356:
                   17357: 1995-04-01 01:54  millert
                   17358:
                   17359:        * RUNSON: updated for pl5b1 release
                   17360:
                   17361: 1995-04-01 01:53  millert
                   17362:
                   17363:        * BUGS, TODO: updated
                   17364:
                   17365: 1995-04-01 01:52  millert
                   17366:
                   17367:        * check.c: fixed bug where if you hit return at first sudo prompt
                   17368:          it would still log as a failure
                   17369:
                   17370: 1995-04-01 01:29  millert
                   17371:
                   17372:        * CHANGES: updated
                   17373:
                   17374: 1995-04-01 01:25  millert
                   17375:
                   17376:        * aclocal.m4: better test for bogus void * implementation
                   17377:
                   17378: 1995-03-31 20:33  millert
                   17379:
                   17380:        * logging.c: added PASSWORDS_NOT_CORRECT
                   17381:
                   17382: 1995-03-31 20:32  millert
                   17383:
                   17384:        * check.c: added PASSWORDS_NOT_CORRECT stuff]
                   17385:
                   17386: 1995-03-31 20:30  millert
                   17387:
                   17388:        * sudo.h: added PASSWORDS_NOT_CORRECT
                   17389:
                   17390: 1995-03-31 19:16  millert
                   17391:
                   17392:        * tgetpass.c: moved pathnames.h
                   17393:
                   17394: 1995-03-31 19:16  millert
                   17395:
                   17396:        * sudo.c: removed some unused vars and fixed up uid2str
                   17397:
                   17398: 1995-03-31 19:15  millert
                   17399:
                   17400:        * putenv.c: moved compat.h
                   17401:
                   17402: 1995-03-31 19:14  millert
                   17403:
                   17404:        * getcwd.c, getwd.c: added pathnames.h
                   17405:
                   17406: 1995-03-31 18:18  millert
                   17407:
                   17408:        * parse.yacc: fixed a typo I introduced in the last checkin :-(
                   17409:
                   17410: 1995-03-31 18:11  millert
                   17411:
                   17412:        * parse.lex: can't have #ifdef's where N is defined so just do this
                   17413:          the broken way for AIX
                   17414:
                   17415: 1995-03-31 18:08  millert
                   17416:
                   17417:        * parse.yacc: better hack from Chris (but still a hack)
                   17418:
                   17419: 1995-03-31 18:05  millert
                   17420:
                   17421:        * parse.lex: stupid hack for broken aix lex
                   17422:
                   17423: 1995-03-31 17:47  millert
                   17424:
                   17425:        * tgetpass.c: now includes compat.h 
                   17426:
                   17427: 1995-03-31 17:27  millert
                   17428:
                   17429:        * visudo.c: now includes fcntl.h
                   17430:
                   17431: 1995-03-31 17:27  millert
                   17432:
                   17433:        * compat.h: added FD_SET and FD_ZERO for 4.2BSD
                   17434:
                   17435: 1995-03-31 16:12  millert
                   17436:
                   17437:        * parse.yacc: dirty hack to fix parser bug.  i don't really like
                   17438:          this but it works for now...
                   17439:
                   17440: 1995-03-31 16:12  millert
                   17441:
                   17442:        * sudo.c: uid2str is now static like the prototype says
                   17443:
                   17444: 1995-03-29 23:48  millert
                   17445:
                   17446:        * RUNSON: Initial revision
                   17447:
                   17448: 1995-03-29 23:47  millert
                   17449:
                   17450:        * TODO, CHANGES, SUPPORTED, TROUBLESHOOTING: updated
                   17451:
                   17452: 1995-03-29 23:46  millert
                   17453:
                   17454:        * sudo.c: check_sudoers now returns an error code and sudo calls
                   17455:          inform_user and log_error based on the return value.
                   17456:
                   17457: 1995-03-29 23:45  millert
                   17458:
                   17459:        * logging.c, sudo.h: added entries for new errors
                   17460:
                   17461: 1995-03-29 23:03  millert
                   17462:
                   17463:        * parse.c: now set uid to that of SUDOERS_OWNER while parsing
                   17464:          sudoers file
                   17465:
                   17466: 1995-03-29 22:52  millert
                   17467:
                   17468:        * Makefile.in: took out testsudoers 
                   17469:
                   17470: 1995-03-29 22:36  millert
                   17471:
                   17472:        * sudo.c: now explicately checks that it is setuid root
                   17473:
                   17474: 1995-03-29 22:28  millert
                   17475:
                   17476:        * sudo.c: If a user has no passwd entry sudo would segv (writing to
                   17477:          a garbage pointer).  Now allocate space before writing :-)
                   17478:
                   17479: 1995-03-29 22:06  millert
                   17480:
                   17481:        * configure.in: reordered AC_CHECK_FUNCS
                   17482:
                   17483: 1995-03-29 22:06  millert
                   17484:
                   17485:        * config.h.in: fixed memset macro
                   17486:
                   17487: 1995-03-29 21:47  millert
                   17488:
                   17489:        * logging.c: bzero -> memset when a parse error is logged the line
                   17490:          number of the error is now logged too
                   17491:
                   17492: 1995-03-29 21:46  millert
                   17493:
                   17494:        * tgetpass.c, visudo.c: bzero -> memset
                   17495:
                   17496: 1995-03-29 21:46  millert
                   17497:
                   17498:        * INSTALL: added Sunos to blurb about c2 security
                   17499:
                   17500: 1995-03-29 21:45  millert
                   17501:
                   17502:        * configure.in: added a SUN4 define for C2 security
                   17503:
                   17504: 1995-03-29 21:44  millert
                   17505:
                   17506:        * config.h.in: bcopy -> memmove bzero -> memset
                   17507:
                   17508: 1995-03-29 21:43  millert
                   17509:
                   17510:        * lsearch.c: bcopy -> memmove char * -> VOID *
                   17511:
                   17512: 1995-03-29 21:30  millert
                   17513:
                   17514:        * check.c: added support for sunos with C2 security
                   17515:
                   17516: 1995-03-29 21:12  millert
                   17517:
                   17518:        * OPTIONS, options.h: reordered
                   17519:
                   17520: 1995-03-29 21:12  millert
                   17521:
                   17522:        * pathnames.h.in: _PATH_SUDO_LOGFILE now set based on configure
                   17523:
                   17524: 1995-03-29 21:12  millert
                   17525:
                   17526:        * configure.in: added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
                   17527:
                   17528: 1995-03-29 21:12  millert
                   17529:
                   17530:        * config.h.in: added _SUDO_PATH_LOGFILE
                   17531:
                   17532: 1995-03-29 21:11  millert
                   17533:
                   17534:        * aclocal.m4: added SUDO_LOGFILE to find where to put sudo.log
                   17535:          added SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h
                   17536:          too) added SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
                   17537:
                   17538: 1995-03-29 18:17  millert
                   17539:
                   17540:        * TROUBLESHOOTING: Initial revision
                   17541:
                   17542: 1995-03-29 17:59  millert
                   17543:
                   17544:        * sudo.c: now do set_perms(PERM_ROOT) before the getpwuid() in
                   17545:          load_global() to work around a problem is trusted hpux shadow
                   17546:          passwords. yuck.
                   17547:
                   17548: 1995-03-29 17:41  millert
                   17549:
                   17550:        * parse.yacc: backed out a change in malloc/realloc
                   17551:
                   17552: 1995-03-29 17:38  millert
                   17553:
                   17554:        * parse.yacc: now include stdlib.h
                   17555:
                   17556: 1995-03-29 17:22  millert
                   17557:
                   17558:        * visudo.c: now do an freopen() of the stmp file so that yyin will
                   17559:          always point to the same thing.  This is important for flex since
                   17560:          we are doing a YY_NEWFILE
                   17561:
                   17562: 1995-03-29 17:20  millert
                   17563:
                   17564:        * parse.yacc: replaced yywrap() with parser_cleanup() since
                   17565:          yywrap() needs to be in parse.lex to be able to use YY_NEW_FILE.
                   17566:          sigh.
                   17567:
                   17568: 1995-03-29 17:18  millert
                   17569:
                   17570:        * parse.lex: now have a rule that matches anything that doesn't
                   17571:          match an explicite rule.  well, you know what i mean (. matches
                   17572:          anything not yet matched).  However, this means that there is
                   17573:          input still queued up so we need to do a YY_NEW_FILE; in yywrap.
                   17574:          So, yywrap has moved into parse.lex and it calls parser_cleanup()
                   17575:          which is most of the old yywrap() sigh.
                   17576:
                   17577: 1995-03-29 17:17  millert
                   17578:
                   17579:        * SUPPORTED: no longer used
                   17580:
                   17581: 1995-03-29 16:13  millert
                   17582:
                   17583:        * getcwd.c, getwd.c: moved compat.h to be the last include file
                   17584:
                   17585: 1995-03-29 16:11  millert
                   17586:
                   17587:        * parse.yacc: fixed type of aliascmp() args
                   17588:
                   17589: 1995-03-29 15:58  millert
                   17590:
                   17591:        * find_path.c: NULL -> '\0'
                   17592:
                   17593: 1995-03-29 15:42  millert
                   17594:
                   17595:        * parse.yacc: added casts to lfind and lsearch args for irix
                   17596:
                   17597: 1995-03-29 08:20  millert
                   17598:
                   17599:        * Makefile.in: bsdinstall -> install-sh
                   17600:
                   17601: 1995-03-29 08:20  millert
                   17602:
                   17603:        * INSTALL: added info about make realclean
                   17604:
                   17605: 1995-03-29 08:17  millert
                   17606:
                   17607:        * Makefile.in: updated VERSION added dependencies for visudo.cat
                   17608:
                   17609: 1995-03-29 08:17  millert
                   17610:
                   17611:        * version.h: -> pl5b1
                   17612:
                   17613: 1995-03-29 08:16  millert
                   17614:
                   17615:        * sudo.c: took out -l
                   17616:
                   17617: 1995-03-29 00:03  millert
                   17618:
                   17619:        * Makefile.in: now there is a real visudo.man and visudo.cat
                   17620:
                   17621: 1995-03-28 23:54  millert
                   17622:
                   17623:        * sudo.man: took out visudo stuff
                   17624:
                   17625: 1995-03-28 23:54  millert
                   17626:
                   17627:        * visudo.man: Initial revision
                   17628:
                   17629: 1995-03-28 23:12  millert
                   17630:
                   17631:        * parse.c, parse.lex, parse.yacc: updated copyright
                   17632:
                   17633: 1995-03-28 23:05  millert
                   17634:
                   17635:        * README: updated for pl5
                   17636:
                   17637: 1995-03-28 20:02  millert
                   17638:
                   17639:        * sudo.man: updated Nieusma & Hieb email addresses
                   17640:
                   17641: 1995-03-28 19:57  millert
                   17642:
                   17643:        * INSTALL: updated to include options.h and OPTIONS
                   17644:
                   17645: 1995-03-28 19:35  millert
                   17646:
                   17647:        * CHANGES, TODO: updated
                   17648:
                   17649: 1995-03-28 19:35  millert
                   17650:
                   17651:        * BUGS: eliminated bug #1 (yay)
                   17652:
                   17653: 1995-03-28 19:31  millert
                   17654:
                   17655:        * configure.in: sunos no longer gets linked statically
                   17656:
                   17657: 1995-03-28 18:58  millert
                   17658:
                   17659:        * parse.lex: prototype now uses __P()
                   17660:
                   17661: 1995-03-28 18:49  millert
                   17662:
                   17663:        * parse.lex: make fill() non-ansi
                   17664:
                   17665: 1995-03-28 15:26  millert
                   17666:
                   17667:        * parse.c: made -v (validate) work
                   17668:
                   17669: 1995-03-28 15:26  millert
                   17670:
                   17671:        * logging.c: now gives host
                   17672:
                   17673: 1995-03-28 10:34  millert
                   17674:
                   17675:        * find_path.c: don't check for execute/statable if fq or relative
                   17676:          path given
                   17677:
                   17678: 1995-03-28 01:07  millert
                   17679:
                   17680:        * parse.c: added a cast
                   17681:
                   17682: 1995-03-28 00:49  millert
                   17683:
                   17684:        * visudo.c: now include ctype.h for islower and tolower macros
                   17685:
                   17686: 1995-03-28 00:48  millert
                   17687:
                   17688:        * goodpath.c: moved _S_IFMT & _S_ISREG to compat.h
                   17689:
                   17690: 1995-03-28 00:48  millert
                   17691:
                   17692:        * sudo.c: moved a set of parens
                   17693:
                   17694: 1995-03-28 00:48  millert
                   17695:
                   17696:        * strdup.c: now include compat.h
                   17697:
                   17698: 1995-03-28 00:47  millert
                   17699:
                   17700:        * parse.yacc: now cast malloc & realloc return vals added search
                   17701:          for HAVE_LSEARCH now use strcmp if no strcasecmp available
                   17702:
                   17703: 1995-03-28 00:46  millert
                   17704:
                   17705:        * lsearch.c, emul/search.h: void * -> VOID *
                   17706:
                   17707: 1995-03-28 00:45  millert
                   17708:
                   17709:        * config.h.in: removed HAVE_FLEX added VOID added HAVE_DIRENT_H,
                   17710:          HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
                   17711:
                   17712: 1995-03-28 00:44  millert
                   17713:
                   17714:        * compat.h: added _S_IFMT, _S_IFREG, and S_ISREG
                   17715:
                   17716: 1995-03-28 00:44  millert
                   17717:
                   17718:        * aclocal.m4: took out SUDO_PROG_INSTALL 1.x to 2.x changes added
                   17719:          echo and results to most SUDO_* macros
                   17720:
                   17721: 1995-03-28 00:43  millert
                   17722:
                   17723:        * Makefile.in: no more -I.
                   17724:
                   17725: 1995-03-28 00:22  millert
                   17726:
                   17727:        * configure.in: various 1.x ro 2.x autoconf changes now check for
                   17728:          strcasecmp now use AC_INSTALL_PROG instead of custom one added
                   17729:          check for fully woorking void implementation
                   17730:
                   17731: 1995-03-28 00:02  millert
                   17732:
                   17733:        * Makefile.in: added lsearch & search.h visudo links into
                   17734:          $(LIBOBJS)
                   17735:
                   17736: 1995-03-27 23:43  millert
                   17737:
                   17738:        * aclocal.m4: partial 1.x to 2.x changes added SUDO_FULL_VOID
                   17739:
                   17740: 1995-03-27 23:40  millert
                   17741:
                   17742:        * visudo.c: whatnow_help  was prototyped to be static be was not
                   17743:          declared as such
                   17744:
                   17745: 1995-03-27 21:15  millert
                   17746:
                   17747:        * configure.in: autoconf 2.x changes took out HAVE_FLEX (no longer
                   17748:          used) added check for dirent/dir/ndir.h
                   17749:
                   17750: 1995-03-27 21:09  millert
                   17751:
                   17752:        * parse.c: now use groovy gnu autoconf macro AC_HEADER_DIRENT
                   17753:
                   17754: 1995-03-27 20:38  millert
                   17755:
                   17756:        * getcwd.c, getwd.c: MAXPATHLEN -> MAXPATHLEN+1
                   17757:
                   17758: 1995-03-27 20:23  millert
                   17759:
                   17760:        * emul/search.h, lsearch.c: Initial revision
                   17761:
                   17762: 1995-03-27 18:26  millert
                   17763:
                   17764:        * parse.yacc: eliminated bison warnings
                   17765:
                   17766: 1995-03-27 17:10  millert
                   17767:
                   17768:        * parse.lex: added missing case
                   17769:
                   17770: 1995-03-27 17:04  millert
                   17771:
                   17772:        * visudo.c: now iincludes signal.h
                   17773:
                   17774: 1995-03-27 15:16  millert
                   17775:
                   17776:        * parse.yacc: only clear data structures on a parse error
                   17777:
                   17778: 1995-03-27 15:01  millert
                   17779:
                   17780:        * visudo.c: whatnow() now gives help on invalid input
                   17781:
                   17782: 1995-03-27 14:54  millert
                   17783:
                   17784:        * visudo.c: added a whatnow() function (sort of like mh)
                   17785:
                   17786: 1995-03-27 14:53  millert
                   17787:
                   17788:        * parse.yacc: kill_aliases -> reset_aliases yywrap() now cleans up
                   17789:          by calling reset_aliases() and clearing top took reset stuff out
                   17790:          of yyerror() since it doesn't beling there (and doesn't work
                   17791:          anyway).  errorlineno is now initially set to -1 so we can set it
                   17792:          to the first error that occurrs (it was getting set to the last)
                   17793:
                   17794: 1995-03-27 14:53  millert
                   17795:
                   17796:        * parse.lex: added a void cast
                   17797:
                   17798: 1995-03-27 13:26  millert
                   17799:
                   17800:        * visudo.c: rewrote from scratch based on 4.3BSD vipw.c
                   17801:
                   17802: 1995-03-26 01:33  millert
                   17803:
                   17804:        * sudo.c, sudo.h: removed ocmnd
                   17805:
                   17806: 1995-03-26 01:19  millert
                   17807:
                   17808:        * sudo.h: no more sudo_realpath() and find_path() changed params
                   17809:
                   17810: 1995-03-26 01:19  millert
                   17811:
                   17812:        * sudo.c: find_path() changed since no more realpath()
                   17813:
                   17814: 1995-03-26 01:18  millert
                   17815:
                   17816:        * parse.yacc: on error, errorlineno is set to the line where the
                   17817:          error occurred added kill_aliases() to free the aliases struct
                   17818:          now clean up in yyerror() so we can reparse cleanly
                   17819:
                   17820: 1995-03-26 01:17  millert
                   17821:
                   17822:        * logging.c: changed to use new find_path()
                   17823:
                   17824: 1995-03-26 01:17  millert
                   17825:
                   17826:        * options.h, parse.c: no more USE_REALPATH
                   17827:
                   17828: 1995-03-26 01:16  millert
                   17829:
                   17830:        * find_path.c: removed all the realpath() stuff
                   17831:
                   17832: 1995-03-26 01:16  millert
                   17833:
                   17834:        * Makefile.in: sudo_realpath.c -> sudo_goodpath.c
                   17835:
                   17836: 1995-03-26 01:12  millert
                   17837:
                   17838:        * visudo.c: now works correctly with utk parser
                   17839:
                   17840: 1995-03-26 00:04  millert
                   17841:
                   17842:        * goodpath.c: Initial revision
                   17843:
                   17844: 1995-03-25 23:23  millert
                   17845:
                   17846:        * sudo_realpath.c: eliminated a compiler warning
                   17847:
                   17848: 1995-03-25 21:56  millert
                   17849:
                   17850:        * sudo.c: elinated compiler warning
                   17851:
                   17852: 1995-03-25 20:40  millert
                   17853:
                   17854:        * sudo_realpath.c: added sudo_goodpath()
                   17855:
                   17856: 1995-03-25 20:40  millert
                   17857:
                   17858:        * sudo.h: added prototype for sudo_goodpath
                   17859:
                   17860: 1995-03-25 20:39  millert
                   17861:
                   17862:        * parse.c: added support for /sys/dir.h
                   17863:
                   17864: 1995-03-25 20:39  millert
                   17865:
                   17866:        * options.h: USE_REALPATH turned off
                   17867:
                   17868: 1995-03-25 20:39  millert
                   17869:
                   17870:        * find_path.c: added calls to sudo_goodpath()
                   17871:
                   17872: 1995-03-25 20:39  millert
                   17873:
                   17874:        * configure.in: added check for dirent.h
                   17875:
                   17876: 1995-03-25 20:38  millert
                   17877:
                   17878:        * config.h.in: added HAVE_DIRENT_H
                   17879:
                   17880: 1995-03-25 19:27  millert
                   17881:
                   17882:        * configure.in: added in linux shadow pass stuff 
                   17883:
                   17884: 1995-03-24 14:43  millert
                   17885:
                   17886:        * visudo.c: added back host, user, cmnd, parse_error
                   17887:
                   17888: 1995-03-24 14:19  millert
                   17889:
                   17890:        * visudo.c: added in utk changes plus some minor cosmetic changes
                   17891:
                   17892: 1995-03-24 14:17  millert
                   17893:
                   17894:        * sudo.c, sudo_realpath.c: added void casts for printf's
                   17895:
                   17896: 1995-03-24 14:17  millert
                   17897:
                   17898:        * options.h: added a define of USE_REALPATH
                   17899:
                   17900: 1995-03-24 14:17  millert
                   17901:
                   17902:        * configure.in: there is no more visudoers/Makefile
                   17903:
                   17904: 1995-03-24 14:16  millert
                   17905:
                   17906:        * Makefile.in: added in utk changes (visudo is now built from the
                   17907:          toplevel)
                   17908:
                   17909: 1995-03-24 14:15  millert
                   17910:
                   17911:        * find_path.c: added (void) casts to printf's
                   17912:
                   17913: 1995-03-23 22:32  millert
                   17914:
                   17915:        * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c: merged
                   17916:          in utk changes
                   17917:
                   17918: 1995-03-22 23:13  millert
                   17919:
                   17920:        * find_path.c: now check to see that what we are trying to run is a
                   17921:          file (or a link to a file, we do a stat(2) so there is no diff)
                   17922:
                   17923: 1995-03-13 15:56  millert
                   17924:
                   17925:        * CHANGES: updated
                   17926:
                   17927: 1995-03-13 15:56  millert
                   17928:
                   17929:        * Makefile.in: aclocal.m4 -> acsite.m4 make realclean updated for
                   17930:          new autoconf 
                   17931:
                   17932: 1995-03-13 15:11  millert
                   17933:
                   17934:        * sudo.man: added myself as maintainer
                   17935:
                   17936: 1995-02-16 23:31  millert
                   17937:
                   17938:        * sudo.c: changed setegid -> setgid
                   17939:
                   17940: 1995-02-06 17:43  millert
                   17941:
                   17942:        * configure.in: fixed the test for irix 5.x to skip bad libs
                   17943:
                   17944: 1995-02-06 17:43  millert
                   17945:
                   17946:        * aclocal.m4: now initialize OS and OSREV
                   17947:
                   17948: 1995-01-26 20:52  millert
                   17949:
                   17950:        * configure.in: irix5 changes
                   17951:
                   17952: 1995-01-26 20:28  millert
                   17953:
                   17954:        * configure.in: AC_WITH -> AC_ARG_WITH changes other misc changes
                   17955:          for autoconf 2.1 compatibility
                   17956:
                   17957: 1995-01-18 19:49  millert
                   17958:
                   17959:        * visudo.c: use YY_NEW_FILE, not yyrestart since OSF flex doesn't
                   17960:          do the righ thing wrt yyrestart (grrrr)
                   17961:
                   17962: 1995-01-16 18:44  millert
                   17963:
                   17964:        * Makefile.in: added visudoers/compat.h to DISTFILES
                   17965:
                   17966: 1995-01-16 17:01  millert
                   17967:
                   17968:        * configure.in: fixed an echo
                   17969:
                   17970: 1995-01-16 16:36  millert
                   17971:
                   17972:        * sudo.c: added ocmnd declaration adjusted for find_path()'s new
                   17973:          parameters
                   17974:
                   17975: 1995-01-16 16:35  millert
                   17976:
                   17977:        * sudo.h: added ocmnd extern adjusted find_path() prototype
                   17978:
                   17979: 1995-01-16 16:34  millert
                   17980:
                   17981:        * parse.c: cmndcmp() now takes 3 arguments and checks against the
                   17982:          qualified as well as the unqualified pathname.  more code that
                   17983:          should use cmndcmp() but did not, now does
                   17984:
                   17985: 1995-01-16 16:34  millert
                   17986:
                   17987:        * options.h: added to a comment
                   17988:
                   17989: 1995-01-16 16:33  millert
                   17990:
                   17991:        * logging.c: changed to use new find_path() parameter passing
                   17992:
                   17993: 1995-01-16 16:32  millert
                   17994:
                   17995:        * find_path.c: find_path() now takes 2 copyout parameters (one for
                   17996:          the qualified pathname and one for the unqualified pathname).
                   17997:          The third parameter may be NULL.
                   17998:
                   17999: 1995-01-16 16:31  millert
                   18000:
                   18001:        * configure.in: no longer munge pathnames.h
                   18002:
                   18003: 1995-01-16 16:30  millert
                   18004:
                   18005:        * pathnames.h.in: changed _PATH_* to use _SUDO_PATH_* (which are
                   18006:          defined in config.h) as a result, pathnames.h does not need to be
                   18007:          run through configure and the user can override the configured
                   18008:          values easily.
                   18009:
                   18010: 1995-01-16 16:30  millert
                   18011:
                   18012:        * config.h.in: added _SUDO_PATH_* entries
                   18013:
                   18014: 1995-01-16 16:30  millert
                   18015:
                   18016:        * aclocal.m4: _PATH* -> _SUDO_PATH_*
                   18017:
                   18018: 1995-01-16 16:28  millert
                   18019:
                   18020:        * Makefile.in: updated DISTFILES and HDRS .o's now depend on
                   18021:          config.h
                   18022:
                   18023: 1995-01-13 12:52  millert
                   18024:
                   18025:        * compat.h: removed extraneous #endif
                   18026:
                   18027: 1995-01-13 12:48  millert
                   18028:
                   18029:        * aclocal.m4: added SUDO_PROG_MV
                   18030:
                   18031: 1995-01-13 12:47  millert
                   18032:
                   18033:        * configure.in: added SUDO_PROG_MV added riscos and isc os types
                   18034:          took out -DSHORT_MESSAGE from --with-csops since it is now the
                   18035:          default
                   18036:
                   18037: 1995-01-13 12:46  millert
                   18038:
                   18039:        * sudo.c: move the include of id.h to compat.h now includes
                   18040:          options.h
                   18041:
                   18042: 1995-01-13 12:45  millert
                   18043:
                   18044:        * sudo.h: moved compatibility #defines to compat.h
                   18045:
                   18046: 1995-01-13 12:45  millert
                   18047:
                   18048:        * pathnames.h.in: added _PATH_MV
                   18049:
                   18050: 1995-01-13 12:43  millert
                   18051:
                   18052:        * config.h.in: move __P to compat.h
                   18053:
                   18054: 1995-01-13 12:39  millert
                   18055:
                   18056:        * getcwd.c, getwd.c, putenv.c: now includes compat.h
                   18057:
                   18058: 1995-01-13 12:39  millert
                   18059:
                   18060:        * compat.h: Initial revision
                   18061:
                   18062: 1995-01-11 19:11  millert
                   18063:
                   18064:        * sudo.h: pull user-configurable stuff out and put in options.h
                   18065:
                   18066: 1995-01-11 18:43  millert
                   18067:
                   18068:        * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
                   18069:          sudo_setenv.c, parse.lex, parse.yacc, visudo.c: now includes
                   18070:          options.h
                   18071:
                   18072: 1995-01-11 18:41  millert
                   18073:
                   18074:        * Makefile.in: added visudoers/options.h
                   18075:
                   18076: 1995-01-11 18:40  millert
                   18077:
                   18078:        * options.h, OPTIONS: Initial revision
                   18079:
                   18080: 1995-01-11 18:39  millert
                   18081:
                   18082:        * Makefile.in: added OPTIONS and options.h
                   18083:
                   18084: 1995-01-11 18:36  millert
                   18085:
                   18086:        * logging.c: changed #ifdef's to use LOGGING and
                   18087:          SLOG_SYSLOG/SLOG_FILE
                   18088:
                   18089: 1995-01-11 11:02  millert
                   18090:
                   18091:        * check.c, sudo.h: changed PASSWORD_TIMEOUT to minutes
                   18092:
                   18093: 1994-12-17 18:18  millert
                   18094:
                   18095:        * visudo.c: now only do Editor +line_num if line_num  != 0
                   18096:
                   18097: 1994-12-15 21:06  millert
                   18098:
                   18099:        * visudo.c: now use mv if rename(2) fails
                   18100:
                   18101: 1994-12-15 20:32  millert
                   18102:
                   18103:        * BUGS: added a visudo bug
                   18104:
                   18105: 1994-12-15 19:46  millert
                   18106:
                   18107:        * check.c: expanded comment
                   18108:
                   18109: 1994-11-12 18:33  millert
                   18110:
                   18111:        * check.c: fixed user_is_exempt to return 0 if EXEMPTGROUP is not
                   18112:          set
                   18113:
                   18114: 1994-11-09 19:49  millert
                   18115:
                   18116:        * sudo.c: added mips & isc support
                   18117:
                   18118: 1994-11-09 19:49  millert
                   18119:
                   18120:        * parse.c: added support for non-root owned sudoers file
                   18121:
                   18122: 1994-11-09 19:48  millert
                   18123:
                   18124:        * check.c: added exempt group support
                   18125:
                   18126: 1994-11-09 19:47  millert
                   18127:
                   18128:        * sudo.h: added set_perms() support added SUDOERS_OWNER so can have
                   18129:          non-root own sudoers file added exempt group support added isc
                   18130:          support
                   18131:
                   18132: 1994-11-09 19:46  millert
                   18133:
                   18134:        * visudo.c: now copy sudoers to temp file via read/write (not
                   18135:          stdio) now chown new sudoers file to SUDOERS_OWNER
                   18136:
                   18137: 1994-11-07 20:40  millert
                   18138:
                   18139:        * configure.in: added skey support
                   18140:
                   18141: 1994-11-07 20:39  millert
                   18142:
                   18143:        * sudo.h: fixed typo added set_perms support added skey support
                   18144:          added seteuid()/setegid() emulation for AIX
                   18145:
                   18146: 1994-11-07 20:38  millert
                   18147:
                   18148:        * sudo.c: be_* -> setperms() now check to make sure sudoers file is
                   18149:          owned by root nread/write by only root
                   18150:
                   18151: 1994-11-07 20:38  millert
                   18152:
                   18153:        * logging.c, parse.c, sudo_realpath.c: be_* -> setperms()
                   18154:
                   18155: 1994-11-07 20:38  millert
                   18156:
                   18157:        * check.c: be_* -> set_perms() added skey support
                   18158:
                   18159: 1994-11-06 18:59  millert
                   18160:
                   18161:        * Makefile.in: ++version
                   18162:
                   18163: 1994-11-06 18:59  millert
                   18164:
                   18165:        * version.h: ++
                   18166:
                   18167: 1994-10-21 13:16  millert
                   18168:
                   18169:        * sudo.c: now sets IFS
                   18170:
                   18171: 1994-10-21 12:02  millert
                   18172:
                   18173:        * insults.h: fixed typo
                   18174:
                   18175: 1994-10-15 15:48  millert
                   18176:
                   18177:        * config.h.in: added HAVE_SKEY
                   18178:
                   18179: 1994-10-04 13:00  millert
                   18180:
                   18181:        * CHANGES: updated
                   18182:
                   18183: 1994-10-04 12:57  millert
                   18184:
                   18185:        * Makefile.in: ++version
                   18186:
                   18187: 1994-10-04 12:57  millert
                   18188:
                   18189:        * version.h: ++
                   18190:
                   18191: 1994-10-04 12:56  millert
                   18192:
                   18193:        * sudo.c: now bail if ARgv[1] > MAXPATHLEN
                   18194:
                   18195: 1994-10-04 12:56  millert
                   18196:
                   18197:        * configure.in: added function check for tcgetattr(3)
                   18198:
                   18199: 1994-10-04 12:55  millert
                   18200:
                   18201:        * config.h.in: only define HAVE_TERMIOS_H if you have tcgetattr(3)
                   18202:
                   18203: 1994-10-04 12:53  millert
                   18204:
                   18205:        * config.h.in: added check for tcgetattr
                   18206:
                   18207: 1994-09-26 17:38  millert
                   18208:
                   18209:        * CHANGES: updated
                   18210:
                   18211: 1994-09-22 13:30  millert
                   18212:
                   18213:        * parse.lex: now only include unistd.h for linux
                   18214:
                   18215: 1994-09-21 14:29  millert
                   18216:
                   18217:        * Makefile.in: added visudo.8 generation
                   18218:
                   18219: 1994-09-21 14:07  millert
                   18220:
                   18221:        * configure.in: added -Wl,-bI:./aixcrypt.exp to aix flags
                   18222:
                   18223: 1994-09-20 19:39  millert
                   18224:
                   18225:        * BUGS: added one
                   18226:
                   18227: 1994-09-20 19:39  millert
                   18228:
                   18229:        * CHANGES: updated
                   18230:
                   18231: 1994-09-20 19:38  millert
                   18232:
                   18233:        * README: added mailing list info
                   18234:
                   18235: 1994-09-20 19:37  millert
                   18236:
                   18237:        * parse.yacc: now use sudolineno instead of yylineno fixed bison
                   18238:          warnings
                   18239:
                   18240: 1994-09-20 19:37  millert
                   18241:
                   18242:        * configure.in: now use -no_library_replacement for osf don't make
                   18243:          a static binary for hpux >= 9.0
                   18244:
                   18245: 1994-09-20 19:21  millert
                   18246:
                   18247:        * tgetpass.c: added string.h/strings.h inclusion
                   18248:
                   18249: 1994-09-20 19:21  millert
                   18250:
                   18251:        * config.h.in: added ssize_t def
                   18252:
                   18253: 1994-09-20 19:18  millert
                   18254:
                   18255:        * parse.lex: added inclusion of string.h/strings.h
                   18256:
                   18257: 1994-09-20 18:48  millert
                   18258:
                   18259:        * aclocal.m4: fixed uname | sed (needed to quote the '[')
                   18260:
                   18261: 1994-09-20 18:42  millert
                   18262:
                   18263:        * parse.lex: replaced yylineno with sudolineno fixed bison syntax
                   18264:          errors
                   18265:
                   18266: 1994-09-20 18:13  millert
                   18267:
                   18268:        * visudo.c: changed yylineno to sudolineno since yylineno cannot be
                   18269:          counted upon.
                   18270:
                   18271: 1994-09-20 18:10  millert
                   18272:
                   18273:        * TODO: updated
                   18274:
                   18275: 1994-09-20 17:52  millert
                   18276:
                   18277:        * parse.c: added code to support command listings
                   18278:
                   18279: 1994-09-20 17:36  millert
                   18280:
                   18281:        * sudo.c: added code for -l flag
                   18282:
                   18283: 1994-09-20 17:35  millert
                   18284:
                   18285:        * sudo.man: fixed typo added info for -l flag
                   18286:
                   18287: 1994-09-20 14:45  millert
                   18288:
                   18289:        * configure.in: AC_SSIZE_T -> SUDO_SSIZE_T
                   18290:
                   18291: 1994-09-20 14:45  millert
                   18292:
                   18293:        * aclocal.m4: added SUDO_SSIZE_T
                   18294:
                   18295: 1994-09-20 14:44  millert
                   18296:
                   18297:        * sudo.h: added MODE_LIST
                   18298:
                   18299: 1994-09-20 14:43  millert
                   18300:
                   18301:        * configure.in: added AC_SSIZE_T
                   18302:
                   18303: 1994-09-19 20:53  millert
                   18304:
                   18305:        * find_path.c, sudo_realpath.c: readlink() is now declared as
                   18306:          returning ssize~_t
                   18307:
                   18308: 1994-09-19 20:44  millert
                   18309:
                   18310:        * configure.in: added -laud for OSF c2
                   18311:
                   18312: 1994-09-02 15:55  millert
                   18313:
                   18314:        * config.h.in, parse.lex, parse.yacc, pathnames.h.in, visudo.c,
                   18315:          Makefile.in: changed sudo-bugs.cs.colorado.edu ->
                   18316:          sudo-bugs@cs.colorado.edu
                   18317:
                   18318: 1994-09-02 15:54  millert
                   18319:
                   18320:        * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
                   18321:          parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
                   18322:          sudo_setenv.c, tgetpass.c, version.h: changed
                   18323:          sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
                   18324:
                   18325: 1994-09-01 15:56  millert
                   18326:
                   18327:        * Makefile.in: ++version
                   18328:
                   18329: 1994-09-01 15:55  millert
                   18330:
                   18331:        * version.h: ++
                   18332:
                   18333: 1994-09-01 15:55  millert
                   18334:
                   18335:        * logging.c: added host to alertmail messages
                   18336:
                   18337: 1994-09-01 15:55  millert
                   18338:
                   18339:        * CHANGES, TODO: udpated
                   18340:
                   18341: 1994-09-01 15:26  millert
                   18342:
                   18343:        * logging.c: fixed logging problem where mail would not say which
                   18344:          user it was
                   18345:
                   18346: 1994-09-01 13:45  millert
                   18347:
                   18348:        * configure.in: added -laud for gcc if osf & c2
                   18349:
                   18350: 1994-09-01 13:39  millert
                   18351:
                   18352:        * check.c: moved set_auth_parameters to sudo.c
                   18353:
                   18354: 1994-09-01 13:38  millert
                   18355:
                   18356:        * sudo.c: added set_auth_parameters for osf
                   18357:
                   18358: 1994-09-01 13:22  millert
                   18359:
                   18360:        * configure.in: cleaned up -static stuff
                   18361:
                   18362: 1994-09-01 13:15  millert
                   18363:
                   18364:        * Makefile.in: ++version
                   18365:
                   18366: 1994-09-01 13:15  millert
                   18367:
                   18368:        * version.h: ++
                   18369:
                   18370: 1994-09-01 13:15  millert
                   18371:
                   18372:        * sudo.c: changed setenv() to sudo_setenv()
                   18373:
                   18374: 1994-09-01 13:12  millert
                   18375:
                   18376:        * check.c: fixed osf problem
                   18377:
                   18378: 1994-08-31 22:17  millert
                   18379:
                   18380:        * configure.in: added OSF C2 stuff
                   18381:
                   18382: 1994-08-31 22:00  millert
                   18383:
                   18384:        * CHANGES: updated
                   18385:
                   18386: 1994-08-31 21:56  millert
                   18387:
                   18388:        * check.c: added osf auth support & removed some extra spaces
                   18389:
                   18390: 1994-08-31 21:52  millert
                   18391:
                   18392:        * INSTALL, SUPPORTED: added osf C2 stuff
                   18393:
                   18394: 1994-08-31 19:52  millert
                   18395:
                   18396:        * TODO: added 2 suggestions
                   18397:
                   18398: 1994-08-31 19:33  millert
                   18399:
                   18400:        * Makefile.in: removed README.v1.3.1 and added VERSION stuff
                   18401:
                   18402: 1994-08-31 18:48  millert
                   18403:
                   18404:        * version.h: pl1
                   18405:
                   18406: 1994-08-30 18:31  millert
                   18407:
                   18408:        * version.h: 1.3.1final
                   18409:
                   18410: 1994-08-30 18:30  millert
                   18411:
                   18412:        * Makefile.in: added HISTORY
                   18413:
                   18414: 1994-08-30 18:30  millert
                   18415:
                   18416:        * sudo.man: mention HISTPRY file
                   18417:
                   18418: 1994-08-30 18:30  millert
                   18419:
                   18420:        * sudo.c: use sizeof instead of a constant in 1 place
                   18421:
                   18422: 1994-08-30 18:30  millert
                   18423:
                   18424:        * parse.yacc: added  unistd.h
                   18425:
                   18426: 1994-08-30 18:29  millert
                   18427:
                   18428:        * parse.lex: added unistd.h
                   18429:
                   18430: 1994-08-30 18:27  millert
                   18431:
                   18432:        * README: udpated
                   18433:
                   18434: 1994-08-30 18:15  millert
                   18435:
                   18436:        * HISTORY: Initial revision
                   18437:
                   18438: 1994-08-17 12:45  millert
                   18439:
                   18440:        * version.h: ++
                   18441:
                   18442: 1994-08-17 12:39  millert
                   18443:
                   18444:        * CHANGES: updated
                   18445:
                   18446: 1994-08-17 12:36  millert
                   18447:
                   18448:        * sudo_setenv.c: added unistd.h include
                   18449:
                   18450: 1994-08-16 15:46  millert
                   18451:
                   18452:        * sudo.c: added sys/time.h for AIX
                   18453:
                   18454: 1994-08-14 21:22  millert
                   18455:
                   18456:        * configure.in: added check for -lsocket and sys/sockio.h
                   18457:
                   18458: 1994-08-14 21:21  millert
                   18459:
                   18460:        * config.h.in: took out libshadow check and added in sys/sockio.h
                   18461:          check
                   18462:
                   18463: 1994-08-14 21:21  millert
                   18464:
                   18465:        * sudo.c: now include sockio.h instead of ioctl.h if it exists
                   18466:          "sudo -" now gets a better error message
                   18467:
                   18468: 1994-08-14 20:47  millert
                   18469:
                   18470:        * sample.sudoers: now has a dir and subnet entry
                   18471:
                   18472: 1994-08-13 18:15  millert
                   18473:
                   18474:        * sudo.c: removed if_ether.h
                   18475:
                   18476: 1994-08-13 17:16  millert
                   18477:
                   18478:        * TODO: added an item
                   18479:
                   18480: 1994-08-13 17:15  millert
                   18481:
                   18482:        * sudo.man: added network and ip addresses to man page
                   18483:
                   18484: 1994-08-13 17:09  millert
                   18485:
                   18486:        * sudo.c: no error if can't get interfaces or netmask since
                   18487:          networking may not be in the kernel.
                   18488:
                   18489: 1994-08-13 17:08  millert
                   18490:
                   18491:        * parse.c: nwo check for interfaces == NULL
                   18492:
                   18493: 1994-08-12 21:22  millert
                   18494:
                   18495:        * parse.c: fixed a bug that caused directory specs in a Cmnd_Alias
                   18496:          to fail if the last entry in the spec failed (ie: it was only
                   18497:          looking at the last entry).  CLeaned things up by adding the
                   18498:          cmndcmp() function--all neat & tidy
                   18499:
                   18500: 1994-08-12 21:21  millert
                   18501:
                   18502:        * CHANGES: added one
                   18503:
                   18504: 1994-08-11 23:42  millert
                   18505:
                   18506:        * sudo.c: now do two passes to skip bogus interfaces (lo0, etc)
                   18507:
                   18508: 1994-08-11 21:58  millert
                   18509:
                   18510:        * logging.c, sudo_realpath.c, sudo_setenv.c: added ninclude of
                   18511:          netinet/in.h
                   18512:
                   18513: 1994-08-11 21:58  millert
                   18514:
                   18515:        * check.c, find_path.c, getcwd.c, getwd.c, parse.lex, parse.yacc,
                   18516:          visudo.c: added include of netinet/in.h
                   18517:
                   18518: 1994-08-11 21:57  millert
                   18519:
                   18520:        * version.h: ++
                   18521:
                   18522: 1994-08-11 21:57  millert
                   18523:
                   18524:        * sudo.h: added interfaces global
                   18525:
                   18526: 1994-08-11 21:56  millert
                   18527:
                   18528:        * parse.c: now uses new interfaces global
                   18529:
                   18530: 1994-08-11 21:56  millert
                   18531:
                   18532:        * sudo.c: now ip addresses are gleaned fw/o dns
                   18533:
                   18534: 1994-08-10 19:21  millert
                   18535:
                   18536:        * sudo.c: added load_ip_addrs() to load the ip_addrs global var
                   18537:
                   18538: 1994-08-10 19:21  millert
                   18539:
                   18540:        * parse.c: added hostcmp() to compare hostnames, ip addrs, and
                   18541:          network addrs
                   18542:
                   18543: 1994-08-10 19:20  millert
                   18544:
                   18545:        * sudo.h: added ip_addrs def added load_ip_addrs prototype
                   18546:
                   18547: 1994-08-08 16:03  millert
                   18548:
                   18549:        * CHANGES: updated
                   18550:
                   18551: 1994-08-08 15:57  millert
                   18552:
                   18553:        * Makefile.in: removed multiple entries in DISTFILES
                   18554:
                   18555: 1994-08-08 13:05  millert
                   18556:
                   18557:        * visudo.c: ansified the !STDC_HEADERS decls
                   18558:
                   18559: 1994-08-08 13:05  millert
                   18560:
                   18561:        * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c: don't do
                   18562:          malloc decl if gnuc
                   18563:
                   18564: 1994-08-08 13:04  millert
                   18565:
                   18566:        * sudo.c: can't use getopt(3) since it munges args to the command
                   18567:          to be run as root don't do malloc decl if gnuc
                   18568:
                   18569: 1994-08-08 00:41  millert
                   18570:
                   18571:        * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
                   18572:          sudo_realpath.c, sudo_setenv.c: ansi-fied !STDC_HEADER function
                   18573:          prottypes
                   18574:
                   18575: 1994-08-08 00:27  millert
                   18576:
                   18577:        * getcwd.c, getwd.c: added missing paren
                   18578:
                   18579: 1994-08-08 00:23  millert
                   18580:
                   18581:        * Makefile.in: added putenv.c to DISTFILES
                   18582:
                   18583: 1994-08-08 00:08  millert
                   18584:
                   18585:        * sudo_setenv.c: added params to func decls when STDC_HEADERS is
                   18586:          not defined now can count on putenv() being there
                   18587:
                   18588: 1994-08-08 00:08  millert
                   18589:
                   18590:        * sudo_realpath.c: took out errno decl since sudo.h does it for us
                   18591:          fixed up a next cc warning added params to func decls when
                   18592:          STDC_HEADERS is not defined
                   18593:
                   18594: 1994-08-08 00:07  millert
                   18595:
                   18596:        * sudo.h: took out environ extern added local declaratio of
                   18597:          putenv() if local version is needed
                   18598:
                   18599: 1994-08-08 00:05  millert
                   18600:
                   18601:        * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c: added params to
                   18602:          func decls when STDC_HEADERS is not defined
                   18603:
                   18604: 1994-08-08 00:04  millert
                   18605:
                   18606:        * config.h.in: added memcpy check check to see that ansi vs bsd
                   18607:          macros are ntot already defiend before defining (ie: avoid
                   18608:          redefinition)
                   18609:
                   18610: 1994-08-08 00:03  millert
                   18611:
                   18612:        * configure.in: removed fluff setenv check plus check w/ replace
                   18613:          for putenv if also no setenv
                   18614:
                   18615: 1994-08-08 00:01  millert
                   18616:
                   18617:        * putenv.c: Initial revision
                   18618:
                   18619: 1994-08-06 19:19  millert
                   18620:
                   18621:        * sudo_setenv.c: Initial revision
                   18622:
                   18623: 1994-08-06 19:19  millert
                   18624:
                   18625:        * sudo.h: rm'd s realp[ath added sudo_realpath and sudo_setenv
                   18626:
                   18627: 1994-08-06 19:19  millert
                   18628:
                   18629:        * sudo.c: now use sudo_setenvc
                   18630:
                   18631: 1994-08-06 19:18  millert
                   18632:
                   18633:        * configure.in: added puteenv and setenv, removed realpath
                   18634:
                   18635: 1994-08-06 19:18  millert
                   18636:
                   18637:        * config.h.in: added putenv & setenv
                   18638:
                   18639: 1994-08-06 19:18  millert
                   18640:
                   18641:        * Makefile.in: added sudo_setenv
                   18642:
                   18643: 1994-08-06 19:16  millert
                   18644:
                   18645:        * version.h: ++
                   18646:
                   18647: 1994-08-05 19:43  millert
                   18648:
                   18649:        * configure.in: added MAN_POSTINSTALL and /usr/share/catman for
                   18650:          irix
                   18651:
                   18652: 1994-08-05 19:43  millert
                   18653:
                   18654:        * Makefile.in: added MAN_POSTINSTALL
                   18655:
                   18656: 1994-08-05 19:43  millert
                   18657:
                   18658:        * CHANGES: added
                   18659:
                   18660: 1994-08-05 19:10  millert
                   18661:
                   18662:        * sudo.man: added SUDO_* plus new options
                   18663:
                   18664: 1994-08-05 19:10  millert
                   18665:
                   18666:        * CHANGES: added one
                   18667:
                   18668: 1994-08-05 19:07  millert
                   18669:
                   18670:        * configure.in: took out shadow lib
                   18671:
                   18672: 1994-08-05 18:35  millert
                   18673:
                   18674:        * TODO: adde done
                   18675:
                   18676: 1994-08-05 17:52  millert
                   18677:
                   18678:        * visudo.c: now use yyrestart() if flex now reset yylineno to 0
                   18679:
                   18680: 1994-08-05 17:49  millert
                   18681:
                   18682:        * Makefile.in: support for installing a cat page instead of a man
                   18683:          page if no nroff
                   18684:
                   18685: 1994-08-05 17:48  millert
                   18686:
                   18687:        * configure.in: now defines HAVE_FLEX fixed up man stuff so that it
                   18688:          looks for nroff to determine whether or not to install a cat or
                   18689:          man page
                   18690:
                   18691: 1994-08-05 17:48  millert
                   18692:
                   18693:        * config.h.in: added HAVE_FLEX
                   18694:
                   18695: 1994-08-05 16:14  millert
                   18696:
                   18697:        * sudo.c: not set ret to MODE_RUN initially
                   18698:
                   18699: 1994-08-05 16:12  millert
                   18700:
                   18701:        * find_path.c: made command (and therefor cmnd dynamically
                   18702:          allocated)
                   18703:
                   18704: 1994-08-04 20:25  millert
                   18705:
                   18706:        * TODO: did #8
                   18707:
                   18708: 1994-08-04 20:24  millert
                   18709:
                   18710:        * version.h: ++
                   18711:
                   18712: 1994-08-04 20:24  millert
                   18713:
                   18714:        * sudo_realpath.c: changed bufs from MAXPATHLEN to MAXPATHLEN+1
                   18715:
                   18716: 1994-08-04 20:24  millert
                   18717:
                   18718:        * sudo.h: added MODE_ removed validate_only and added
                   18719:          remove_timestamp()
                   18720:
                   18721: 1994-08-04 20:22  millert
                   18722:
                   18723:        * sudo.c: usage() now takes an int (exit value) added parse_args()
                   18724:          to parse command line arguments moved call to find_path() from
                   18725:          load_globals to new function load_cmnd() removed validate_only
                   18726:          global -- now use the concept of "modes" added -h and -k options
                   18727:
                   18728: 1994-08-04 20:21  millert
                   18729:
                   18730:        * parse.c: no longer use global validate_only now checks for
                   18731:          command called "validate" removed check for non-fully qualified
                   18732:          commands since that is done by find_path
                   18733:
                   18734: 1994-08-04 20:20  millert
                   18735:
                   18736:        * find_path.c: changed MAXPATHLEN r to MAXPATHLEN+1
                   18737:
                   18738: 1994-08-04 20:17  millert
                   18739:
                   18740:        * find_path.c: fixed off by one error with MAXPATHLEN and fixed a
                   18741:          comment
                   18742:
                   18743: 1994-08-04 20:17  millert
                   18744:
                   18745:        * check.c: check_timestamp no longer runs reminder(), it is implied
                   18746:          in the return val added remove_timestamp()
                   18747:
                   18748: 1994-08-04 20:16  millert
                   18749:
                   18750:        * CHANGES: updated
                   18751:
                   18752: 1994-08-04 16:38  millert
                   18753:
                   18754:        * BUGS: fixed on
                   18755:
                   18756: 1994-08-04 16:38  millert
                   18757:
                   18758:        * sudo_realpath.c: took out old_errno
                   18759:
                   18760: 1994-08-04 16:37  millert
                   18761:
                   18762:        * CHANGES: updated
                   18763:
                   18764: 1994-08-03 12:08  millert
                   18765:
                   18766:        * logging.c: moved send_mail to after syslog
                   18767:
                   18768: 1994-08-02 22:41  millert
                   18769:
                   18770:        * sudo.c: now set SUDO_ envariables
                   18771:
                   18772: 1994-08-01 13:40  millert
                   18773:
                   18774:        * version.h: ++
                   18775:
                   18776: 1994-08-01 13:39  millert
                   18777:
                   18778:        * sudo_realpath.c: now print error if chdir fails
                   18779:
                   18780: 1994-08-01 13:39  millert
                   18781:
                   18782:        * find_path.c: removed an XXX
                   18783:
                   18784: 1994-07-25 20:40  millert
                   18785:
                   18786:        * CHANGES: updated
                   18787:
                   18788: 1994-07-25 20:36  millert
                   18789:
                   18790:        * configure.in: no more static binaries for aix
                   18791:
                   18792: 1994-07-25 18:37  millert
                   18793:
                   18794:        * INSTALL: fixed typo
                   18795:
                   18796: 1994-07-25 18:33  millert
                   18797:
                   18798:        * sudo_realpath.c: took out stuff not needed for sudo now does
                   18799:          be_root/be_user itself now uses cwd global
                   18800:
                   18801: 1994-07-25 18:32  millert
                   18802:
                   18803:        * version.h: +=2
                   18804:
                   18805: 1994-07-25 18:31  millert
                   18806:
                   18807:        * logging.c, sudo.c: be_root/be_user is now down in sudo_realpath()
                   18808:
                   18809: 1994-07-25 18:26  millert
                   18810:
                   18811:        * logging.c, sudo.h: now works with 4.2BSD syslog (blech)
                   18812:
                   18813: 1994-07-25 18:25  millert
                   18814:
                   18815:        * find_path.c: now use sudo_realpath()
                   18816:
                   18817: 1994-07-25 18:25  millert
                   18818:
                   18819:        * config.h.in: took out realpth() stuff since we now use
                   18820:          sudo_realpath()
                   18821:
                   18822: 1994-07-25 18:25  millert
                   18823:
                   18824:        * configure.in: ultrix enhanced sec
                   18825:
                   18826: 1994-07-25 18:25  millert
                   18827:
                   18828:        * SUPPORTED: added ultrix enhanced sec.
                   18829:
                   18830: 1994-07-25 18:24  millert
                   18831:
                   18832:        * INSTALL: updated
                   18833:
                   18834: 1994-07-25 18:21  millert
                   18835:
                   18836:        * check.c: ultrix enhanced security suport
                   18837:
                   18838: 1994-07-25 18:20  millert
                   18839:
                   18840:        * Makefile.in: added sudo_realpath.c
                   18841:
                   18842: 1994-07-25 18:18  millert
                   18843:
                   18844:        * CHANGES: updated
                   18845:
                   18846: 1994-07-25 14:28  millert
                   18847:
                   18848:        * tgetpass.c: increased passwd len to 24 for c2 security
                   18849:
                   18850: 1994-07-25 13:17  millert
                   18851:
                   18852:        * BUGS: updated BUGS
                   18853:
                   18854: 1994-07-15 11:49  millert
                   18855:
                   18856:        * check.c: now use user global var
                   18857:
                   18858: 1994-07-15 11:48  millert
                   18859:
                   18860:        * configure.in: took out -ls
                   18861:
                   18862: 1994-07-14 19:11  millert
                   18863:
                   18864:        * configure.in: added AFS libs
                   18865:
                   18866: 1994-07-14 17:45  millert
                   18867:
                   18868:        * sudo.h: user is now a char * added epasswd
                   18869:
                   18870: 1994-07-14 17:43  millert
                   18871:
                   18872:        * sudo.c: added tzset() to load_globals added epasswd (encrypted
                   18873:          password) global made user dynamically allocated
                   18874:
                   18875: 1994-07-14 17:43  millert
                   18876:
                   18877:        * configure.in: added tzset test
                   18878:
                   18879: 1994-07-14 17:43  millert
                   18880:
                   18881:        * config.h.in: added HAVE_TZSET
                   18882:
                   18883: 1994-07-14 17:42  millert
                   18884:
                   18885:        * check.c: cleaned up encrypted passwd grab somewhat
                   18886:
                   18887: 1994-07-14 12:34  millert
                   18888:
                   18889:        * configure.in: fixed AFS typo
                   18890:
                   18891: 1994-07-14 12:34  millert
                   18892:
                   18893:        * INSTALL: added AFS not
                   18894:
                   18895: 1994-07-14 12:34  millert
                   18896:
                   18897:        * CHANGES: udpated
                   18898:
                   18899: 1994-07-14 12:33  millert
                   18900:
                   18901:        * logging.c: can now log to both syslog & a file
                   18902:
                   18903: 1994-07-14 12:12  millert
                   18904:
                   18905:        * sudo.h: added BOTH_LOGS
                   18906:
                   18907: 1994-07-14 11:34  millert
                   18908:
                   18909:        * CHANGES: updated
                   18910:
                   18911: 1994-07-14 11:32  millert
                   18912:
                   18913:        * configure.in: --with-AFS
                   18914:
                   18915: 1994-07-14 11:32  millert
                   18916:
                   18917:        * config.h.in: added HAVE_AFS
                   18918:
                   18919: 1994-07-14 11:31  millert
                   18920:
                   18921:        * check.c: added afs changes
                   18922:
                   18923: 1994-07-14 11:21  millert
                   18924:
                   18925:        * sudo.h: removed AFS stuff :-)
                   18926:
                   18927: 1994-07-14 11:19  millert
                   18928:
                   18929:        * tgetpass.c: include sys/select for AIX
                   18930:
                   18931: 1994-07-14 11:17  millert
                   18932:
                   18933:        * sudo.h: added AFS
                   18934:
                   18935: 1994-07-14 11:16  millert
                   18936:
                   18937:        * version.h: ++
                   18938:
                   18939: 1994-07-07 14:45  millert
                   18940:
                   18941:        * SUPPORTED, CHANGES: updated
                   18942:
                   18943: 1994-07-07 14:44  millert
                   18944:
                   18945:        * logging.c: can now have MAILER undefined
                   18946:
                   18947: 1994-07-07 14:37  millert
                   18948:
                   18949:        * INSTALL: new sub-note about MAILER
                   18950:
                   18951: 1994-07-06 23:11  millert
                   18952:
                   18953:        * sudo.man: added blurb about password timeout
                   18954:
                   18955: 1994-07-06 20:52  millert
                   18956:
                   18957:        * configure.in: convex c2 changes
                   18958:
                   18959: 1994-07-06 20:52  millert
                   18960:
                   18961:        * aclocal.m4: took out duplicate define of _CONVEX_SOURCE
                   18962:
                   18963: 1994-07-06 20:51  millert
                   18964:
                   18965:        * Makefile.in: added OSDEFS
                   18966:
                   18967: 1994-07-06 20:46  millert
                   18968:
                   18969:        * config.h.in: added spaces
                   18970:
                   18971: 1994-07-06 20:08  millert
                   18972:
                   18973:        * tgetpass.c: added a goto if fgets fails
                   18974:
                   18975: 1994-07-06 20:08  millert
                   18976:
                   18977:        * sudo.h: use __hpux not hpux convex c2 stuff
                   18978:
                   18979: 1994-07-06 20:08  millert
                   18980:
                   18981:        * sudo.c: use __hpux not hpux
                   18982:
                   18983: 1994-07-06 20:08  millert
                   18984:
                   18985:        * logging.c: convex c2 stuff
                   18986:
                   18987: 1994-07-06 20:07  millert
                   18988:
                   18989:        * config.h.in: define ansi-ish cpp os defines if non-ansi are
                   18990:          defined for hpux & convex
                   18991:
                   18992: 1994-07-06 20:07  millert
                   18993:
                   18994:        * INSTALL: updated to say we support sonvex C2
                   18995:
                   18996: 1994-07-06 20:05  millert
                   18997:
                   18998:        * check.c: added convex c2 support
                   18999:
                   19000: 1994-07-01 12:06  millert
                   19001:
                   19002:        * tgetpass.c: no more ioctl never returns NULL uses fgets() and
                   19003:          select() to timeout
                   19004:
                   19005: 1994-06-29 17:04  millert
                   19006:
                   19007:        * configure.in: things were testing -n "$GCC" instead of -z "$GCC"
                   19008:
                   19009: 1994-06-29 16:39  millert
                   19010:
                   19011:        * tgetpass.c: now works + uses fgets()
                   19012:
                   19013: 1994-06-28 18:25  millert
                   19014:
                   19015:        * tgetpass.c: select doesn't seem to recognize a single '\n' as
                   19016:          input waiting so we can;t use it, sigh.
                   19017:
                   19018: 1994-06-26 16:38  millert
                   19019:
                   19020:        * PORTING: updated tgetpass() blurb
                   19021:
                   19022: 1994-06-26 16:35  millert
                   19023:
                   19024:        * configure.in: added --with-getpass
                   19025:
                   19026: 1994-06-26 16:35  millert
                   19027:
                   19028:        * Makefile.in: added tgetpass stuff
                   19029:
                   19030: 1994-06-26 15:25  millert
                   19031:
                   19032:        * tgetpass.c: now uses stdio
                   19033:
                   19034: 1994-06-26 15:17  millert
                   19035:
                   19036:        * version.h: ++
                   19037:
                   19038: 1994-06-24 19:48  millert
                   19039:
                   19040:        * PORTING: updated ,.
                   19041:
                   19042: 1994-06-24 19:46  millert
                   19043:
                   19044:        * config.h.in: added USE_GETPASS && HAVE_C2_SECURITY
                   19045:
                   19046: 1994-06-24 19:45  millert
                   19047:
                   19048:        * configure.in: fixed a test aded --with-C2 and --with-tgetpass
                   19049:
                   19050: 1994-06-24 19:45  millert
                   19051:
                   19052:        * check.c: added hpux C2 shit
                   19053:
                   19054: 1994-06-24 19:45  millert
                   19055:
                   19056:        * Makefile.in: took out tgetpass.*
                   19057:
                   19058: 1994-06-24 19:45  millert
                   19059:
                   19060:        * INSTALL: added C2 blurb
                   19061:
                   19062: 1994-06-13 15:54  millert
                   19063:
                   19064:        * configure.in: no termio(s) for ultrix since it is broken
                   19065:
                   19066: 1994-06-13 15:41  millert
                   19067:
                   19068:        * check.c: added a space (yeah, anal)
                   19069:
                   19070: 1994-06-13 15:17  millert
                   19071:
                   19072:        * realpath.c, sudo_realpath.c: fixed it (duh, rtfm)
                   19073:
                   19074: 1994-06-08 14:34  millert
                   19075:
                   19076:        * config.h.in: took out bsd signal stuff for irix
                   19077:
                   19078: 1994-06-08 14:26  millert
                   19079:
                   19080:        * visudo.c: comments in #endif
                   19081:
                   19082: 1994-06-08 14:09  millert
                   19083:
                   19084:        * configure.in: don't define BSD signals for irix
                   19085:
                   19086: 1994-06-08 12:57  millert
                   19087:
                   19088:        * TODO: did some...
                   19089:
                   19090: 1994-06-08 12:57  millert
                   19091:
                   19092:        * CHANGES: updated
                   19093:
                   19094: 1994-06-08 12:56  millert
                   19095:
                   19096:        * realpath.c, sudo_realpath.c: took out unneeded code by changing
                   19097:          where a strings was terminated
                   19098:
                   19099: 1994-06-07 19:21  millert
                   19100:
                   19101:        * realpath.c, sudo_realpath.c: fix bug where /dirname would return
                   19102:          NULL
                   19103:
                   19104: 1994-06-07 17:40  millert
                   19105:
                   19106:        * sudo.h: move __P to config.h
                   19107:
                   19108: 1994-06-07 17:40  millert
                   19109:
                   19110:        * getcwd.c, getwd.c, realpath.c, sudo_realpath.c: added errno
                   19111:          definition
                   19112:
                   19113: 1994-06-07 17:40  millert
                   19114:
                   19115:        * config.h.in: added __P
                   19116:
                   19117: 1994-06-07 17:21  millert
                   19118:
                   19119:        * config.h.in: added HAVE_FCHDIR
                   19120:
                   19121: 1994-06-07 17:18  millert
                   19122:
                   19123:        * strdup.c: now include stdio
                   19124:
                   19125: 1994-06-07 14:55  millert
                   19126:
                   19127:        * realpath.c, sudo_realpath.c: now works if no fchdir
                   19128:
                   19129: 1994-06-07 14:55  millert
                   19130:
                   19131:        * visudo.c: define SA_RESETHAND to null if not defined
                   19132:
                   19133: 1994-06-07 14:54  millert
                   19134:
                   19135:        * configure.in: added check & replace
                   19136:
                   19137: 1994-06-06 20:05  millert
                   19138:
                   19139:        * configure.in: took out -static for nextstep -- it doesn't work
                   19140:
                   19141: 1994-06-06 19:59  millert
                   19142:
                   19143:        * logging.c: moved #endif to where it belongs
                   19144:
                   19145: 1994-06-06 19:54  millert
                   19146:
                   19147:        * SUPPORTED: correction
                   19148:
                   19149: 1994-06-06 19:42  millert
                   19150:
                   19151:        * configure.in: now checks for strdup realpath getcwd bzero
                   19152:
                   19153: 1994-06-06 19:31  millert
                   19154:
                   19155:        * config.h.in: emulate bzero
                   19156:
                   19157: 1994-06-06 16:57  millert
                   19158:
                   19159:        * visudo.c: added posic signals
                   19160:
                   19161: 1994-06-06 16:57  millert
                   19162:
                   19163:        * tgetpass.c: bzero cast
                   19164:
                   19165: 1994-06-06 16:57  millert
                   19166:
                   19167:        * logging.c: added posix signals
                   19168:
                   19169: 1994-06-06 16:56  millert
                   19170:
                   19171:        * configure.in: removed BROKEN_GETPASS added  new srcs toreplace
                   19172:          missing functions
                   19173:
                   19174: 1994-06-06 16:56  millert
                   19175:
                   19176:        * config.h.in: added posix signal stuff
                   19177:
                   19178: 1994-06-06 16:56  millert
                   19179:
                   19180:        * Makefile.in: added new srcs
                   19181:
                   19182: 1994-06-06 12:53  millert
                   19183:
                   19184:        * visudo.c: updated useag
                   19185:
                   19186: 1994-06-06 12:39  millert
                   19187:
                   19188:        * tgetpass.c: now uses posix signals
                   19189:
                   19190: 1994-06-05 20:17  millert
                   19191:
                   19192:        * PORTING: updated sto reflect major changes
                   19193:
                   19194: 1994-06-05 20:05  millert
                   19195:
                   19196:        * TODO, CHANGES: updated
                   19197:
                   19198: 1994-06-05 20:04  millert
                   19199:
                   19200:        * tgetpass.c: uses sysconf() if available
                   19201:
                   19202: 1994-06-05 20:04  millert
                   19203:
                   19204:        * sudo.h: added PASSWORD_TIMEOUT + prototypes for new functions
                   19205:
                   19206: 1994-06-05 20:04  millert
                   19207:
                   19208:        * realpath.c, sudo_realpath.c: for those w/o this in libc
                   19209:
                   19210: 1994-06-05 20:03  millert
                   19211:
                   19212:        * getcwd.c, getwd.c: Initial revision
                   19213:
                   19214: 1994-06-05 20:03  millert
                   19215:
                   19216:        * find_path.c: rewrote to use realpath(3) - nis now all my code
                   19217:
                   19218: 1994-06-05 20:02  millert
                   19219:
                   19220:        * config.h.in: added HAVE_REALPATH
                   19221:
                   19222: 1994-06-05 20:02  millert
                   19223:
                   19224:        * check.c: now use tgetpass
                   19225:
                   19226: 1994-06-05 20:02  millert
                   19227:
                   19228:        * Makefile.in: added LIBOBJS use tgetpass.c
                   19229:
                   19230: 1994-06-05 18:55  millert
                   19231:
                   19232:        * tgetpass.c: works now :-)
                   19233:
                   19234: 1994-06-05 18:27  millert
                   19235:
                   19236:        * tgetpass.c: Initial revision
                   19237:
                   19238: 1994-06-05 17:17  millert
                   19239:
                   19240:        * pathnames.h.in: added /dev/tty
                   19241:
                   19242: 1994-06-04 17:12  millert
                   19243:
                   19244:        * version.h: incremented
                   19245:
                   19246: 1994-06-04 15:29  millert
                   19247:
                   19248:        * sudo.c: always use getcwd
                   19249:
                   19250: 1994-06-04 14:49  millert
                   19251:
                   19252:        * config.h.in: added check for getwd
                   19253:
                   19254: 1994-06-04 14:48  millert
                   19255:
                   19256:        * configure.in: replace strdup & realpath & getcwd if missing
                   19257:
                   19258: 1994-06-04 14:47  millert
                   19259:
                   19260:        * pathnames.h.in: added _PATH_PWD
                   19261:
                   19262: 1994-06-04 14:46  millert
                   19263:
                   19264:        * aclocal.m4: added SUDO_PROG_PWD
                   19265:
                   19266: 1994-06-04 14:37  millert
                   19267:
                   19268:        * realpath.c, sudo_realpath.c, strdup.c: Initial revision
                   19269:
                   19270: 1994-06-03 11:31  millert
                   19271:
                   19272:        * configure.in: quoted quare brackets
                   19273:
                   19274: 1994-06-02 17:49  millert
                   19275:
                   19276:        * sudo.c: no need to strdup() a constant
                   19277:
                   19278: 1994-06-02 15:45  millert
                   19279:
                   19280:        * CHANGES: updated
                   19281:
                   19282: 1994-06-02 15:44  millert
                   19283:
                   19284:        * sudo.man: added validate
                   19285:
                   19286: 1994-06-02 15:42  millert
                   19287:
                   19288:        * sudo.c: added -v to usage
                   19289:
                   19290: 1994-06-02 15:41  millert
                   19291:
                   19292:        * parse.c, sudo.c, sudo.h: added validate_only stuff
                   19293:
                   19294: 1994-05-29 21:29  millert
                   19295:
                   19296:        * configure.in: now finds sed
                   19297:
                   19298: 1994-05-29 21:28  millert
                   19299:
                   19300:        * aclocal.m4: $OSREV is now an int
                   19301:
                   19302: 1994-05-29 19:13  millert
                   19303:
                   19304:        * configure.in: added mtxinu to caser
                   19305:
                   19306: 1994-05-29 18:37  millert
                   19307:
                   19308:        * sudo.h: added EXEC macro
                   19309:
                   19310: 1994-05-29 18:36  millert
                   19311:
                   19312:        * sudo.c: now use the EXEC nmacro now only do a gethostbyname() if
                   19313:          FQDN is set
                   19314:
                   19315: 1994-05-29 18:36  millert
                   19316:
                   19317:        * logging.c: changed mail_argv[] def now use EXEC() macro
                   19318:
                   19319: 1994-05-29 18:35  millert
                   19320:
                   19321:        * check.c: took out crypt() definition
                   19322:
                   19323: 1994-05-29 17:23  millert
                   19324:
                   19325:        * version.h: upped the version
                   19326:
                   19327: 1994-05-29 15:52  millert
                   19328:
                   19329:        * configure.in: always look for -lnsl
                   19330:
                   19331: 1994-05-29 15:29  millert
                   19332:
                   19333:        * aclocal.m4: added an echo
                   19334:
                   19335: 1994-05-29 15:25  millert
                   19336:
                   19337:        * sudo.h: SHORT_MESSAGE is now the default
                   19338:
                   19339: 1994-05-29 15:18  millert
                   19340:
                   19341:        * config.h.in: fixed typo
                   19342:
                   19343: 1994-05-29 01:29  millert
                   19344:
                   19345:        * configure.in: added missing AC_DEFINE(SVR4) for solaris
                   19346:
                   19347: 1994-05-28 20:42  millert
                   19348:
                   19349:        * sudo.man: documented the -v flag
                   19350:
                   19351: 1994-05-28 20:34  millert
                   19352:
                   19353:        * SUPPORTED: updated
                   19354:
                   19355: 1994-05-28 20:31  millert
                   19356:
                   19357:        * check.c: proto-ized crypt()
                   19358:
                   19359: 1994-05-28 20:28  millert
                   19360:
                   19361:        * config.h.in: added LIBSHADOW undef
                   19362:
                   19363: 1994-05-28 20:18  millert
                   19364:
                   19365:        * configure.in: nwo set OS to be lowercase
                   19366:
                   19367: 1994-05-28 19:36  millert
                   19368:
                   19369:        * configure.in: now use SUDO_OSTYPE to set $OS
                   19370:
                   19371: 1994-05-28 19:36  millert
                   19372:
                   19373:        * aclocal.m4: now use uname to determine os
                   19374:
                   19375: 1994-05-28 16:23  millert
                   19376:
                   19377:        * visudo.c: added prototypes & moved sig handler around
                   19378:
                   19379: 1994-05-28 15:13  millert
                   19380:
                   19381:        * sudo.h: added prototyppes
                   19382:
                   19383: 1994-05-28 15:13  millert
                   19384:
                   19385:        * parse.c: added comment
                   19386:
                   19387: 1994-05-28 15:12  millert
                   19388:
                   19389:        * config.h.in: nwo use _BSD_SIGNALS not _BSD_COMPAT
                   19390:
                   19391: 1994-05-28 15:11  millert
                   19392:
                   19393:        * check.c, logging.c, sudo.c: added prototypes
                   19394:
                   19395: 1994-05-28 15:11  millert
                   19396:
                   19397:        * aixcrypt.exp: Initial revision
                   19398:
                   19399: 1994-05-28 15:11  millert
                   19400:
                   19401:        * Makefile.in: added aixcrypt.exp
                   19402:
                   19403: 1994-05-28 13:21  millert
                   19404:
                   19405:        * parse.lex, parse.yacc: moved config.h to top of includes
                   19406:
                   19407: 1994-05-25 15:48  millert
                   19408:
                   19409:        * find_path.c: now don't bitch if get EACCESS (treat like EPERM)
                   19410:
                   19411: 1994-05-24 23:08  millert
                   19412:
                   19413:        * visudo.c: added -v flag and usage()
                   19414:
                   19415: 1994-05-24 23:08  millert
                   19416:
                   19417:        * version.h: fixed a typo
                   19418:
                   19419: 1994-05-24 23:08  millert
                   19420:
                   19421:        * sudo.c: cast Argv to a const for exec added -v flag
                   19422:
                   19423: 1994-05-24 23:07  millert
                   19424:
                   19425:        * logging.c: mail_argv is now a const
                   19426:
                   19427: 1994-05-24 23:07  millert
                   19428:
                   19429:        * configure.in: only set RETSIGTYPE if it is not set already
                   19430:
                   19431: 1994-05-24 23:07  millert
                   19432:
                   19433:        * aclocal.m4: now defines  & STDC_HEADERS for Irix
                   19434:
                   19435: 1994-05-24 23:07  millert
                   19436:
                   19437:        * Makefile.in: added version.h
                   19438:
                   19439: 1994-05-24 21:25  millert
                   19440:
                   19441:        * insults.h, sudo.h: prevent multiple inclusion
                   19442:
                   19443: 1994-05-24 21:20  millert
                   19444:
                   19445:        * version.h: Initial revision
                   19446:
                   19447: 1994-05-24 21:09  millert
                   19448:
                   19449:        * parse.lex, parse.yacc: now includes config.h
                   19450:
                   19451: 1994-05-24 20:54  millert
                   19452:
                   19453:        * aclocal.m4: now talks about sunos 4.x
                   19454:
                   19455: 1994-05-24 20:23  millert
                   19456:
                   19457:        * visudo.c: calls to Exit now pass an arg
                   19458:
                   19459: 1994-05-24 18:00  millert
                   19460:
                   19461:        * visudo.c: signal handler now takes an int argument
                   19462:
                   19463: 1994-05-24 18:00  millert
                   19464:
                   19465:        * CHANGES: updated
                   19466:
                   19467: 1994-05-24 17:44  millert
                   19468:
                   19469:        * sudo.c: ok, the getcwd() is now *really* done as the user
                   19470:
                   19471: 1994-05-24 17:44  millert
                   19472:
                   19473:        * configure.in: changed AIX STATIC_FLAGS
                   19474:
                   19475: 1994-05-24 16:27  millert
                   19476:
                   19477:        * aclocal.m4: solaris now defines SVR4
                   19478:
                   19479: 1994-05-24 16:18  millert
                   19480:
                   19481:        * sudo.h: added cwd and fixed stupid core dump that makes no sense.
                   19482:          sigh.
                   19483:
                   19484: 1994-05-24 16:18  millert
                   19485:
                   19486:        * sudo.c: moved getcwd stuff into load_globals
                   19487:
                   19488: 1994-05-24 16:18  millert
                   19489:
                   19490:        * parse.c: took out externs that are in suod.h
                   19491:
                   19492: 1994-05-24 16:18  millert
                   19493:
                   19494:        * logging.c: moved cwd into load_globals
                   19495:
                   19496: 1994-05-24 16:17  millert
                   19497:
                   19498:        * find_path.c: moved cwd stuff
                   19499:
                   19500: 1994-05-24 15:55  millert
                   19501:
                   19502:        * Makefile.in: fixed make distclean & realclean
                   19503:
                   19504: 1994-05-24 12:51  millert
                   19505:
                   19506:        * TODO: updated .,
                   19507:
                   19508: 1994-05-24 12:51  millert
                   19509:
                   19510:        * CHANGES: added solaris changes
                   19511:
                   19512: 1994-05-24 12:51  millert
                   19513:
                   19514:        * aclocal.m4: added solaris changes, need to rework
                   19515:
                   19516: 1994-05-24 12:50  millert
                   19517:
                   19518:        * configure.in: cleaned up for solaris
                   19519:
                   19520: 1994-05-24 12:13  millert
                   19521:
                   19522:        * logging.c: reinstall reapchild signal handler for non-bsd signals
                   19523:
                   19524: 1994-05-24 12:03  millert
                   19525:
                   19526:        * sudo.h: took out getdtablesize() emulation for HP-UX (no longer
                   19527:          needed)
                   19528:
                   19529: 1994-05-24 12:03  millert
                   19530:
                   19531:        * sudo.c: support for HAVE_SYSCONF
                   19532:
                   19533: 1994-05-24 12:02  millert
                   19534:
                   19535:        * visudo.c: added <fcntl.h> for solaris & reorg'd the includes +
                   19536:          minor prettying up /
                   19537:
                   19538: 1994-05-23 20:26  millert
                   19539:
                   19540:        * config.h.in: added HAVE_SYSCONF
                   19541:
                   19542: 1994-05-16 18:57  millert
                   19543:
                   19544:        * configure.in: now tells you what os you are running /.
                   19545:
                   19546: 1994-05-16 18:56  millert
                   19547:
                   19548:        * aclocal.m4: took out extra ','
                   19549:
                   19550: 1994-05-14 17:56  millert
                   19551:
                   19552:        * config.h.in: added _BSD_COMPAT
                   19553:
                   19554: 1994-05-14 17:56  millert
                   19555:
                   19556:        * aclocal.m4: fixed for irix5
                   19557:
                   19558: 1994-05-14 17:55  millert
                   19559:
                   19560:        * CHANGES: updated
                   19561:
                   19562: 1994-05-14 17:27  millert
                   19563:
                   19564:        * sudo.c: uid seinitialized to -2
                   19565:
                   19566: 1994-04-28 12:36  millert
                   19567:
                   19568:        * sudo.c: now removes LIBPATH for AIX
                   19569:
                   19570: 1994-03-12 20:41  millert
                   19571:
                   19572:        * configure.in: now uses ufc if it finds it
                   19573:
                   19574: 1994-03-12 17:42  millert
                   19575:
                   19576:        * sudo.h: no longer define yyval & yylval since yacc does it
                   19577:
                   19578: 1994-03-12 17:42  millert
                   19579:
                   19580:        * parse.lex: now defines yylval as extenr
                   19581:
                   19582: 1994-03-12 17:41  millert
                   19583:
                   19584:        * configure.in: BROKEN_GETPASS is now an OPTION
                   19585:
                   19586: 1994-03-12 17:41  millert
                   19587:
                   19588:        * config.h.in: took out BROKEN_GETPASS
                   19589:
                   19590: 1994-03-12 17:20  millert
                   19591:
                   19592:        * Makefile.in: took out big comment
                   19593:
                   19594: 1994-03-12 16:24  millert
                   19595:
                   19596:        * README: updated
                   19597:
                   19598: 1994-03-12 16:20  millert
                   19599:
                   19600:        * Makefile.in: took out README.beta
                   19601:
                   19602: 1994-03-12 16:19  millert
                   19603:
                   19604:        * SUPPORTED: Initial revision
                   19605:
                   19606: 1994-03-12 16:19  millert
                   19607:
                   19608:        * INSTALL: now reference SUPPORTED .,
                   19609:
                   19610: 1994-03-12 16:17  millert
                   19611:
                   19612:        * config.h.in: now check for convex OR __convex__
                   19613:
                   19614: 1994-03-12 16:16  millert
                   19615:
                   19616:        * aclocal.m4: now check for convex or __convex__
                   19617:
                   19618: 1994-03-12 16:15  millert
                   19619:
                   19620:        * Makefile.in: added dist target
                   19621:
                   19622: 1994-03-12 15:19  millert
                   19623:
                   19624:        * aclocal.m4: use __convex__
                   19625:
                   19626: 1994-03-12 14:33  millert
                   19627:
                   19628:        * find_path.c: now use _S_* stat stuff to be ansi-like
                   19629:
                   19630: 1994-03-12 14:11  millert
                   19631:
                   19632:        * INSTALL: updated for configure directions
                   19633:
                   19634: 1994-03-12 14:05  millert
                   19635:
                   19636:        * Makefile.in: distclean now removes config.h and pathnames.h
                   19637:
                   19638: 1994-03-12 14:03  millert
                   19639:
                   19640:        * CHANGES: updated
                   19641:
                   19642: 1994-03-12 14:00  millert
                   19643:
                   19644:        * TODO: fixed typoe
                   19645:
                   19646: 1994-03-12 13:57  millert
                   19647:
                   19648:        * Makefile.in, visudo.c: updated version
                   19649:
                   19650: 1994-03-12 13:57  millert
                   19651:
                   19652:        * config.h.in, pathnames.h.in: added copyright header
                   19653:
                   19654: 1994-03-12 13:55  millert
                   19655:
                   19656:        * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
                   19657:          parse.yacc, sudo.c, sudo.h: udpated version
                   19658:
                   19659: 1994-03-12 13:39  millert
                   19660:
                   19661:        * visudo.c: udpated to use configure + pathnames.h
                   19662:
                   19663: 1994-03-12 13:37  millert
                   19664:
                   19665:        * Makefile.in, config.h.in, configure.in, aclocal.m4: updated
                   19666:
                   19667: 1994-03-12 13:37  millert
                   19668:
                   19669:        * sudo.h: now works with configure
                   19670:
                   19671: 1994-03-12 13:36  millert
                   19672:
                   19673:        * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
                   19674:          updated to work with configure + pathnames.h
                   19675:
                   19676: 1994-03-12 10:40  millert
                   19677:
                   19678:        * Makefile.in: added LEXLIB
                   19679:
                   19680: 1994-03-10 03:18  millert
                   19681:
                   19682:        * COPYING: updated gnu general licence to versio 2
                   19683:
                   19684: 1994-03-10 02:44  millert
                   19685:
                   19686:        * pathnames.h.in, config.h.in: Initial revision
                   19687:
                   19688: 1994-03-10 01:43  millert
                   19689:
                   19690:        * sudo.h: changed to work with configure
                   19691:
                   19692: 1994-03-09 18:51  millert
                   19693:
                   19694:        * Makefile.in, aclocal.m4, configure.in: Initial revision
                   19695:
                   19696: 1994-03-09 17:36  millert
                   19697:
                   19698:        * visudo.c: now uses defines used by configure
                   19699:
                   19700: 1994-03-01 16:31  millert
                   19701:
                   19702:        * find_path.c: sudo won't bitch about EPERM now, for real
                   19703:
                   19704: 1994-02-28 00:36  millert
                   19705:
                   19706:        * logging.c: renamed exec_argv to eliminate a libc name clash with
                   19707:          ksros
                   19708:
                   19709: 1994-02-28 00:28  millert
                   19710:
                   19711:        * CHANGES: corrected
                   19712:
                   19713: 1994-02-28 00:27  millert
                   19714:
                   19715:        * logging.c, sudo.c, sudo.h: execve -> execv
                   19716:
                   19717: 1994-02-27 23:27  millert
                   19718:
                   19719:        * TODO: upated
                   19720:
                   19721: 1994-02-27 23:19  millert
                   19722:
                   19723:        * PORTING: added 2 mroe items
                   19724:
                   19725: 1994-02-27 23:12  millert
                   19726:
                   19727:        * CHANGES: updated
                   19728:
                   19729: 1994-02-27 23:11  millert
                   19730:
                   19731:        * sudo.h: added UMASK and mode_t declaration
                   19732:
                   19733: 1994-02-27 23:11  millert
                   19734:
                   19735:        * sudo.c: added UMASK
                   19736:
                   19737: 1994-02-27 20:55  millert
                   19738:
                   19739:        * logging.c: now opens log file with mode 077
                   19740:
                   19741: 1994-02-27 20:55  millert
                   19742:
                   19743:        * check.c: saved current umask ans restores it
                   19744:
                   19745: 1994-02-27 20:36  millert
                   19746:
                   19747:        * sudo.h: added MAXLOGFILELEN
                   19748:
                   19749: 1994-02-27 20:35  millert
                   19750:
                   19751:        * logging.c: split long log lines.  FOr syslog, split into multiple
                   19752:          entries, for a log file, indent the extra for readability
                   19753:
                   19754: 1994-02-27 17:22  millert
                   19755:
                   19756:        * CHANGES: added changes
                   19757:
                   19758: 1994-02-27 17:18  millert
                   19759:
                   19760:        * sudo.h: MAXLOGLEN & MAXSYSLOGLEN are now different (as they
                   19761:          should be)
                   19762:
                   19763: 1994-02-25 16:04  millert
                   19764:
                   19765:        * TODO: added input from Brett M Hogden <hogden@rge.com>
                   19766:
                   19767: 1994-02-16 13:35  millert
                   19768:
                   19769:        * sudo.c: added rmenv() to remove stuff from environ.  can now uses
                   19770:          execvp() OR execve() becuase of this.
                   19771:
                   19772: 1994-02-16 13:35  millert
                   19773:
                   19774:        * logging.c: now uses execvp() OR execve()
                   19775:
                   19776: 1994-02-16 13:31  millert
                   19777:
                   19778:        * sudo.h: added USE_EXECVE
                   19779:
                   19780: 1994-02-16 13:27  millert
                   19781:
                   19782:        * sudo.h: added environ
                   19783:
                   19784: 1994-02-16 12:53  millert
                   19785:
                   19786:        * find_path.c: now ignore EPERM
                   19787:
                   19788: 1994-02-15 23:52  millert
                   19789:
                   19790:        * sudo.h: moved some func decls out of sudo.h and into sudo.c as
                   19791:          statics /.
                   19792:
                   19793: 1994-02-15 23:52  millert
                   19794:
                   19795:        * CHANGES: updated
                   19796:
                   19797: 1994-02-15 23:40  millert
                   19798:
                   19799:        * sudo.h: took out Envp
                   19800:
                   19801: 1994-02-14 12:28  millert
                   19802:
                   19803:        * BUGS: Initial revision
                   19804:
                   19805: 1994-02-10 14:29  millert
                   19806:
                   19807:        * sudo.c, sudo.h, CHANGES: added SECURE_PATH
                   19808:
                   19809: 1994-02-10 14:05  millert
                   19810:
                   19811:        * sudo.h: added SECURE_PATH
                   19812:
                   19813: 1994-02-10 13:50  millert
                   19814:
                   19815:        * INSTALL: added sample.sudoers note
                   19816:
                   19817: 1994-02-10 13:47  millert
                   19818:
                   19819:        * sudoers: Initial revision
                   19820:
                   19821: 1994-02-09 14:54  millert
                   19822:
                   19823:        * find_path.c: fixed typo
                   19824:
                   19825: 1994-02-08 23:06  millert
                   19826:
                   19827:        * PORTING: took out SAVED_UID garbage
                   19828:
                   19829: 1994-02-08 22:55  millert
                   19830:
                   19831:        * INSTALL: mentioned HAL
                   19832:
                   19833: 1994-02-08 22:50  millert
                   19834:
                   19835:        * sudo.h: added HAL line
                   19836:
                   19837: 1994-02-08 22:48  millert
                   19838:
                   19839:        * insults.h: added HAL insults
                   19840:
                   19841: 1994-02-08 22:48  millert
                   19842:
                   19843:        * TODO: updated
                   19844:
                   19845: 1994-02-08 22:02  millert
                   19846:
                   19847:        * logging.c: more verbose error if mailer not found
                   19848:
                   19849: 1994-02-08 22:02  millert
                   19850:
                   19851:        * check.c: now do getpwent as root for soem shadow password systems
                   19852:          (bsdi)
                   19853:
                   19854: 1994-02-08 13:22  millert
                   19855:
                   19856:        * sudo.h: took out SAVED_UID garbade
                   19857:
                   19858: 1994-02-08 13:21  millert
                   19859:
                   19860:        * sudo.c: took out SAVED_UID garbage since it don't work
                   19861:
                   19862: 1994-02-06 17:43  millert
                   19863:
                   19864:        * README: updated
                   19865:
                   19866: 1994-02-06 17:40  millert
                   19867:
                   19868:        * insults.h: added a missing space :-)
                   19869:
                   19870: 1994-02-05 19:48  millert
                   19871:
                   19872:        * sudo.c, sudo.h: took out multimax cruft
                   19873:
                   19874: 1994-02-05 19:30  millert
                   19875:
                   19876:        * INSTALL: minor update
                   19877:
                   19878: 1994-02-05 19:30  millert
                   19879:
                   19880:        * PORTING: finished
                   19881:
                   19882: 1994-02-05 19:19  millert
                   19883:
                   19884:        * sudo.c: fixed a typo + indentation
                   19885:
                   19886: 1994-02-05 18:43  millert
                   19887:
                   19888:        * sudo.h: took outumoved some defines to the config file ,.  ,.
                   19889:
                   19890: 1994-02-05 15:17  millert
                   19891:
                   19892:        * PORTING: Initial revision
                   19893:
                   19894: 1994-02-05 15:17  millert
                   19895:
                   19896:        * TODO: did #6
                   19897:
                   19898: 1994-02-05 15:16  millert
                   19899:
                   19900:        * sudo.h: added HAS_SAVED_UID
                   19901:
                   19902: 1994-02-05 15:16  millert
                   19903:
                   19904:        * sudo.c: put back AIX cruft
                   19905:
                   19906: 1994-02-03 00:44  millert
                   19907:
                   19908:        * sudo.c: aix changes
                   19909:
                   19910: 1994-02-02 01:31  millert
                   19911:
                   19912:        * CHANGES: updated
                   19913:
                   19914: 1994-02-02 01:30  millert
                   19915:
                   19916:        * check.c, logging.c, parse.c, sudo.c, sudo.h: now is only root
                   19917:          when abs necesary
                   19918:
                   19919: 1994-02-01 22:21  millert
                   19920:
                   19921:        * check.c: added missing %s\n
                   19922:
                   19923: 1994-01-31 02:06  millert
                   19924:
                   19925:        * install-sh: Initial revision
                   19926:
                   19927: 1994-01-31 01:58  millert
                   19928:
                   19929:        * CHANGES, TODO: updated
                   19930:
                   19931: 1994-01-31 01:56  millert
                   19932:
                   19933:        * sudo.c: now removed _RLD_* for alphas
                   19934:
                   19935: 1994-01-31 01:50  millert
                   19936:
                   19937:        * INSTALL: updated for new config scheme
                   19938:
                   19939: 1994-01-30 19:42  millert
                   19940:
                   19941:        * find_path.c: more verbose eror messages
                   19942:
                   19943: 1994-01-27 14:08  millert
                   19944:
                   19945:        * TODO: now have solaris
                   19946:
                   19947: 1994-01-27 14:07  millert
                   19948:
                   19949:        * sudo.h: define __svr4__ for SOLARIS
                   19950:
                   19951: 1994-01-27 14:07  millert
                   19952:
                   19953:        * check.c: added svr4 junk for shadow pws for solaris 2.x
                   19954:
                   19955: 1994-01-27 13:19  millert
                   19956:
                   19957:        * check.c, sudo.c: took out setuid(0) and setreuid(udi) garbage.
                   19958:          Its not needed since we start out setuid with the correct perms.
                   19959:
                   19960: 1994-01-26 19:51  millert
                   19961:
                   19962:        * check.c, sudo.c, sudo.h: now use setreuid()
                   19963:
                   19964: 1994-01-26 18:58  millert
                   19965:
                   19966:        * sudo.man: revised AUTHORS secrtion & added ENV_EDITOR stuff to
                   19967:          VARIABLES sectoin
                   19968:
                   19969: 1994-01-26 18:52  millert
                   19970:
                   19971:        * visudo.c: now uses ENV_EDITOR if you want to use the EDITOR envar
                   19972:
                   19973: 1994-01-26 18:52  millert
                   19974:
                   19975:        * sudo.h: now uses ENV_EDITOR if you want to use the EDITOR envar
                   19976:          >> .
                   19977:
                   19978: 1993-12-07 01:33  millert
                   19979:
                   19980:        * README: minor update + spell fix
                   19981:
                   19982: 1993-12-07 01:33  millert
                   19983:
                   19984:        * INSTALL: rewrote most of this
                   19985:
                   19986: 1993-12-07 01:13  millert
                   19987:
                   19988:        * sudo.h: added all options that are in the Makefile
                   19989:
                   19990: 1993-12-07 00:23  millert
                   19991:
                   19992:        * getpass.c: now use USE_TERMIO #define for sgi & hpux
                   19993:
                   19994: 1993-12-06 23:19  millert
                   19995:
                   19996:        * TODO: todo: posix sigs
                   19997:
                   19998: 1993-12-06 01:12  millert
                   19999:
                   20000:        * check.c, find_path.c: always include strings.h
                   20001:
                   20002: 1993-12-05 20:34  millert
                   20003:
                   20004:        * visudo.c: added STATICEDITOR
                   20005:
                   20006: 1993-12-05 20:30  millert
                   20007:
                   20008:        * sudo.h: sgi has vi in /usr/bin too
                   20009:
                   20010: 1993-12-05 20:23  millert
                   20011:
                   20012:        * sudo.man: added VISUAL
                   20013:
                   20014: 1993-12-02 22:20  millert
                   20015:
                   20016:        * sudo.h: sue /usr/bin/vi on some systems
                   20017:
                   20018: 1993-12-02 22:19  millert
                   20019:
                   20020:        * sudo.c: fixed warning (include strings.h)
                   20021:
                   20022: 1993-12-02 22:06  millert
                   20023:
                   20024:        * sudo.man: added John_Rouillard@dl5000.bc.edu's changes (new
                   20025:          features)
                   20026:
                   20027: 1993-12-02 21:38  millert
                   20028:
                   20029:        * CHANGES: changes from John_Rouillard@dl5000.bc.edu
                   20030:
                   20031: 1993-12-02 21:35  millert
                   20032:
                   20033:        * visudo.c: added EDITOR envar
                   20034:
                   20035: 1993-12-02 21:34  millert
                   20036:
                   20037:        * check.c, find_path.c, parse.c, sudo.c: added patches from
                   20038:          John_Rouillard      directory spec  uses EDITOR
                   20039:
                   20040: 1993-12-01 19:32  millert
                   20041:
                   20042:        * getpass.c: added flush for hpux
                   20043:
                   20044: 1993-11-30 13:37  millert
                   20045:
                   20046:        * sudo.c: no longer assume malloc returns a char *
                   20047:
                   20048: 1993-11-29 20:35  millert
                   20049:
                   20050:        * sudo.c: alpha change to remove LD_-like thing fixed SHLIB_PATH
                   20051:          stuff -- now gets removed correctly
                   20052:
                   20053: 1993-11-29 19:31  millert
                   20054:
                   20055:        * sudo.h: added STD_HEADERS macro
                   20056:
                   20057: 1993-11-29 19:14  millert
                   20058:
                   20059:        * sudo.c: now uses STD_HEADERS macor for ansi
                   20060:
                   20061: 1993-11-29 19:14  millert
                   20062:
                   20063:        * find_path.c: now uses STD_HEADERS macro
                   20064:
                   20065: 1993-11-29 19:13  millert
                   20066:
                   20067:        * check.c: niceties for C compiler bitches -- no real change
                   20068:
                   20069: 1993-11-29 13:04  millert
                   20070:
                   20071:        * visudo.c: now doesn't fclose a file never opened.
                   20072:
                   20073: 1993-11-28 16:35  millert
                   20074:
                   20075:        * sudo.man: added visudo line
                   20076:
                   20077: 1993-11-28 16:31  millert
                   20078:
                   20079:        * sudo.man: added error stuff added me in there...
                   20080:
                   20081: 1993-11-28 03:12  millert
                   20082:
                   20083:        * CHANGES: noted insults
                   20084:
                   20085: 1993-11-28 03:01  millert
                   20086:
                   20087:        * INSTALL: added blurb about reading stuff
                   20088:
                   20089: 1993-11-28 03:00  millert
                   20090:
                   20091:        * sudo.h: added insults
                   20092:
                   20093: 1993-11-28 03:00  millert
                   20094:
                   20095:        * insults.h: corrected somments and removed newlines
                   20096:
                   20097: 1993-11-28 03:00  millert
                   20098:
                   20099:        * check.c: now uses insults
                   20100:
                   20101: 1993-11-28 02:45  millert
                   20102:
                   20103:        * insults.h: Initial revision
                   20104:
                   20105: 1993-11-27 19:46  millert
                   20106:
                   20107:        * INSTALL: added dec syslog note
                   20108:
                   20109: 1993-11-27 19:25  millert
                   20110:
                   20111:        * sample.sudoers: added real stuff in there
                   20112:
                   20113: 1993-11-27 19:24  millert
                   20114:
                   20115:        * TODO: added a todo
                   20116:
                   20117: 1993-11-27 19:10  millert
                   20118:
                   20119:        * TODO: added one
                   20120:
                   20121: 1993-11-27 18:59  millert
                   20122:
                   20123:        * sample.sudoers: Initial revision
                   20124:
                   20125: 1993-11-27 18:59  millert
                   20126:
                   20127:        * sudo.man: updated with changes
                   20128:
                   20129: 1993-11-27 18:52  millert
                   20130:
                   20131:        * sudo.man: Initial revision
                   20132:
                   20133: 1993-11-27 18:48  millert
                   20134:
                   20135:        * CHANGES, COPYING, INSTALL, README, TODO, indent.pro: Initial
                   20136:          revision
                   20137:
                   20138: 1993-11-27 18:46  millert
                   20139:
                   20140:        * visudo.c: updated version number and took out jeff's old addr
                   20141:          since it is no good
                   20142:
                   20143: 1993-11-27 18:42  millert
                   20144:
                   20145:        * sudo.h, check.c, find_path.c, logging.c, parse.c, parse.lex,
                   20146:          parse.yacc, sudo.c: updated version number and took out jeff's
                   20147:          email (since it is invalid)
                   20148:
                   20149: 1993-10-28 09:36  millert
                   20150:
                   20151:        * check.c: added fflush()
                   20152:
                   20153: 1993-10-22 20:46  millert
                   20154:
                   20155:        * find_path.c: now return NULL instead pfof exiting for
                   20156:          nopnn-fatal errors
                   20157:
                   20158: 1993-10-21 16:57  millert
                   20159:
                   20160:        * check.c: new banner
                   20161:
                   20162: 1993-10-21 16:42  millert
                   20163:
                   20164:        * parse.lex: now sudo.h gets included first
                   20165:
                   20166: 1993-10-17 20:31  millert
                   20167:
                   20168:        * parse.lex: now can use flex
                   20169:
                   20170: 1993-10-17 20:31  millert
                   20171:
                   20172:        * sudo.h: linux patch
                   20173:
                   20174: 1993-10-17 20:30  millert
                   20175:
                   20176:        * sudo.c: hpux 9 fix, removes SHLIB_PATH linux patch
                   20177:
                   20178: 1993-10-17 20:30  millert
                   20179:
                   20180:        * check.c: linux diff
                   20181:
                   20182: 1993-10-15 16:03  millert
                   20183:
                   20184:        * find_path.c: stat now ignores EINVAL
                   20185:
                   20186: 1993-10-05 21:48  millert
                   20187:
                   20188:        * find_path.c, sudo.c: now declare strdup as extern
                   20189:
                   20190: 1993-10-04 15:23  millert
                   20191:
                   20192:        * visudo.c: reformatted with indent + by hand
                   20193:
                   20194: 1993-10-04 15:10  millert
                   20195:
                   20196:        * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c,
                   20197:          sudo.h: used indent to "fix" coding style
                   20198:
                   20199: 1993-10-03 20:12  millert
                   20200:
                   20201:        * find_path.c: now checks '.' or '.' or '' in PATH -- but does it
                   20202:          LAST should maybe move the code that does this into the loop
                   20203:          body.  makes it messier tho.  hmmm.
                   20204:
                   20205: 1993-09-08 11:53  millert
                   20206:
                   20207:        * find_path.c: redid the fix for non-executable files in an easier
                   20208:          to read way plus some minor aethetic changes
                   20209:
                   20210: 1993-09-08 11:39  millert
                   20211:
                   20212:        * find_path.c: fixed bug with non-executable tings of same name in
                   20213:          path introduced by checkig errno after stat(2).
                   20214:
                   20215: 1993-09-05 10:02  millert
                   20216:
                   20217:        * sudo.c: fixed off by one error
                   20218:
                   20219: 1993-09-05 09:55  millert
                   20220:
                   20221:        * find_path.c: now handles decending below '/' correctly
                   20222:
                   20223: 1993-09-05 08:35  millert
                   20224:
                   20225:        * sudo.c: now actually builds Envp instead of munging envp
                   20226:
                   20227: 1993-09-04 15:42  millert
                   20228:
                   20229:        * parse.yacc: now  includes sys/param.h
                   20230:
                   20231: 1993-09-04 15:41  millert
                   20232:
                   20233:        * visudo.c: now includes sys/param.h
                   20234:
                   20235: 1993-09-04 15:30  millert
                   20236:
                   20237:        * sudo.h: fixed ifndef -> ifdef
                   20238:
                   20239: 1993-09-04 15:19  millert
                   20240:
                   20241:        * qualify.c: make more like find_path.c
                   20242:
                   20243: 1993-09-04 15:18  millert
                   20244:
                   20245:        * find_path.c: rewritten by millert
                   20246:
                   20247: 1993-09-04 15:17  millert
                   20248:
                   20249:        * sudo.h: fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP
                   20250:          added info about new defines in the comment
                   20251:
                   20252: 1993-09-04 15:15  millert
                   20253:
                   20254:        * logging.c: now uses USE_CWD
                   20255:
                   20256: 1993-09-04 14:10  millert
                   20257:
                   20258:        * sudo.h: added delc for clean_envp() and Envp
                   20259:
                   20260: 1993-09-04 14:09  millert
                   20261:
                   20262:        * sudo.c: now rips LD_* env vars out of envp and passed sanitized
                   20263:          Envp to exec
                   20264:
                   20265: 1993-09-04 14:09  millert
                   20266:
                   20267:        * logging.c: now uses execve()
                   20268:
                   20269: 1993-09-04 14:08  millert
                   20270:
                   20271:        * find_path.c: ENOTDIR is ok now too (in case part of the path is
                   20272:          bogus)
                   20273:
                   20274: 1993-09-04 08:17  millert
                   20275:
                   20276:        * qualify.c: now works correctly (ttaltotal rewrite)
                   20277:
                   20278: 1993-09-04 07:59  millert
                   20279:
                   20280:        * parse.lex: now includes sys/param.h didn't match trailing / --
                   20281:          fix from rouilj@cs.umb.edu
                   20282:
                   20283: 1993-06-11 18:04  millert
                   20284:
                   20285:        * sudo.c: moved around the #ifndef _AIX
                   20286:
                   20287: 1993-06-11 18:03  millert
                   20288:
                   20289:        * check.c, logging.c, parse.c: Initial revision
                   20290:
                   20291: 1993-03-20 07:57  millert
                   20292:
                   20293:        * qualify.c: Initial revision
                   20294:
                   20295: 1993-03-13 15:09  millert
                   20296:
                   20297:        * find_path.c: now works if you do sudo bin/test
                   20298:
                   20299: 1993-03-13 14:20  millert
                   20300:
                   20301:        * find_path.c: works
                   20302:
                   20303: 1993-03-02 18:28  millert
                   20304:
                   20305:        * sudo.h: Initial revision
                   20306:
                   20307: 1993-03-02 11:35  millert
                   20308:
                   20309:        * visudo.c: Initial revision
                   20310:
                   20311: 1993-03-02 11:32  millert
                   20312:
                   20313:        * parse.lex, parse.yacc: Initial revision
                   20314:
                   20315: 1993-02-16 13:24  millert
                   20316:
                   20317:        * sudo.c: took out errno.h
                   20318:
                   20319: 1993-02-16 13:22  millert
                   20320:
                   20321:        * sudo.c: now spews error if exec fails and exits with -1
                   20322:
                   20323: 1993-02-16 12:07  millert
                   20324:
                   20325:        * sudo.c: Initial revision
                   20326:
                   20327: 1993-02-15 22:27  millert
                   20328:
                   20329:        * find_path.c: now only execs files with (an) executable bit set.
                   20330:
                   20331: 1993-02-15 22:01  millert
                   20332:
                   20333:        * find_path.c: Initial revision
                   20334:
                   20335: 1993-02-15 14:32  millert
                   20336:
                   20337:        * getpass.c: added nice comment
                   20338:
                   20339: 1993-02-15 14:19  millert
                   20340:
                   20341:        * getpass.c: now works on sgi's
                   20342:
                   20343: 1993-02-15 13:57  millert
                   20344:
                   20345:        * getpass.c: Initial revision
                   20346: