Imported Upstream version 1.8.1p2
[debian/sudo] / ChangeLog
1 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * Don't let the fnmatch/glob macros expand the function prototype.
4         [d449e9a8f447] <1.8>
5
6 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7
8         * Resolve namespace collisions on HP-UX ia64 and possibly others by
9         adding a rpl_ prefix to our fnmatch and glob replacements and
10         #defining rpl_foo to foo in the header files.
11         [d23889375b21] <1.8>
12
13 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14
15         * Split ALL, ROLE and TYPE into their own actions. Since you can only
16         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
17         the non-SELinux case. This is safe because the actions are in one
18         big switch() statement.
19         [0bd9b7e37ab1] <1.8>
20
21         * Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
22         [8dec97b359e0] <1.8>
23
24         * askpass moved from sudoers to sudo.conf in sudo 1.8.0
25         [1001d87d82ed] <1.8>
26
27         * Remove obsolete warning about runas_default and ordering. Move
28         syslog facility and priority lists into the section where the
29         relevant options are described.
30         [1286b9624021] <1.8>
31
32 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
33
34         * Fix SIA support; we no longer have access to the real argc and argv
35         so allocate space for a fake one and use the argv passed to the
36         plugin with "sudo" for argv[0].
37         [7c11eeffb91c] <1.8>
38
39         * Remove useless realloc when trying to get the buffer size right.
40         [58128e7f4e28] <1.8>
41
42         * Be explicit when setting euid to 0 before call to setreuid(0, 0)
43         [95769a564ab8] <1.8>
44
45 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
46
47         * NEWS:
48         sudo 1.8.1p1 updates
49         [de3d688b5bb1] <1.8>
50
51         * configure, configure.in:
52         Need to do checks for krb5_verify_user, krb5_init_secure_context and
53         krb5_get_init_creds_opt_alloc regardless of whether or
54         notkrb5-config is present.
55         [456c4a9cd5d6] <1.8>
56
57 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
58
59         * Work around weird AIX saved uid semantics on setuid() and
60         setreuid(). On AIX, setuid() will only set the saved uid if the euid
61         is already 0.
62         [5d0a69e9d181] <1.8>
63
64 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
65
66         * update copyright year
67         [fa8da6d55783] <1.8>
68
69         * Treat a missing includedir like an empty one and do not return an
70         error.
71         [5fd9fe004728] <1.8>
72
73 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
74
75         * Fix ARCH setting in cross-compile Solaris packages.
76         [8ce40940f6c9] <1.8>
77
78         * Fix aix version setting.
79         [02a9e25d46ba] <1.8>
80
81         * Remove extraneous parens in LDAP filter when sudoers_search_filter
82         is enabled that causes a search error. From Matthew Thomas.
83         [b67be9b51ec6] <1.8>
84
85 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
86
87         * Correct sizeof() to fix test failure.
88         [a11b89fd13f9] <1.8>
89
90         * "install" target should depend on "install-dirs". Fixes "make -j"
91         problem and closes bz #487. From Chris Coleman.
92         [06ab0558f848] <1.8>
93
94 2011-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
95
96         * .hgtags:
97         Added tag SUDO_1_8_1 for changeset 0ed6281995f0
98         [543d41a163e9] <1.8>
99
100         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
101         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
102         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
103         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
104         Regen man pages for 1.8.1
105         [0ed6281995f0] [SUDO_1_8_1] <1.8>
106
107 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
108
109         * Add HAVE_RFC1938_SKEYCHALLENGE
110         [c0d7eb39799d] <1.8>
111
112 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
113
114         * Mention plugin loading and libgcc changes
115         [b74929cba37c] <1.8>
116
117         * Load plugins after parsing arguments and potentially printing the
118         version. That way, an error loading or initializing a plugin
119         doesn't break "sudo -h" or "sudo -V".
120         [c1ecb5979cf0] <1.8>
121
122         * Makefile.in:
123         When using a sub-shell to invoke the sub-make, exec make instead of
124         running it inside the shell to avoid an extra process.
125         [9439f016c993] <1.8>
126
127         * Stop testing unspecified behavior in fnmatch Make glob test more
128         portable
129         [87a91d76fbff] <1.8>
130
131         * No need to add current dir to include path and having it breaks the
132         test programs that expect to get the system glob.h and fnmatch.h
133         [3ae7f9e7b710] <1.8>
134
135         * configure, configure.in:
136         Fix and document --with-plugindir; partially from Diego Elio Petteno
137         [0220a0c2606f] <1.8>
138
139         * Fix fnmatch and glob tests to not use hard-coded flag values in the
140         input file. Link test programs with libreplace so we get our
141         replacement verions as needed.
142         [66bab80241e0] <1.8>
143
144         * Makefile.in:
145         If make in a subdir fails, fail the target in the upper level
146         Makefile too. Adapted from a patch from Diego Elio Petteno
147         [bc35b7813507] <1.8>
148
149         * configure, configure.in:
150         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
151         has this. Adapted from a patch from Diego Elio Petteno
152         [bb6228f484b9] <1.8>
153
154         * Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
155         directly.
156         [47e6d5fadc6d] <1.8>
157
158         * configure, configure.in:
159         Fix warnings when -without-skey, --without-opie, --without-kerb4,
160         --without-kerb5 or --without-SecurID were specified.
161         [1b75035dd129] <1.8>
162
163         * Add plugins/sudoers/sudoers_version.h
164         [1d470c6033ca] <1.8>
165
166         * configure, configure.in:
167         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
168         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
169         of @LDFLAGS@ in plugin Makefile.in files.
170         [dd237f43aa12] <1.8>
171
172 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
173
174         * Mention %#gid support in User_List and Runas_List
175         [37e259b9181b] <1.8>
176
177         * Keep track of sudoers grammar version and report it in the -V
178         output.
179         [0e0b891dd8a4] <1.8>
180
181         * Add multiple inclusion guard
182         [ec6884f51ea8] <1.8>
183
184         * configure, configure.in:
185         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
186         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
187         set it to -Wc,-static-libgcc if not using GNU ld so we don't
188         have a dependency on the shared libgcc in sudoers.so.
189         [28d03f3eb0d2] <1.8>
190
191         * Fix typo; from Petr Uzel
192         [d19b9bd92bd3] <1.8>
193
194 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
195
196         * In dump-only mode, use "root" as the default username instead of
197         "nobody" as the latter may not be available on all systems.
198         [b304111616dd] <1.8>
199
200 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
201
202         * Remove NewArgv/NewArgc, they are no longer needed.
203         [c0a36a42a68c] <1.8>
204
205         * Fix setting of user_args
206         [529e79ea95d1] <1.8>
207
208         * Add '!' token to lex tracing
209         [aef295d428e7] <1.8>
210
211         * Use group bin in test, not wheel as most systems have the bin group
212         but the same is no longer true of wheel.
213         [350347f09c1a] <1.8>
214
215         * Avoid using pre or post increment in a parameter to a ctype(3)
216         function as it might be a macro that causes the increment to happen
217         more than once.
218         [8a94ebdd53b8] <1.8>
219
220 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
221
222         * Strip off the beta or release candidate version when building AIX
223         packages.
224         [00ad950764e2] <1.8>
225
226         * configure, configure.in:
227         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
228         structure checks for glibc which only has __e_termination visible
229         when _GNU_SOURCE is *not* defined.
230         [1d58420a4a4a] <1.8>
231
232         * getuserattr(user, ...) will fall back to the "default" entry
233         automatically, there's no need to check "default" manually.
234         [cefffa82967d] <1.8>
235
236         * Document parser changes.
237         [5038238f60eb] <1.8>
238
239 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
240
241         * Makefile.in:
242         If there is an existing sudoers file, only install if it passes a
243         syntax check.
244         [b1e4c9c56fe0] <1.8>
245
246         * Add runasgroup support to testsudoers
247         [30838590e9de] <1.8>
248
249         * For "make check", keep going even if a test fails.
250         [d3a72f67227e] <1.8>
251
252         * More useful exit codes:
253          * 0 - parsed OK and command matched.
254          * 1 - parse error
255          * 2 - command not matched
256          * 3 - command denied
257         [59301e0769cd] <1.8>
258
259         * Document %#gid, and %:#nonunix_gid syntax.
260         [39ee15af58e9] <1.8>
261
262         * Add support to user_in_group() for treating group names that begin
263         with a '#' as gids.
264         [0eb19980cf5f] <1.8>
265
266         * configure, configure.in:
267         Add explicit check for struct utmpx.ut_exit.e_termination and struct
268         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
269         ut_exit if we detect one or the other.
270         [ab5b665fc04b] <1.8>
271
272 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
273
274         * Add back missing #include of config.h
275         [9c82bec81018] <1.8>
276
277         * Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
278         strftime() does.
279         [1ae630470f8a] <1.8>
280
281         * Quote first argument to AC_DEFUN(); from Elan Ruusamae
282         [c467e9e3b399] <1.8>
283
284 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
285
286         * add new sudoers tests
287         [05f2a0924acc] <1.8>
288
289         * Add test for a newline in the middle of a string when no line
290         continuation character is used.
291         [24b79be5822b] <1.8>
292
293         * Use bitwise AND instead of modulus to check for length being odd. A
294         newline in the middle of a string is an error unless a line
295         continuation character is used.
296         [65c468599688] <1.8>
297
298         * Move lexer globals initialization into init_lexer.
299         [07a1171a1853] <1.8>
300
301         * Fix a potential crash when a non-regular file is present in an
302         includedir. Fixes bz #452
303         [5057cb9516e4] <1.8>
304
305         * On some Linux systems, "uname -p" contains detailed processor info
306         so check "uname -m" first and then "uname -p" if needed. Recognize
307         PLD Linux.
308         [56226c84a060] <1.8>
309
310 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
311
312         * Don't need all sudoers.h here.
313         [43b6ae5999c5] <1.8>
314
315         * Print sudo version early, in case policy plugin init fails.
316         [620f2d0ec4b1] <1.8>
317
318 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
319
320         * Update to match change in input.
321         [69540f84721d] <1.8>
322
323         * Make an empty group or netgroup a syntax error.
324         [4b85bddc494e] <1.8>
325
326         * An empty group or netgroup should be a syntax error.
327         [6ec796972eff] <1.8>
328
329         * Check that uids work in per-user and per-runas Defaults Check that
330         uids and gids work in a Command_Spec
331         [68cf62353420] <1.8>
332
333         * Test empty string in User_Alias and Command_Spec
334         [017d487c31be] <1.8>
335
336         * Allow a group ID in the User_Spec.
337         [37e0bf69c8d8] <1.8>
338
339         * Return an error for the empty string when a word is expected. Allow
340         an ID for per-user or per-runas Defaults.
341         [4c9020779582] <1.8>
342
343 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
344
345         * Fix printing "User_Alias FOO = ALL"
346         [97c9fd7caeb7] <1.8>
347
348 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
349
350         * Better error message about invalid -C argument
351         [2301e7a3835b] <1.8>
352
353         * fix typo
354         [c5acde62a309] <1.8>
355
356         * Fix placement of equal size ('=') in user specification summary.
357         [4d0ffef77ae4] <1.8>
358
359 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
360
361         * update to match sudoers regress
362         [0efb8dc9092a] <1.8>
363
364         * Restore ability to define TRACELEXER and have trace output go to
365         stderr.
366         [441c8b372217] <1.8>
367
368         * Restore old behavior of setting sawspace = TRUE for command line
369         args when a line continuation character is hit to avoid causing
370         problems for existing sudoers files.
371         [963ded6ce070] <1.8>
372
373         * Add test for line continuation and aliases
374         [5703d11a3c46] <1.8>
375
376         * Make test output line up nicely for parse vs. toke
377         [15321ce2d7d9] <1.8>
378
379         * plugins/sudoers/regress/testsudoers/test1.ok,
380         plugins/sudoers/regress/testsudoers/test2.out,
381         plugins/sudoers/regress/testsudoers/test2.sh,
382         plugins/sudoers/regress/testsudoers/test3.ok,
383         plugins/sudoers/regress/testsudoers/test3.sh,
384         plugins/sudoers/regress/visudo/test1.ok,
385         plugins/sudoers/regress/visudo/test1.sh:
386         Move parser tests to sudoers directory and test the tokenizer output
387         too.
388         [111c1ccda334] <1.8>
389
390         * If we match a rule anchored to the beginning of a line after parsing
391         a line continuation character, return an ERROR token. It would be
392         nicer to use REJECT instead but that substantially slows down the
393         lexer.
394         [67e54b14aa9d] <1.8>
395
396         * Move LEXTRACE macro to toke.h so we can use it in yyerror().
397         [e6e04037deed] <1.8>
398
399         * Make lex tracing settable at run-time in testsudoers via the -t
400         flag. Trace output goes to stderr. Will be used by regress tests
401         to check lexer.
402         [a973f43cc0c2] <1.8>
403
404         * Allow whitespace after the modifier in a Defaults entry. E.g.
405         "Defaults: username set_home"
406         [bf876c9fc5bb] <1.8>
407
408 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
409
410         * Don't set CC when cross-compiling.
411         [d3c33dcb02f2] <1.8>
412
413         * Credit Matthew Thomas for the sudoers_search_filter changes.
414         [2209b80664af] <1.8>
415
416         * Add the .sym files to the MANIFEST
417         [bb452b28a009] <1.8>
418
419         * Update for sudo 1.8.1 beta
420         [700d42d80e00] <1.8>
421
422         * user_shell -> run_shell to avoid confusion with the user's SHELL
423         variable.
424         [451b96d5f97e] <1.8>
425
426         * Save the controlling tty process group before suspending in pty
427         mode. Previously, we assumed that the child pgrp == child pid
428         (which is usually, but not always, the case).
429         [b0841d861191] <1.8>
430
431         * Add support for sudoers_search_filter setting in ldap.conf. This
432         can be used to restrict the set of records returned by the LDAP
433         query.
434         [70c5f496e2b3] <1.8>
435
436 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
437
438         * configure, configure.in:
439         Remove the hack to disable -g in CFLAGS unless --with-devel
440         [9459839f50ba] <1.8>
441
442         * The '@' character does not normally need to be quoted.
443         [e66c4c64e514] <1.8>
444
445         * We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
446         if that whitespace is followed by a comma, we want to treat it as
447         part of a list and not transition.
448         [52ae2df9959d] <1.8>
449
450         * Add check for whitespace when a User_List is used for a per-user
451         Defaults entry.
452         [44a4db95be86] <1.8>
453
454         * Expand quoted name checks to cover recent fixes.
455         [bd494b5c2bed] <1.8>
456
457         * Fix parsing of double-quoted names in Defaults and Aliases which was
458         broken in 601d97ea8792.
459         [dfdd58c3eb3b] <1.8>
460
461         * toke_util.c lives in $(srcdir) not $(devdir)
462         [94f8f024782e] <1.8>
463
464 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
465
466         * configure, configure.in:
467         Update version to 1.8.1
468         [531a7d520f18] <1.8>
469
470         * Document major changes in 1.8.1 and add upgrade notes.
471         [116821646140] <1.8>
472
473         * Be careful not to deref user_stat if it is NULL. This cannot
474         currently happen in sudo but might in other programs using the
475         parser.
476         [d72a9c7151c4] <1.8>
477
478         * configure will not add -O2 to CFLAGS if it is already defined to add
479         -O2 to the CFLAGS we pass in when PIE is being used.
480         [2c7fe82be93d] <1.8>
481
482         * Warn about the dangers of log_input and mention iolog_file and
483         iolog_dir in the log_input and log_output descriptions.
484         [edc6aa59aa45] <1.8>
485
486         * sync with git version
487         [b121cf739c77] <1.8>
488
489         * It seems that h comes after i
490         [99ad15015f05] <1.8>
491
492         * Move log_input and log_output to their proper, sorted, location.
493         Document set_utmp and utmp_runas.
494         [216ce8b0ae1a] <1.8>
495
496         * Save the controlling tty process group before suspending so we can
497         restore it when we resume. Fixes job control problems on Linux
498         caused by the previous attemp to fix resuming a shell when I/O
499         logging not enabled.
500         [dfe038f733be] <1.8>
501
502         * Fix printing of the remainder after a newline. Fixes "sudo -l"
503         output corruption that could occur in some cases.
504         [ab2f0a629e0d] <1.8>
505
506         * Add support for ut_exit
507         [7039ec6a73fa] <1.8>
508
509         * Add support for controlling whether utmp is updated and which user
510         is listed in the entry.
511         [1b008ce71eab] <1.8>
512
513         * Fix typo; tupple vs. tuple
514         [67bb5c67ae3d] <1.8>
515
516         * For legacy utmp, strip the /dev/ prefix before trying to determine
517         slot since the ttys file does not include the /dev/ prefix.
518         [8f597114381d] <1.8>
519
520         * Add check for _PATH_UTMP
521         [fe7e2456f017] <1.8>
522
523         * Adapt check_iolog_path to sessid changes
524         [3016201869b6] <1.8>
525
526         * Redo utmp handling. If no getutent()/getutxent() is available,
527         assume a ttyslot-based utmp. If getttyent() is available, use that
528         directly instead of ttyslot() so we don't have to do the stdin dup2
529         dance.
530         [817490c7c20e] <1.8>
531
532         * Move utmp handling into utmp.c
533         [e4729d9259e9] <1.8>
534
535         * Update copyright years.
536         [1065afc00233] <1.8>
537
538 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
539
540         * Add "user_shell" boolean as a way to indicate to the plugin that the
541         -s flag was given.
542         [6e8bc49b7ea7] <1.8>
543
544         * Move sessid out of sudo_user.
545         [00d67d5ba894] <1.8>
546
547         * Log the TSID even if it is not a simple session ID.
548         [490cf0adae29] <1.8>
549
550         * Document noexec in sample.sudo.conf and add back noexec_file section
551         in sudoers with a note that it is deprecated.
552         [c7a2d8d0c563] <1.8>
553
554         * Fix running commands as non-root on systems where setreuid() changes
555         the saved uid based on the effective uid we are changing to.
556         [f3b27db56ba6] <1.8>
557
558 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
559
560         * Move noexec path into sudo.conf now that sudo itself handles noexec.
561         Currently can be configured in sudoers too but is now undocumented
562         and will be removed in a future release.
563         [9c5f64709994] <1.8>
564
565         * Document "Path noexec ..." in sudo.conf. No longer document
566         noexec_file in sudoers, it will be removed in a future release.
567         [959fa6b5217b] <1.8>
568
569         * Move noexec handling to sudo front-end where it is documented as
570         being.
571         [ef6cd4a40c61] <1.8>
572
573         * Add support for disabling exec via solaris privileges. Includes
574         preparation for moving noexec support out of sudoers and into front
575         end as documented.
576         [d9c05ba9a24f] <1.8>
577
578         * Only export the symbols corresponding to the plugin structs.
579         [cb07af1d9b39] <1.8>
580
581         * Install plugins manually instead of using libtool. This works
582         around a problem on AIX where libtool will install a .a file
583         containing the .so file instead of the .so file itself.
584         [1ccf5af58c05] <1.8>
585
586         * Makefile.in:
587         Move check into its own rule since some versions of make will run
588         both targets as the default rule.
589         [7159f37eb552] <1.8>
590
591         * Update to libtool 2.2.10
592         [9e49773b32b7] <1.8>
593
594         * In handle_signals(), restart the read() on EINTR to make sure we
595         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
596         means we have emptied the pipe.
597         [dc2926097b2d] <1.8>
598
599         * Reorder functions to quiet a compiler warning.
600         [5201367e5db4] <1.8>
601
602         * Use the Sun Studio C compiler on Solaris if possible
603         [b8d43b423fb9] <1.8>
604
605 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
606
607         * Fix default setting of osversion variable.
608         [e12905851be5] <1.8>
609
610         * Make two login_class entris consistent.
611         [0671d7b204be] <1.8>
612
613         * Add support for adding a utmp entry when allocating a new pty.
614         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
615         Currently only creates a new entry if the existing tty has a utmp
616         entry.
617         [40ff30099e79] <1.8>
618
619         * Avoid pulling in headers we don't need on Linux For getutx?id(),
620         call setutx?ent() first and always call endutx?ent().
621         [b86f7a13aae9] <1.8>
622
623         * Add some more libs to SUDOERS_LIBS instead of relying on them to be
624         pulled in by SUDO_LIBS.
625         [bcbd16ec56c6] <1.8>
626
627         * Fix return value of "sudo -l command" when command is not allowed,
628         broken in [c7097ea22111]. The default return value is now TRUE and
629         a bad: label is used when permission is denied. Also fixed missing
630         permissions restoration on certain errors. On error()/errorx(), the
631         password and group files are now closed before returning.
632         [757c941a47b2] <1.8>
633
634 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
635
636         * Fix passing of login class back to sudo front end.
637         [5e649de6b7f5] <1.8>
638
639         * Add --osversion flag to specify OS instead of running "pp
640         --probeonly"
641         [8a03943ac5e8] <1.8>
642
643         * Fix expr usage w/ GNU expr
644         [bdecfa1f54fc] <1.8>
645
646 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
647
648         * Fix exit value for validate and list mode.
649         [6f8b20199935] <1.8>
650
651         * Fix non-interactive mode with sudoers plugin.
652         [cf5aca4fcbcf] <1.8>
653
654 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
655
656         * sudoreplay can now find IDs other than %{seq} and display the
657         session.
658         [60396b417633] <1.8>
659
660         * Add support for replaying sessions when iolog_file is set to
661         something other than %{seq}.
662         [1cd2baa74d56] <1.8>
663
664 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
665
666         * If we are killed by a signal, display the name of the signal that
667         got us.
668         [1b38c4d42282] <1.8>
669
670         * Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
671         where they belong.
672         [78e97a921104] <1.8>
673
674         * Fix bug in skey/opie check that could cause a shell warning.
675         [f20229a04f30] <1.8>
676
677         * No longer need sudo_getepw() stubs.
678         [795631ac7db0] <1.8>
679
680 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
681
682         * Fix exit value of "sudo -l command" in sudoers module.
683         [4a05d6019b3d] <1.8>
684
685 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
686
687         * Use fgets() not fgetln() for portability.
688         [1f2050745096] <1.8>
689
690         * Don't use the beta or release candidate version as the rpm release.
691         [a5b049477646] <1.8>
692
693 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
694
695         * Makefile.in:
696         Adjust ChangeLog rule now that 1.8 is branched
697         [a994ac361e44] <1.8>
698
699         * .hgtags:
700         Added tag SUDO_1_8_0 for changeset f6530d56f6ae
701         [99a2b3801419] <1.8>
702
703 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
704
705         * configure, configure.in:
706         version 1.8.0
707         [f6530d56f6ae] [SUDO_1_8_0]
708
709         * NEWS:
710         update sudo 1.8 section
711         [f2ee2cf95d18]
712
713 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
714
715         * plugins/sudoers/regress/testsudoers/test2.sh:
716         fix test description
717         [cd5730fa9f09]
718
719         * plugins/sudoers/regress/testsudoers/test2.out,
720         plugins/sudoers/regress/testsudoers/test2.sh,
721         plugins/sudoers/regress/visudo/test2.out,
722         plugins/sudoers/regress/visudo/test2.sh:
723         convert test2 to use testsudoers
724         [b5ec3f0b69f1]
725
726         * include/sudo_plugin.h, src/sudo_plugin_int.h:
727         Move struct generic_plugin to sudo_plugin_int.h
728         [6f7bc629329c]
729
730         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
731         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
732         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
733         plugins/sudoers/sudoers.h:
734         Allow sudoers file name, mode, uid and gid to be specified in the
735         settings list. The sudo front end does not currently set these but
736         may in the future.
737         [22f38a0fda2a]
738
739 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
740
741         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
742         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
743         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
744         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
745         doc/visudo.man.in:
746         1.8.0rc1
747         [5d4588b9c057]
748
749         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
750         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
751         src/parse_args.c, src/sudo.h:
752         add help text to sudo, visudo and sudoreplay for the -h option
753         [52e7378d8476]
754
755 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
756
757         * compat/snprintf.c:
758         avoid using "howmany" for a parameter name since it is a select-
759         related macro
760         [a14d565401a1]
761
762         * doc/sudoers.pod:
763         mention group_plugin when describing nonunix_group
764         [e0d1d0034b17]
765
766         * doc/sudo_plugin.pod:
767         Add missing period at end of sentence
768         [6744d7e9056d]
769
770         * Makefile.in, doc/Makefile.in, include/Makefile.in,
771         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
772         plugins/sudoers/Makefile.in, src/Makefile.in:
773         add localstatedir; closes bug 471
774         [7aefcab85088]
775
776         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
777         src/exec.c, src/exec_pty.c:
778         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
779         Bug 470
780         [927ed6740f32]
781
782         * configure.in:
783         add missing AH_TEMPLATE for ENV_RESET
784         [16300010c986]
785
786         * src/exec.c:
787         SVR5 systems return non-zero for success on socketpair(), check for
788         -1 instead. Closes Bug 469
789         [4d276494bf8e]
790
791 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
792
793         * configure, configure.in:
794         1.8.0b5
795         [d611cd5d73d3]
796
797         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
798         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
799         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
800         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
801         regen
802         [85e96eeaed82]
803
804         * doc/sudo.pod:
805         Document that a sudo.conf file with no Pligin lines uses the default
806         sudoers plugins.
807         [88bd52da977f]
808
809         * src/load_plugins.c:
810         If sudo.conf contains no Plugin lines, use the default sudoers
811         policy and I/O plugins.
812         [fd8f4cb811ab]
813
814 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
815
816         * plugins/sudoers/sudo_nss.c:
817         Avoid printing empty "Runas and Command-specific defaults for user"
818         line.
819         [2dd330fe4f8b]
820
821         * common/lbuf.c:
822         Truncate the buffer at buf.len before printing in the non-wordwrap
823         case.
824         [901e9833f80d]
825
826         * common/lbuf.c:
827         Remove extra newline when the tty width is very small or unavailable
828         [245c05506c0e]
829
830 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
831
832         * plugins/sudoers/alias.c:
833         Remove unneeded variable.
834         [2c086d30b796]
835
836 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
837
838         * configure, configure.in:
839         Prefer getutxid over getutid
840         [3f3322e9c93e]
841
842         * plugins/sudoers/boottime.c:
843         Include utmp.h / utmpx.h before missing.h as apparently including it
844         afterwards causes a compilation problem on GNU Hurd.
845         [a528029ae962]
846
847 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
848
849         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
850         #include "foo.h", not <foo.h> for local includes.
851         [f65ec693998e]
852
853         * src/parse_args.c:
854         remove bogus XXX
855         [9136c17d53ce]
856
857         * compat/mksiglist.c:
858         Fix typo
859         [1a3bb7b455c9]
860
861         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
862         plugins/sudoers/match.c:
863         return foo not return(foo)
864         [5c9e0647359a]
865
866 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
867
868         * src/exec.c:
869         Remove duplicate FD_SET of signal_pipe[0]
870         [3096527d2215]
871
872 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
873
874         * compat/mksiglist.c:
875         Use "missing.h" not <missing.h> in generated code.
876         [d8e09cffbe09]
877
878 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
879
880         * aclocal.m4, configure:
881         fix --with-iologdir=no
882         [a89699cb5f5f]
883
884         * aclocal.m4, configure:
885         fix typo that broke --with-iologdir
886         [91b54eb22403]
887
888 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
889
890         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
891         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
892         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
893         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
894         doc/visudo.man.in:
895         Bump version to 1.8.0b4
896         [e2b7f2cdc02e]
897
898         * NEWS:
899         sync
900         [decf5a0a8a33]
901
902         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
903         Attempt to clarify how users and groups interact in Runas_Specs
904         [e6fb3a2dbd77]
905
906         * plugins/sudoers/regress/visudo/test2.out,
907         plugins/sudoers/regress/visudo/test2.sh:
908         Add test for quoted group that contains escaped double quotes
909         [44596c48c629]
910
911         * src/exec.c, src/exec_pty.c:
912         Pass SIGUSR1/SIGUSR2 through to the child.
913         [c3108a827b01]
914
915         * src/exec_pty.c, src/sudo_exec.h:
916         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
917         SIGUSR2 to indicate whether the child should be continued in the
918         foreground or background.
919         [35ca47cc6785]
920
921         * src/exec.c:
922         Use pid_t not int and check the return value of kill()
923         [36ae7d37d7f9]
924
925 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
926
927         * src/exec_pty.c:
928         Remove obsolete comment
929         [baebef4919f6]
930
931         * src/exec.c:
932         In non-pty mode before continuing the child, make it the foreground
933         pgrp if possible. Fixes resuming a shell.
934         [fef5b1d02ddb]
935
936         * src/exec_pty.c:
937         If we get a signal other than SIGCHLD in the monitor, pass it
938         directly to the child.
939         [b3ecb28163a0]
940
941         * src/exec.c, src/exec_pty.c, src/sudo.h:
942         Save signal state before changing handlers and restore before we
943         execute the command.
944         [faf7475dc4bf]
945
946 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
947
948         * plugins/sudoers/iolog.c:
949         Use a char array to map a number to a base36 digit.
950         [257576c51f8b]
951
952         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
953         Be clear about what versions of sudo support new LDAP attributes.
954         Fix up some formatting of attribute names. Minor other tweaks.
955         [39f65df71f65]
956
957 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
958
959         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
960         match quoted strings the same way whether in a Defaults line or as a
961         user/group/netgroup name. Fixes escaped double quotes in quoted
962         user/group/netgroup names.
963         [601d97ea8792]
964
965         * plugins/sudoers/Makefile.in:
966         'make check' depends on visudo and testsudoers
967         [127c5a24df8f]
968
969         * plugins/sudoers/sudoers2ldif:
970         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
971         [9029163a58c3]
972
973 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
974
975         * doc/UPGRADE:
976         Mention LDAP attribute compatibility status.
977         [2c3595aaec63]
978
979 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
980
981         * README.LDAP:
982         Mention phpQLAdmin
983         [9304c9064fbe]
984
985         * INSTALL, NEWS, config.h.in, configure, configure.in,
986         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
987         Add --disable-env-reset configure option.
988         [8a753aa13a46]
989
990         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
991         Document that sudoers_locale also affects logging and email.
992         [998d6ac11277]
993
994         * NEWS, config.h.in, configure, configure.in,
995         plugins/sudoers/logging.c:
996         Do logging and email sending in the locale specified by the
997         "sudoers_locale" setting ("C" by default). Email send by sudo
998         includes MIME headers when the sudoers locale is not "C".
999         [cb7e55408400]
1000
1001 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1002
1003         * plugins/sudoers/check.c:
1004         Fix indentation
1005         [65ae7e92b9e4]
1006
1007 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1008
1009         * NEWS, src/parse_args.c, src/sudo.c:
1010         Perform command escaping for "sudo -s" and "sudo -i" after
1011         validating sudoers so the sudoers entries don't need to have all the
1012         backslashes.
1013         [4e168c103f4b]
1014
1015 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1016
1017         * plugins/sudoers/logging.c:
1018         Prepend "list " to the command logged when "sudo -l command" is used
1019         to make it clear that the command was listed, not run.
1020         [f392a6056cd6]
1021
1022         * plugins/sudoers/parse.c:
1023         cosmetic change
1024         [7c0951dbc2dd]
1025
1026         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
1027         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
1028         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
1029         compat/nanosleep.c, compat/regress/glob/globtest.c,
1030         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
1031         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
1032         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
1033         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
1034         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
1035         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
1036         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
1037         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
1038         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
1039         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
1040         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
1041         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
1042         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
1043         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1044         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
1045         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
1046         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
1047         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
1048         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
1049         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
1050         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
1051         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
1052         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
1053         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
1054         src/sudo_noexec.c, src/tgetpass.c:
1055         standardize on "return foo;" rather than "return(foo);" or "return
1056         (foo);"
1057         [32d76c5aaf8c]
1058
1059         * plugins/sudoers/sudoers.c:
1060         Do not reject sudoers file just because it is root-writable.
1061         [0febc579185b]
1062
1063 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1064
1065         * NEWS:
1066         sync
1067         [1ab03f8278ff]
1068
1069         * plugins/sudoers/sudo_nss.c:
1070         For "sudo -U user -l" if user is not authorized on the host, say so.
1071         [289afe6dd15c]
1072
1073         * plugins/sudoers/ldap.c:
1074         In sudo_ldap_lookup(), always do the initial sudoers check as the
1075         invoking user. If we are listing another user's privs we will do a
1076         separate lookup using list_pw later.
1077         [e52bc15de76d]
1078
1079 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1080
1081         * MANIFEST:
1082         add parser fill tests
1083         [4f65140d3515]
1084
1085         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
1086         Don't test features not supported by the bundled glob()
1087         [8ec7ace11949]
1088
1089         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
1090         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
1091         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
1092         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
1093         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
1094         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1095         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
1096         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1097         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1098         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
1099         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
1100         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
1101         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
1102         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
1103         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
1104         Update copyright year to 2011
1105         [ac1b45cb1809]
1106
1107         * plugins/sudoers/sudo_nss.c:
1108         When listing, use separate lbufs for the defaults and the privileges
1109         and only print something if the number of privileges is non-zero.
1110         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
1111         [d0854d39f8ef]
1112
1113         * plugins/sudoers/ldap.c:
1114         Stash pointer to user group vector in LDAP handle and only reuse the
1115         query if it has not changed. We always allocate a new buffer when
1116         we reset the group vector so a simple pointer check is sufficient.
1117         [88861d4eba69]
1118
1119         * plugins/sudoers/sudo_nss.c:
1120         Check initgroups() return value.
1121         [3bdaf58408a7]
1122
1123         * plugins/sudoers/Makefile.in,
1124         plugins/sudoers/regress/parser/check_fill.c:
1125         Add tests for the fill functions in toke_util.c
1126         [bca587ab4956]
1127
1128 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1129
1130         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
1131         fix copyright year
1132         [e2038cdaf055]
1133
1134         * NEWS:
1135         sync
1136         [56ca5d5eaebe]
1137
1138 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1139
1140         * common/term.c:
1141         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
1142         [b91f266624ec]
1143
1144 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1145
1146         * mkpkg, sudo.pp:
1147         Add Requires line for audit-libs >= 1.4 for RHEL5+
1148         [6c02f976171b]
1149
1150         * pp:
1151         sync with git version
1152         [d301c32d5865]
1153
1154 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1155
1156         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1157         fix typo
1158         [39353f92976f]
1159
1160 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1161
1162         * NEWS:
1163         Update for sudo 1.7.4p5
1164         [b444da76901f]
1165
1166         * doc/schema.OpenLDAP, doc/schema.iPlanet:
1167         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
1168         to the sudoRole object class. From Andreas Mueller
1169         [dacfad7e7a95]
1170
1171 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1172
1173         * NEWS:
1174         Mention "sudo -g group" password check fix.
1175         [1eb8fb14e53b]
1176
1177         * plugins/sudoers/sudoers.c:
1178         Fix "sudo -g" support in the sudoers module.
1179         [07d1b0ce530e]
1180
1181         * plugins/sudoers/check.c:
1182         If the user is running sudo as himself but as a different group we
1183         need to prompt for a password.
1184         [caf1fcc9a117]
1185
1186 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1187
1188         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
1189         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
1190         plugins/sudoers/ldap.c:
1191         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
1192         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
1193         derived LDAP SDKs but we can pass the timeout parameter to
1194         ldap_search_ext_s() or ldap_search_st() when possible.
1195         [5537049991f7]
1196
1197         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
1198         regen
1199         [5b361c3c4324]
1200
1201         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
1202         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
1203         with OpenLDAP ldap.conf files.
1204         [e97843bd16fb]
1205
1206         * plugins/sudoers/pwutil.c:
1207         If user has no supplementary groups, fall back on checking the group
1208         file expliticly.
1209         [5223ad4eb690]
1210
1211 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1212
1213         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
1214         constify
1215         [6e132a4cca61]
1216
1217         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
1218         plugins/sudoers/toke.l:
1219         Move fill macro to toke.h
1220         [623d430798cf]
1221
1222         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
1223         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
1224         plugins/sudoers/toke_util.c:
1225         Split tokenizer utility functions out into toke_util.c
1226         [89a97bd51618]
1227
1228         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1229         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1230         ANSIfy
1231         [ca0eba1dfaa9]
1232
1233 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1234
1235         * MANIFEST:
1236         sync
1237         [a43f94064bb3]
1238
1239         * plugins/sudoers/Makefile.in:
1240         Add visudo tests to check target
1241         [8c82fb4ed40f]
1242
1243         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
1244         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
1245         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
1246         Add my regress tests for fnmatch() and glob() from OpenBSD.
1247         [6e8c1f211723]
1248
1249         * plugins/sudoers/regress/testsudoers/test1.sh,
1250         plugins/sudoers/regress/visudo/test1.ok,
1251         plugins/sudoers/regress/visudo/test1.sh:
1252         Add regress test for command tags using visudo -c
1253         [18b0ef207c0f]
1254
1255         * plugins/sudoers/Makefile.in,
1256         plugins/sudoers/regress/testsudoers/test1.ok,
1257         plugins/sudoers/regress/testsudoers/test1.sh:
1258         Add support for regress tests using testsudoers
1259         [1fa94bd2671b]
1260
1261         * plugins/sudoers/testsudoers.c:
1262         Need to set user_name explicitly due to internal changes made when
1263         converting sudoers to a plugin.
1264         [1fa54e86a364]
1265
1266 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1267
1268         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
1269         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
1270         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1271         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
1272         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
1273         zlib/Makefile.in:
1274         Add regression tests for iolog_path()
1275         [afa4b416e559]
1276
1277         * Makefile.in, common/Makefile.in, compat/Makefile.in,
1278         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
1279         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1280         src/Makefile.in, zlib/Makefile.in:
1281         Add support for "make Makefile" to regenerate Makefile from
1282         Makefile.in
1283         [98bd2dda3294]
1284
1285         * plugins/sudoers/iolog_path.c:
1286         Quiest a bogus compiler warning.
1287         [5ff932a7ad67]
1288
1289 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1290
1291         * plugins/sudoers/iolog_path.c:
1292         Protect call to setlocale() with HAVE_SETLOCALE
1293         [2c29ee3ccc81]
1294
1295 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1296
1297         * MANIFEST:
1298         mkstemps.c was renamed mktemp.c
1299         [ae299c3b1827]
1300
1301         * NEWS:
1302         Update from 1.7 branch
1303         [20817d79717b]
1304
1305         * Makefile.in:
1306         Use "mv -f" when regenerating ChangeLog
1307         [c163635206c6]
1308
1309         * plugins/sudoers/match.c:
1310         Fix NULL dereference with "sudo -g group" when the sudoers rule has
1311         no runas user or group listed. Fixes RedHat bug Bug 667103.
1312         [41a6a1243d9e]
1313
1314 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1315
1316         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
1317         Correct the default sudo.conf example
1318         [4e791698cad1]
1319
1320 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1321
1322         * plugins/sudoers/iolog_path.c:
1323         Reset slashp if we allocate a new buffer for strftime()
1324         [e491daa4203b]
1325
1326         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
1327         plugins/sudoers/sudoers.h:
1328         Add extra out parameter to expand_iolog_path() to allow the caller
1329         to split the path into dir and file components if needed.
1330         [88346bc5ae39]
1331
1332 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1333
1334         * plugins/sudoers/iolog.c:
1335         mkdir_iopath() returns size_t now that it uses strlcpy() and not
1336         snprintf()
1337         [3c4c64d265eb]
1338
1339         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
1340         Trim leading slashes from iolog_file and trailing slashes from
1341         iolog_dir
1342         [a803b51f8948]
1343
1344         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
1345         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1346         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
1347         Pass a single I/O log file name in command_details instead of
1348         separate dir + file parameters.
1349         [d672a3e46e80]
1350
1351         * plugins/sudoers/sudoreplay.c:
1352         change an error() to errorx()
1353         [8013dcfdd69d]
1354
1355         * plugins/sudoers/iolog.c:
1356         Add missing cwd line to I/O log info file that got dropped when
1357         iolog_deserialize_info() was added
1358         [7cf84f208423]
1359
1360 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1361
1362         * plugins/sudoers/iolog.c:
1363         Avoid relying on globals filled in by the sudoers policy module for
1364         the sudoers I/O log module. The I/O log open function now pulls the
1365         bits it needs out of user_info and command_info.
1366         [c02f6951b0cc]
1367
1368         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
1369         plugins/sudoers/sudoers.h:
1370         If no iolog file is specified by the policy plugin, use io_nextid()
1371         to determine the next file in the sequence.
1372         [faa1130b1020]
1373
1374 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1375
1376         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
1377         Document iolog_compress in command_info
1378         [58895c7d12f5]
1379
1380         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
1381         Add support for the iolog_compress variable in command_info.
1382         [36f13a2fd1c1]
1383
1384         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
1385         Add sigsetjmp() calls to all plugin entry points just to be safe.
1386         [3fa482355bc4]
1387
1388         * src/sudo.c, src/sudo.h:
1389         Don't need iolog variables in struct command_details, they are for
1390         the I/O log plugins to handle.
1391         [5111579ffd9d]
1392
1393 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1394
1395         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
1396         Document use of mkdtemp() for iolog path teplates
1397         [5db6101408a9]
1398
1399         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
1400         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
1401         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
1402         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
1403         regen
1404         [1ee11fd6d4eb]
1405
1406         * doc/sudo_plugin.pod, doc/sudoers.pod:
1407         Document iolog_file and supported escape sequences for sudoers.
1408         Clarify that iolog_file can contain directories.
1409         [da611dedcbdb]
1410
1411         * compat/Makefile.in, configure, configure.in:
1412         Fix building of mkstemps/mkdtemp replacements.
1413         [793a5e303122]
1414
1415         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
1416         configure.in, include/missing.h:
1417         Provide mkdtemp() for systems without it.
1418         [b0527dfa965c]
1419
1420         * plugins/sudoers/iolog_path.c:
1421         Fix typo
1422         [277f6c514cba]
1423
1424         * plugins/sudoers/iolog.c:
1425         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
1426         glibc mkdtemp() returns EINVAL.
1427         [2e7323b05579]
1428
1429         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
1430         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
1431         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
1432         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
1433         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
1434         Allow sudoers to specify the iolog file in addition to the iolog
1435         dir. Add escape sequence support to iolog file and dir: sequence
1436         number, user, group, runas_user, runas_group, hostname and
1437         command in addition to any escape sequence recognized by
1438         strftime(3).
1439         [75cd32ee0435]
1440
1441         * plugins/sudoers/iolog.c:
1442         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
1443         crash when the I/O plugin calls error(), errorx() or log_error().
1444         [1a6718bd817d]
1445
1446 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1447
1448         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
1449         plugins/sudoers/sudoers.c:
1450         Give the policy module fine-grained control over what the I/O plugin
1451         logs.
1452         [d29784fd2a66]
1453
1454         * common/term.c:
1455         Clear OPOST from c_oflag like we used to. Fixes screen-based
1456         editors such as vi.
1457         [506ad5ae9b4e]
1458
1459         * doc/sudoers.pod:
1460         Clarify umask option description. From Reuben Thomas.
1461         [1294ac84222b]
1462
1463 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1464
1465         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
1466         Pick last match in LDAP sudoers too
1467         [fbfd8e85703b]
1468
1469         * doc/sudo_plugin.pod:
1470         Document iolog_file, iolog_dir and use_pty
1471         [26120a59c20e]
1472
1473         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
1474         plugins/sudoers/sudoers.c:
1475         Adapt plugins to version I/O logging ABI 1.1
1476         [880dd64bc1e8]
1477
1478         * src/exec.c, src/sudo.h:
1479         Add use_pty command_info flag for policies to indicate that a pty
1480         should be allocated even if no I/O logging is performed.
1481         [e7b167f8a6e5]
1482
1483         * src/sudo.c:
1484         Add remaining plugin convenience functions
1485         [ffeaf96da031]
1486
1487         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
1488         src/sudo_plugin_int.h:
1489         Change I/O log API to pass in command info to the I/O log open
1490         function. Add iolog_file and iolog_dir parameters to command info.
1491         This allows the policy plugin to specify the I/O log pathname. Add
1492         convenience functions for calling plugin functions that handle ABI
1493         backwards compatibility.
1494         [9b81dce76ce5]
1495
1496         * compat/dlopen.c:
1497         Remove useless cast
1498         [7cecce969739]
1499
1500 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1501
1502         * configure, configure.in:
1503         Bump version to 1.8.0b3
1504         [1dc9f040aae0]
1505
1506 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1507
1508         * configure.in:
1509         Remove extraneous newline
1510         [71c94551eea5]
1511
1512 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1513
1514         * doc/sudoers.pod, plugins/sudoers/def_data.c,
1515         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
1516         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
1517         Make I/O log dir configurable.
1518         [99b576667a38]
1519
1520         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
1521         Rename io_logdir to iolog_dir
1522         [0731662acc8d]
1523
1524 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1525
1526         * pp:
1527         Add missing '*' that prevented the generic ELF case from matching.
1528         [be77ca26bfb2]
1529
1530         * pp:
1531         If file(1) can't identify the ELF binary type, try readelf(1).
1532         [38a18d32a9e3]
1533
1534 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1535
1536         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
1537         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
1538         plugins/sudoers/sudoers.c, src/sudo.c:
1539         Use %u to print uid/gid, not %lu and adjust casts to match.
1540         [03c43b8749cf]
1541
1542         * doc/sudoers.ldap.pod:
1543         Clarify ordering of entries and attributes.
1544         [924e2a6bb603]
1545
1546         * doc/sudoers.ldap.pod:
1547         Fix typo and editing goof.
1548         [79dc7ccd85a8]
1549
1550         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
1551         doc/sudoers.ldap.pod:
1552         Merge in ordered LDAP entry support from Andreas Mueller.
1553         [ea5885989bad]
1554
1555         * plugins/sudoers/ldap.c:
1556         Make sure we don't dereference a NULL handle.
1557         [1a9f9ee15371]
1558
1559 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1560
1561         * pp:
1562         Add support for RHEL 6 file modes that include a trailing dot on
1563         files with an SELinux security context
1564         [dc09be959547]
1565
1566 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1567
1568         * src/sudo.c:
1569         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
1570         sudoers module.
1571         [d6dd99fc6062]
1572
1573         * plugins/sudoers/sudoers.c:
1574         create_admin_success_flag() should use restore_perms() rather than
1575         set_perms() to restore the uid.
1576         [eba7a91c1f57]
1577
1578         * src/sudo.c:
1579         In exec_setup() call setuid(0) to make certain the subsequent uid
1580         and gid changes will succeed. Fixes a problem on Ubuntu.
1581         [c5d32abf0645]
1582
1583         * src/sudo_edit.c:
1584         Error out if we cannot change to root's uid so we catch the failure
1585         early.
1586         [7a2e7f8f2c80]
1587
1588 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1589
1590         * doc/sudoers.pod:
1591         fix typo; from Michael T Hunter
1592         [a574a9d0db5b]
1593
1594         * plugins/sudoers/match.c:
1595         In sudoedit mode, assume command line arguments are paths and pass
1596         FNM_PATHNAME to fnmatch().
1597         [ce0abff8ce9f]
1598
1599 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1600
1601         * configure, configure.in:
1602         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
1603         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
1604         broken bits of the header file.
1605         [e337217f097a]
1606
1607         * aclocal.m4:
1608         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
1609         [fbbcee28961f]
1610
1611         * sudo.pp:
1612         For Tru64, strip off beta version.
1613         [eeccd762df5e]
1614
1615         * MANIFEST, plugins/sudoers/testsudoers.c,
1616         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
1617         Avoid conflicts with system definitions in grp.h and pwd.h
1618         [b219ffe1da09]
1619
1620         * zlib/gzguts.h:
1621         Include stdio.h after zlib.h, not before. We need the large file
1622         defines to come first.
1623         [21d6df39790f]
1624
1625 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1626
1627         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
1628         regen
1629         [3ff8750d0aac]
1630
1631         * Makefile.in:
1632         Don't clean ChangeLog
1633         [ab0d30d289d4]
1634
1635         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
1636         Add prototype for cleanup()
1637         [75626fd3769a]
1638
1639 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1640
1641         * plugins/sudoers/group_plugin.c:
1642         Avoid deferencing group_plugin if it is NULL in
1643         group_plugin_query(). This should not happen.
1644         [4f2933c8da7e]
1645
1646         * plugins/sudoers/group_plugin.c:
1647         group plugin init function return TRUE when successful
1648         [198024477030]
1649
1650 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1651
1652         * plugins/sudoers/ldap.c:
1653         Enlarge the array of entry wrappers int blocks of 100 entries to
1654         save on allocation time. From Andreas Mueller
1655         [375c916bb03b]
1656
1657         * plugins/sudoers/ldap.c:
1658         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
1659         that was mistakenly dropped.
1660         [1555f5bc132d]
1661
1662 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1663
1664         * doc/TROUBLESHOOTING:
1665         Mention that sudo needs "ar" to build.
1666         [65582ace2d09]
1667
1668         * configure, configure.in:
1669         Fail with a more useful error if "ar" is not found.
1670         [d1cb83719c17]
1671
1672 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1673
1674         * plugins/sudoers/ldap.c:
1675         Merge in ordered LDAP entry support from Andreas Mueller and add
1676         local changes from the 1.7 branch.
1677         [bca29e461618]
1678
1679 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1680
1681         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
1682         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
1683         Add timed entry support from Andreas Mueller.
1684         [e18d1df46a8d]
1685
1686         * plugins/sudoers/group_plugin.c:
1687         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
1688         group_handle is NULL
1689         [de2273da37d5]
1690
1691         * plugins/sudoers/sudoers.h:
1692         It is now plugin_cleanup(), not cleanup()
1693         [da62a4e1a78c]
1694
1695         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
1696         Call plugin_cleanup(), not cleanup()
1697         [e800ad8b33ad]
1698
1699 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1700
1701         * plugins/sudoers/ldap.c:
1702         Use efree() not free() and remove malloc.h include since we never
1703         directly call malloc() or free().
1704         [107fffd134bb]
1705
1706 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1707
1708         * sudo.pp:
1709         set PSTAMP for Solaris and move the backend-specific bits to their
1710         own %if [xxx] %endif blocks in %set.
1711         [a94ebe8920c1]
1712
1713         * pp:
1714         sync with git repo
1715         [75ff509696b4]
1716
1717         * configure, configure.in:
1718         Only substitute file zlib files when using the builtin zlib
1719         [6c8145b2deb4]
1720
1721         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
1722         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1723         src/Makefile.in, zlib/Makefile.in:
1724         Give up on using VPATH to find sources as it is implemented
1725         inconsistenly in different versions of make.
1726         [60517c69aaee]
1727
1728         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
1729         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
1730         Include config.h before any other includes to make sure we get the
1731         right value for _FILE_OFFSET_BITS.
1732         [8fb007ca832e]
1733
1734         * MANIFEST:
1735         Add zlib
1736         [04a3e23dfaa9]
1737
1738         * zlib/Makefile.in:
1739         Add missing targets
1740         [40e45a177168]
1741
1742         * src/Makefile.in:
1743         g/c unused $(GENERATED)
1744         [c8758068c1bc]
1745
1746 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1747
1748         * plugins/sudoers/group_plugin.c:
1749         Zero out group_plugin on unload just to be safe.
1750         [0b10f4d101ca]
1751
1752         * plugins/sudoers/group_plugin.c:
1753         Unload group plugin if its init function fails.
1754         [6552cdac4b7c]
1755
1756         * src/sudo.c:
1757         Only chdir to cwd if it is different from the current cwd or there
1758         is a new root (chroot).
1759         [b8203e875e84]
1760
1761         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
1762         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
1763         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
1764         Bump version to 1.8.0b2
1765         [6dadeb75a878]
1766
1767 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1768
1769         * INSTALL:
1770         Better --enable-zlib description
1771         [e0da54fa59a6]
1772
1773         * mkpkg:
1774         Use system zlib on Linux Let configure decide on Solaris For all
1775         others, use builtin zlib
1776         [3d52eddb523c]
1777
1778         * zlib/zconf.h.in:
1779         Add large file support.
1780         [bec01215270d]
1781
1782         * config.h.in:
1783         Add large file support.
1784         [244e95b034ec]
1785
1786         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
1787         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
1788         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
1789         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
1790         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
1791         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
1792         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
1793         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
1794         Add local copy of zlib for systems that lack it.
1795         [7542ca465c5a]
1796
1797 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
1798
1799         * src/exec.c:
1800         If perform_io() fails, kill the child before exiting so it doesn't
1801         complain about connection reset. We can get an I/O error if, for
1802         example, and we get EIO reading from stdin.
1803         [e59a05fa729f]
1804
1805 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1806
1807         * plugins/sudoers/sudoers.c, src/sudo.c:
1808         Fix complilation on systems with set_auth_parameters() Sprinkle
1809         volatile to quiet warnings from gcc 2.8.0
1810         [a34c2b924ba7]
1811
1812         * compat/dlfcn.h, compat/dlopen.c:
1813         Avoid potential namespace issues with dlopen() emulation.
1814         [aedfababd6ca]
1815
1816         * MANIFEST:
1817         sync
1818         [6afb97e6d308]
1819
1820         * plugins/sudoers/interfaces.c:
1821         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
1822         exist).
1823         [ddfca5af1a36]
1824
1825         * Makefile.in:
1826         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
1827         [e9d04bfa4505]
1828
1829         * configure, configure.in:
1830         HP-UX 10.20 libc has an incompatible getline
1831         [2e7bc202e78d]
1832
1833         * plugins/sudoers/visudo.c:
1834         Quiet an HP-UX compiler warning.
1835         [55b9d587ac8c]
1836
1837         * configure, configure.in:
1838         Check for vi even with --with-editor specified; the sample plugin
1839         needs it.
1840         [94dfc3643f76]
1841
1842 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1843
1844         * compat/dlopen.c:
1845         Fix remaining syntax errors.
1846         [9d729b5b577e]
1847
1848         * src/Makefile.in:
1849         sudo binary depends on the libtool-generated libs
1850         [9e6148406adb]
1851
1852         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
1853         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
1854         include the local or system dlfcn.h
1855         [68cfe4c1089b]
1856
1857         * pp:
1858         Don't use run_as_superuser=false on HP-UX
1859         [532242370b09]
1860
1861         * src/net_ifs.c:
1862         Use memset() instead of zero_bytes() since we don't include
1863         sudoers.h
1864         [a187c18c2472]
1865
1866         * plugins/sudoers/interfaces.c:
1867         Fix pasto; AF_INET not AF_INET6
1868         [2d2e9d7dc6f9]
1869
1870         * compat/dlopen.c:
1871         Actually call shl_load()
1872         [ed8153b8a3cd]
1873
1874         * pp:
1875         Update from git repo. Debian: version numbers now compliant with
1876         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
1877         10.20
1878         [ecf2692bceeb]
1879
1880         * configure, configure.in:
1881         Fix dlopen() detection for systems where dlopen() is in a separate
1882         library.
1883         [fa6b175582b6]
1884
1885         * plugins/sudoers/auth/pam.c:
1886         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
1887         useful message and return AUTH_FATAL so sudo does not keep trying to
1888         validate the user.
1889         [1be8857e5291]
1890
1891         * src/preload.c:
1892         sudo_preload_table is an array
1893         [b7704e72a9da]
1894
1895         * compat/dlopen.c:
1896         Quiet a compiler warning and fix sudo_preload_table external
1897         definition.
1898         [8234987664cc]
1899
1900         * compat/dlfcn.h:
1901         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
1902         [8bab6a4053cc]
1903
1904         * plugins/sudoers/group_plugin.c:
1905         Make this compile correctly when no dlopen is available.
1906         [57643879bd2b]
1907
1908 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1909
1910         * plugins/sudoers/check.c:
1911         Having a timestamp file defined is no longer indicative of tty
1912         tickets being enabled. Check def_tty_tickets directly.
1913         [efcc11ad157f]
1914
1915         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
1916         Fix TCGETWINSZ compat.
1917         [da3a8b17cf7a]
1918
1919 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1920
1921         * src/exec_pty.c, src/ttysize.c:
1922         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
1923         [926492dd10a6]
1924
1925 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1926
1927         * plugins/sudoers/sudoers.c, src/sudo.c:
1928         Move set_project() from sudoers module into sudo proper.
1929         [beabafac03b4]
1930
1931         * configure, configure.in:
1932         Fix typo and regenerate
1933         [4a3caf4234f3]
1934
1935         * plugins/sudoers/ldap.c:
1936         When iterating over returned LDAP entries, keep looking at remaining
1937         matches even if we have a positive match. This catches negative
1938         matches that may exist in other entries and more closely match the
1939         sudoers file behavior.
1940         [f47db6e609b0]
1941
1942         * pp:
1943         Add support for multiple package instances on Solaris.
1944         [7f2a8b942545]
1945
1946         * src/exec.c:
1947         Add missing signal_pipe[0] to fdsr for the non-pty case.
1948         [79d01e11b19c]
1949
1950         * mkpkg:
1951         Add --with-project for Solaris
1952         [ffa4c2bb93f7]
1953
1954         * README:
1955         Need ar and ranlib too
1956         [5c2f679172ef]
1957
1958 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1959
1960         * plugins/sudoers/env.c:
1961         Preserve ODMDIR environment variable by default on AIX.
1962         [bd47cb1e804f]
1963
1964 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
1965
1966         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
1967         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
1968         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1969         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
1970         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
1971         src/preload.c:
1972         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
1973         using shl_load(). For others, link sudoers plugin statically and use
1974         a lookup table to emulate dlsym().
1975         [e92edfb3c642]
1976
1977 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1978
1979         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
1980         compat/nanosleep.c, compat/utimes.c:
1981         When including compat headers, use the compat dir as part of the
1982         path so we are sure to get the correct header.
1983         [6c2a45da6af5]
1984
1985 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1986
1987         * plugins/sudoers/linux_audit.c:
1988         Ignore ECONNREFUSED from audit_log_user_command() which will occur
1989         if auditd is not running.
1990         [d314fe4c8d03]
1991
1992 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1993
1994         * pp:
1995         Sync with git version
1996         [1c0357744222]
1997
1998 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1999
2000         * common/fileops.c, plugins/sudoers/defaults.c:
2001         Cast isblank argument to unsigned char.
2002         [c822dbb3ca54]
2003
2004 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2005
2006         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
2007         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
2008         Implement --with-umask-override configure flag.
2009         [863e3047df22]
2010
2011         * plugins/sudoers/env.c:
2012         Take MODE_LOGIN_SHELL into account when initially setting reset_home
2013         instead of special-casing it later.
2014         [5d6b16480fd6]
2015
2016         * plugins/sudoers/sudoers.c:
2017         In login mode, make a copy of the runas user's pw_shell for
2018         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
2019         freed before exec.
2020         [1d1ccb568dfa]
2021
2022         * plugins/sudoers/env.c:
2023         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
2024         [c1c1c65a2d63]
2025
2026         * src/sudo.c:
2027         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
2028         [7443454e5f88]
2029
2030         * src/sudo.c:
2031         Reset signal mask at sudo startup time; we need to be able to rely
2032         on normal signal delivery to control the child process.
2033         [95800163ff94]
2034
2035 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2036
2037         * install-sh:
2038         Use sed instead of expr to split a flag from its argument. Fixes a
2039         problem with expr interpreting its arguments as a flag when they
2040         start with a dash.
2041         [736065e14301]
2042
2043         * common/lbuf.c:
2044         Do not need sys/time.h after all
2045         [91f6f668ccda]
2046
2047         * common/lbuf.c:
2048         Include sys/time.h for utimes() and struct timeval. No longer need
2049         ioctl.h or termios.h
2050         [2d75273d3213]
2051
2052         * compat/snprintf.c:
2053         Quiet bogus compiler warnings.
2054         [fe252e1968f5]
2055
2056         * include/missing.h:
2057         Declare innetgr() for HP-UX which is missing a declaration. Declare
2058         domainname() for HP-UX and Solaris which are missing a declaration.
2059         [b37c50751138]
2060
2061         * plugins/sudoers/bsm_audit.c:
2062         Use __sun for consistency with the rest of the sources.
2063         [6b086b61ccb6]
2064
2065         * plugins/sudoers/group_plugin.c:
2066         Quiet a bogus compiler warning.
2067         [ebc069842c4a]
2068
2069         * plugins/sudoers/pwutil.c:
2070         Don't try to delref a NULL group.
2071         [f6ff0838be21]
2072
2073         * common/alloc.c, common/lbuf.c:
2074         Include memory.h on systems that need it.
2075         [4e676da81c6f]
2076
2077 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2078
2079         * src/exec.c:
2080         Quiet gcc warnings on glibc systems that use warn_unused_result for
2081         write(2).
2082         [0532da0b7cf7]
2083
2084         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2085         sudo_plugin is in section 8; from Ted Percival
2086         [b4506a0de87e]
2087
2088         * plugins/sudoers/Makefile.in:
2089         testsudoers depends on libsudoers.la, not sudoreplay
2090         [cdb1cc3bf06a]
2091
2092 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2093
2094         * src/exec.c:
2095         Read as many signals on the signal pipe as we can before returning.
2096         [b181671da047]
2097
2098         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
2099         Instead of using a array to store received signals, open a pipe and
2100         have the signal handler write the signal number to one end and
2101         select() on the other end. This makes it possible to handle signals
2102         similar to I/O without race conditions.
2103         [ee84d65c16b6]
2104
2105 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2106
2107         * doc/visudo.pod, plugins/sudoers/visudo.c:
2108         Make "visudo -c -f -" check the standard input.
2109         [195a3d2a9a26]
2110
2111         * doc/sudoers.pod:
2112         set_home and always_set_home have an effect if HOME is present in
2113         the env_keep list.
2114         [159d0b9dc5c8]
2115
2116         * plugins/sudoers/env.c:
2117         Make -H flag work when HOME is listed in env_keep. Also makes
2118         "set_home" and "always_set_home" override override HOME in env_keep.
2119         [a3e5b966193f]
2120
2121 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2122
2123         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
2124         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
2125         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
2126         plugins/sudoers/visudo.c, src/net_ifs.c:
2127         Convert sudoers plugin to use interface list passed in settings.
2128         [87d9b5f4f586]
2129
2130         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
2131         src/parse_args.c, src/sudo.h:
2132         Query local network interfaces in the main sudo driver and pass to
2133         the plugin as "network_addrs" in the settings list.
2134         [7f35bcfe77a7]
2135
2136         * plugins/sudoers/bsm_audit.c:
2137         Solaris BSM audit return EINVAL when auditing is not enabled,
2138         whereas OpenBSM returns ENOSYS.
2139         [411b980ec58b]
2140
2141 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2142
2143         * compat/fnmatch.c:
2144         missing.h should come before most local includes
2145         [53921a7b8b5b]
2146
2147         * plugins/sudoers/sudoreplay.c:
2148         missing.h should come before most local includes
2149         [e9abb0db1aac]
2150
2151         * plugins/sudoers/sudoers.h:
2152         Make local includes consistent; use double quotes for local includes
2153         except for generated ones where we use angle brackets.
2154         [09de4faa9547]
2155
2156         * plugins/sudoers/sudoers.c:
2157         Always fill in NewArgv for audit code.
2158         [7c3aca60519f]
2159
2160         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2161         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
2162         [007cf6560f92]
2163
2164         * common/alloc.c, common/atobool.c, common/fileops.c,
2165         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
2166         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
2167         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
2168         compat/getprogname.c, compat/glob.c, compat/isblank.c,
2169         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
2170         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
2171         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
2172         compat/unsetenv.c, compat/utimes.c, include/compat.h,
2173         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
2174         plugins/sample_group/plugin_test.c,
2175         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
2176         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
2177         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
2178         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
2179         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
2180         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
2181         src/sudo_noexec.c, src/ttysize.c:
2182         Make local includes consistent; use double quotes for local includes
2183         except for generated ones where we use angle brackets. Also g/c
2184         unused compat.h.
2185         [e57070dc8f04]
2186
2187 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2188
2189         * plugins/sudoers/match.c:
2190         When matching the runas user and runas group (-u and -g command line
2191         options), keep track of runas group and runas user matches
2192         separately. Only return a positive match if we have a match for
2193         both runas user and runas group (if specified).
2194         [815219e04cc8]
2195
2196 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2197
2198         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2199         Add support for multiple URI lines by joining the contents and
2200         passing the result to ldap_initialize.
2201         [a47cae3b72e8]
2202
2203         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
2204         Do not return -1 on error from the display functions; the caller
2205         expects a return value >= 0.
2206         [101456a7dd00]
2207
2208         * plugins/sudoers/sudoers.c:
2209         Do not set both MODE_EDIT and MODE_RUN
2210         [8faa36694d54]
2211
2212 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2213
2214         * include/missing.h:
2215         Move includes to the top of the file.
2216         [a51436798e8c]
2217
2218 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2219
2220         * plugins/sudoers/Makefile.in:
2221         Add missing definition of timedir
2222         [458a749c2c5e]
2223
2224         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
2225         compat/mksiglist.c, compat/strsignal.c,
2226         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
2227         Add #include of sys/types.h for .c files that include missing.h to
2228         be sure that size_t and ssize_t are defined.
2229         [08e3132dbf4f]
2230
2231         * plugins/sudoers/Makefile.in:
2232         Install sudoers file from the build dir not hte src dir.
2233         [ca89e962dbf4]
2234
2235 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2236
2237         * plugins/sudoers/set_perms.c:
2238         If runas_pw changes, reset the stashed runas aux group vector.
2239         Otherwise, if runas_default is set in a per-command Defaults
2240         statement, the command runs with root's aux group vector (i.e. the
2241         one that was used when locating the command).
2242         [24f9107cedd2]
2243
2244         * plugins/sudoers/Makefile.in:
2245         Add target to generate sudoers file Remove generated sudoers file as
2246         part of distclean
2247         [fb7422e90f03]
2248
2249 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2250
2251         * src/exec.c:
2252         When not logging I/O install a handler for SIGCONT and deliver it to
2253         the command upon resume. Fixes bugzilla #431
2254         [495dce52a5aa]
2255
2256 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2257
2258         * plugins/sudoers/sudoers.h:
2259         g/c unused auth_pw extern definition
2260         [40eb7477ba17]
2261
2262         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
2263         Move get_auth() into check.c where it is actually used.
2264         [e31db0ce3a61]
2265
2266 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2267
2268         * common/lbuf.c:
2269         Convert a remaining puts() and putchar() to use the output function.
2270         [d69e363a506b]
2271
2272         * plugins/sudoers/plugin_error.c:
2273         Plug memory leak
2274         [68895469ea8d]
2275
2276 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2277
2278         * plugins/sudoers/env.c:
2279         Set dupcheck to TRUE when setting new HOME value if !env_reset but
2280         always_set_home is true. Prevents a duplicate HOME in the
2281         environment (old value plus the new one) introduced in f421f8827340.
2282         [9ca19183794f]
2283
2284         * configure, configure.in, plugins/sudoers/sudoers,
2285         plugins/sudoers/sudoers.in:
2286         Substitute sysconfdir in the installed sudoers file to get the
2287         correct path for sudoers.d.
2288         [86072b6cd55d]
2289
2290 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2291
2292         * src/get_pty.c:
2293         Fix typo that prevented compilation on Irix; Friedrich Haubensak
2294         [b48be51b65fc]
2295
2296 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2297
2298         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
2299         common/atobool.c, common/fileops.c, common/fmt_string.c,
2300         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
2301         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
2302         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
2303         compat/getprogname.c, compat/glob.c, compat/isblank.c,
2304         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
2305         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
2306         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
2307         compat/unsetenv.c, compat/utimes.c, include/compat.h,
2308         include/missing.h, plugins/sample/sample_plugin.c,
2309         plugins/sample_group/getgrent.c,
2310         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
2311         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
2312         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
2313         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
2314         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
2315         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
2316         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
2317         Merge compat.h and missing.h into missing.h
2318         [572909ae9716]
2319
2320 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2321
2322         * plugins/sudoers/auth/pam.c:
2323         If the user hits ^C while a password is being read, error out before
2324         reading any further passwords in the pam conversation function.
2325         Otherwise, if multiple PAM auth methods are required, the user will
2326         have to hit ^C for each one.
2327         [23782631748c]
2328
2329 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2330
2331         * plugins/sudoers/check.c:
2332         Update comment
2333         [a5296cb3a20a]
2334
2335         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
2336         Document sudo_conv_t function and sudo_printf_t return values.
2337         [745c0017814c]
2338
2339         * src/conversation.c:
2340         Make _sudo_printf return the number of characters printed on success
2341         like printf(3).
2342         [8eeefe8d7e77]
2343
2344 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2345
2346         * plugins/sudoers/sudoers.c:
2347         sudoers.h includes sudo_plugin.h for us
2348         [cabe68e07807]
2349
2350         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
2351         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
2352         src/sudo_edit.c:
2353         Use gettimeofday() directly instead of via the gettime() wrapper.
2354         [7490426c99ae]
2355
2356         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
2357         compat/strerror.c, config.h.in, configure, configure.in,
2358         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
2359         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
2360         Remove some obsolete configure tests, ancient Unix systems are no
2361         longer supported.
2362         [2be6218c3a36]
2363
2364 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2365
2366         * sudo.pp:
2367         Set pp_kit_version and strip off patch level
2368         [aacfda1b676d]
2369
2370         * sudo.pp:
2371         Better handling of versions with a patchlevel. For rpm and deb, use
2372         the patchlevel+1 as the release. For AIX, use the patchlevel as the
2373         4th version number. For the rest, just leave the patchlevel in the
2374         version string.
2375         [638bd35f2346]
2376
2377 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2378
2379         * plugins/sudoers/auth/sudo_auth.c:
2380         For non-standalone auth methods, stop reading the password if the
2381         user enters ^C at the prompt.
2382         [82c2911bb264]
2383
2384         * configure, configure.in, plugins/sudoers/Makefile.in,
2385         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
2386         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
2387         plugins/sudoers/pwutil.c:
2388         No need to look up shadow password unless we are doing password-
2389         style authentication. This moves the shadow password lookup to the
2390         auth functions that need it.
2391         [ba9e3eba2b72]
2392
2393         * plugins/sudoers/sudoers.c:
2394         Retain final passwd/group refs until the policy close() function.
2395         Note that this doesn't get called in all cases so putting this in a
2396         cleanup function is probably better.
2397         [bbe214cb4119]
2398
2399         * plugins/sudoers/check.c:
2400         Fix mismerge
2401         [395115f89dd6]
2402
2403         * plugins/sudoers/check.c:
2404         When removing/resetting the timestamp file ignore the tty ticket
2405         contents.
2406         [b709f5667a0b]
2407
2408         * plugins/sudoers/sudoers.c:
2409         delref sudo_user.pw, runas_pw and runas_gr immediately before we
2410         return.
2411         [4d67d15dfd3b]
2412
2413 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2414
2415         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
2416         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
2417         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2418         Reference count cached passwd and group structs. The cache holds
2419         one reference itself and another is added by sudo_getgr{gid,nam} and
2420         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
2421         group structs are persistent for now.
2422         [e544685523c3]
2423
2424         * doc/UPGRADE:
2425         fix typo
2426         [e32f2d35e6c9]
2427
2428 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2429
2430         * plugins/sudoers/check.c:
2431         Do not produce a warning for "sudo -k" if the ticket file does not
2432         exist.
2433         [1598f6061b75]
2434
2435         * plugins/sudoers/pwutil.c:
2436         Instead of caching struct passwd and struct group in the red-black
2437         tree, store a struct cache_item which includes both the key and
2438         datum. This allows us to user the actual name that was looked up as
2439         the key instead of the contents of struct passwd or struct group.
2440         This matters because the name in the database may not match what we
2441         looked up, due either to case folding or truncation (historically at
2442         8 characters). Also mark the disabled calls to sudo_freepwcache()
2443         and sudo_freegrcache() as broken since we use cached data for things
2444         like set_perms() and the logging functions. Fixing this would
2445         require making a copy of the structs for user and runas or adding a
2446         reference count (better).
2447         [225d4a22f60e]
2448
2449         * plugins/sudoers/Makefile.in:
2450         Fix path to mkinstalldirs
2451         [b4968379b12d]
2452
2453         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
2454         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
2455         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
2456         Quiet gcc warnings on glibc systems that use warn_unused_result for
2457         write(2) and others.
2458         [c99f138960e0]
2459
2460 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2461
2462         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2463         Add %option noinput
2464         [72b9cd49b4f1]
2465
2466         * aclocal.m4, configure, configure.in:
2467         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
2468         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
2469         cross-compiling.
2470         [e385c176d0ee]
2471
2472 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2473
2474         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
2475         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
2476         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
2477         [cf3e60d9c440]
2478
2479 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2480
2481         * pp:
2482         Update to latest version
2483         [32f93be33961]
2484
2485 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2486
2487         * sudo.pp:
2488         Let pp determine pp_aix_version itself.
2489         [7cf0245d84ed]
2490
2491         * INSTALL, config.h.in, configure, configure.in, mkpkg,
2492         plugins/sudoers/sudoers.c:
2493         Add support for Ubuntu admin flag file and enable it when building
2494         Ubuntu packages.
2495         [00e27cff2dfb]
2496
2497         * plugins/sudoers/sudoers, sudo.pp:
2498         Add commented out SuSE-like targetpw settings
2499         [4605d47b7413]
2500
2501         * configure, configure.in:
2502         Only try to use +DAportable for non-GCC on hppa
2503         [75d0f284ccf7]
2504
2505         * configure, configure.in:
2506         Prevent configure from adding the -g flag unless in devel mode
2507         [b1fd3f8d45c0]
2508
2509 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2510
2511         * sudo.pp:
2512         Go back to sudo-flavor to match existing packages and only use an
2513         underscore for those that need it.
2514         [d737069d1e1c]
2515
2516         * sudo.pp:
2517         Use sudo_$flavor instead of sudo-$flavor since that causes the least
2518         amount of trouble for the various package managers.
2519         [71f547af35fc]
2520
2521         * mkpkg:
2522         Fix handling of the ldap flavor Remove destdir unless --debug was
2523         specified Make distclean before running configure if there is a
2524         Makefile present
2525         [6316f08de7d3]
2526
2527         * sudo.pp:
2528         Add back include file.
2529         [195627bf68b8]
2530
2531         * mkpkg:
2532         Pass extra args on to configure on HP-UX, if we don't have the HP C
2533         compiler, disable zlib to prevent gcc from finding it in
2534         /usr/local/lib.
2535         [473efa0e2bac]
2536
2537         * mkpkg:
2538         Use the HP ANSI C compiler on HP-UX if possible
2539         [fb249b6b175d]
2540
2541         * plugins/sudoers/sudoreplay.c:
2542         Some getline() implementations (FreeBSD 8.0) do not ignore the
2543         length pointer when the line pointer is NULL as they should.
2544         [2410a1a3543c]
2545
2546         * plugins/sudoers/sudoreplay.c:
2547         Don't need to check for *cp being non-zero, isdigit() will do that.
2548         [7df11ea8a487]
2549
2550         * plugins/sudoers/sudoreplay.c:
2551         Add setlocale() so the command line arguments that use floating
2552         point work in different locales. Since sudo now logs the timing
2553         data in the C locale we must Parse the seconds in the timing file
2554         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
2555         the number of seconds with the user's locale so if the decimal point
2556         is not '.' try using the locale-specific version.
2557         [4d385765f23b]
2558
2559         * src/exec.c:
2560         Do I/O logging in the C locale so the floating point numbers in the
2561         timing file are not locale-dependent.
2562         [5961cec044ec]
2563
2564         * plugins/sudoers/sudoreplay.c:
2565         Use errorx() not error() for thingsthat don't set errno.
2566         [0fe5e692af84]
2567
2568 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2569
2570         * pp:
2571         Better support for 1.2.3 style versions in Tru64 kits
2572         [997c549bb777]
2573
2574         * sudo.pp:
2575         Add Tru64 kit support
2576         [e273a954f981]
2577
2578         * pp:
2579         Remove apparently unnecessary use of sudo
2580         [be8840d85125]
2581
2582         * Makefile.in, plugins/sudoers/Makefile.in:
2583         Create timedir as part of install-dirs target.
2584         [c736bc2fb14f]
2585
2586         * src/exec_pty.c:
2587         Handle ENXIO from read/write which can occur when reading/writing a
2588         pty that has gone away.
2589         [fa2e8059879f]
2590
2591         * plugins/sudoers/pwutil.c:
2592         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
2593         [3a045475d5ee]
2594
2595         * mkpkg:
2596         platform is a pp flag not a variable
2597         [12eba39a47c1]
2598
2599         * Makefile.in, mkpkg, sudo.pp:
2600         Add simple arg parsing for mkpkg so we can set debug, flavor or
2601         platform.
2602         [ada839fe252d]
2603
2604         * pp:
2605         Make rpm backend work on AIX 5.x
2606         [549a76d11393]
2607
2608 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2609
2610         * plugins/sudoers/sudoers:
2611         Add commented out Defaults entry for log_output
2612         [7e67d7588900]
2613
2614 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2615
2616         * doc/Makefile.in:
2617         Remove sudo docdir completely
2618         [dce8e82878ef]
2619
2620         * doc/sample.sudo.conf:
2621         Add sample sudo.conf
2622         [aafdba3fc411]
2623
2624 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2625
2626         * plugins/sudoers/Makefile.in:
2627         Add PACKAGE_TARNAME for docdir
2628         [930c92b8f8f0]
2629
2630 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2631
2632         * src/Makefile.in:
2633         Pass install-sh -b~ here too.
2634         [c3f5eb446c38]
2635
2636         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
2637         plugins/sudoers/Makefile.in, src/Makefile.in:
2638         Install binary files with -b~ to make a backup. Fixes "text file
2639         busy" error on HP-UX during install.
2640         [81f306f54f8c]
2641
2642         * install-sh:
2643         "mv -f" on HP-UX doesn't unlink the destination first so add an
2644         explicit rm before moving the temporary into place.
2645         [fb719a79582d]
2646
2647         * configure, configure.in:
2648         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
2649         [0aa098770074]
2650
2651         * doc/Makefile.in, plugins/sudoers/Makefile.in:
2652         Install sudoers2ldif in the doc dir
2653         [33ac3b53d7f5]
2654
2655 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2656
2657         * pathnames.h.in:
2658         Add missing include of maillock.h for Solaris
2659         [5a58883be23a]
2660
2661         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
2662         doc/sample.syslog.conf, doc/sudoers.cat:
2663         Change the default syslog facility from local2 to authpriv (or auth
2664         if the operating system doesn't support authpriv).
2665         [3b70ba514f49]
2666
2667         * Makefile.in, sudo.pp:
2668         Install sudoers as /etc/sudoers on RPM and debian systems where the
2669         package manager will not replace a user-modified configuration file.
2670         This fixes upgrades from the vendor sudo packages.
2671         [d886b6d60b5b]
2672
2673         * pp:
2674         RPM: use %config(noreplace) instead of %config for volatile This
2675         results in the new file being installed with a .rpmnew suffix
2676         instead of the file being replaced and the old one renamed with a
2677         .rpmsave suffix.
2678         [58be2119f8e8]
2679
2680 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2681
2682         * compat/mkstemps.c, plugins/sudoers/boottime.c:
2683         Include time.h for struct timeval
2684         [ddf8b04f0276]
2685
2686         * src/exec_pty.c:
2687         The return value of strsignal() may be const and should be treated
2688         as const regardless.
2689         [620074ae1e77]
2690
2691         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2692         Mention that 127.0.0.1 will not match, nor will localhost unless
2693         that is the actual host name.
2694         [8b574122eb8f]
2695
2696         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
2697         Rename WHATSNEW -> NEWS
2698         [d1a2c8c47d89]
2699
2700         * pp:
2701         Updated pp with latest patches
2702         [98e16b9b8f62]
2703
2704         * WHATSNEW:
2705         Sync with 1.7.4
2706         [65ac4dafeef7]
2707
2708         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
2709         plugins/sudoers/sudoers:
2710         Add commented out line to add HOME to env_keep and add a warning to
2711         the note about the HOME change in UPGRADE.
2712         [0d6a775bb6c8]
2713
2714 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2715
2716         * plugins/sudoers/sudoreplay.c:
2717         Add LINE_MAX define for those without it.
2718         [446d9dbe7859]
2719
2720         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
2721         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
2722         plugins/sudoers/defaults.c:
2723         The tty_tickets option is now on by default.
2724         [a01c48206d80]
2725
2726         * WHATSNEW:
2727         Mention that AIX authdb support has been fixed.
2728         [87bd7f4eba6a]
2729
2730         * common/aix.c:
2731         setauthdb() only sets the "old" registry if it was set by a previous
2732         call to setauthdb(). To restore the original value, passing NULL
2733         (or an empty string) to setauthdb() is sufficient.
2734         [470da190a254]
2735
2736 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2737
2738         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
2739         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
2740         plugins/sudoers/env.c:
2741         Reset HOME when env_reset is enabled unless it is in env_keep
2742         [f421f8827340]
2743
2744         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2745         The default for set_logname has been "true" for some time now.
2746         [f489da5674c3]
2747
2748         * plugins/sudoers/boottime.c:
2749         Add missing include of time.h
2750         [624d7014932f]
2751
2752         * plugins/sudoers/logging.c:
2753         Fix check for dup2() return value.
2754         [140ea2d50d20]
2755
2756         * plugins/sudoers/env.c:
2757         Add PYTHONUSERBASE to initial_badenv_table
2758         [3149aae5b12c]
2759
2760         * plugins/sudoers/visudo.c:
2761         Treat an unknown defaults entry as a parse error.
2762         [b3ebad73efb2]
2763
2764         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
2765         Check return value of setdefs() but don't stop setting defaults if
2766         we hit an unknown one.
2767         [945e752239ab]
2768
2769         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
2770         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
2771         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
2772         plugins/sudoers/env.c:
2773         If env_reset is enabled, set the MAIL environment variable based on
2774         the target user unless MAIL is explicitly preserved in sudoers.
2775         [a1b03e2e0e96]
2776
2777 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2778
2779         * pp:
2780         decode debian code names
2781         [8741280d9960]
2782
2783         * WHATSNEW:
2784         fix typo
2785         [a8a19451110b]
2786
2787 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2788
2789         * WHATSNEW:
2790         Merge with 1.7.4
2791         [9348fa7e15b8]
2792
2793         * src/sudo.c:
2794         Restore RLIMIT_NPROC after the uid switch if it appears that
2795         runas_setup() did not do it for us. Fixes a bash script problem on
2796         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
2797         [786fb272e5fd]
2798
2799 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2800
2801         * mkpkg, pp, sudo.pp:
2802         Restore the dot removal in the os version reported by polypkg. Adapt
2803         mkpkg and sudo.pp to the change.
2804         [dcafdd53b88f]
2805
2806 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2807
2808         * INSTALL:
2809         document --with-pam-login
2810         [ea93e4c6873c]
2811
2812         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2813         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
2814         [2ac90d8de36e]
2815
2816 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2817
2818         * sudo.pp:
2819         Include flavor in solaris package name
2820         [e605f6364c9f]
2821
2822         * mkpkg:
2823         Older shells don't support IFS= so set explictly to space, tab,
2824         newline.
2825         [7773960bc8a0]
2826
2827         * mkpkg:
2828         Use '=' not '==' in test
2829         [c99d42bc48e6]
2830
2831         * mkpkg:
2832         Fix typo that prevented debian from matching
2833         [84421078fcb7]
2834
2835         * mkpkg:
2836         Add missing prefix setting for debian
2837         [6466f23de4aa]
2838
2839         * sudo.pp:
2840         Use tab indents to reduce the chance of problem with <<- Fix the
2841         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
2842         line in sudoers for debian Uncomment some env_keep lines for RHEL,
2843         SLES and debian to more closely match the vendor sudoers files.
2844         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
2845         debian for ldap flavor
2846         [c5b49feb1a0c]
2847
2848         * plugins/sudoers/sudoers:
2849         Add commented out env_keep entries, sample Aliases and a %sudo line
2850         for debian.
2851         [387719e52d0f]
2852
2853         * configure, configure.in:
2854         Move zlib check later on in the script to avoid a strange shell
2855         problem on SLES11.
2856         [1a3153bb1291]
2857
2858         * configure.in:
2859         Remove check for egrep; configure has its own
2860         [a3b9d98cb5d2]
2861
2862 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
2863
2864         * mkpkg:
2865         Enable zlib for linux distros
2866         [8fa51a1405a4]
2867
2868         * mkpkg:
2869         Add ldap flavor to default build
2870         [97644f5a555f]
2871
2872         * mkpkg, sudo.pp:
2873         Simplify rpm linux distro settings
2874         [b9dcf10cdf20]
2875
2876         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
2877         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
2878         [2c549c1acde9]
2879
2880         * Makefile.in:
2881         Fix ChangeLog creation from build dir
2882         [3d0c7904f173]
2883
2884         * plugins/sudoers/sudoers.c:
2885         Handle getcwd() failure.
2886         [aef7bef87394]
2887
2888         * doc/Makefile.in, mkpkg, sudo.pp:
2889         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
2890         environment variable.
2891         [be6ed611b7a8]
2892
2893         * sudo.pp:
2894         Create sudo group on debian
2895         [6ed6c032042e]
2896
2897         * mkpkg, sudo.pp:
2898         Add debian 4/5/6 and use the dot when doing version matches
2899         [6bcb664d1f4f]
2900
2901         * aclocal.m4, configure:
2902         Use a loop when searching for mv, sendmail and sh
2903         [d5e9369f8d13]
2904
2905         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
2906         Remove spurious "and"; from debian
2907         [a21e6f7c5b99]
2908
2909         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
2910         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
2911         doc/visudo.man.in, doc/visudo.pod:
2912         Substitute the value of EDITOR into the sudoers and visudo manuals.
2913         [cd79e587dd7f]
2914
2915 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2916
2917         * mkpkg, pp, sudo.pp:
2918         Initial support for debian 4.0
2919         [ac6707915fa8]
2920
2921         * mkpkg:
2922         Some platforms need -fPIE instead of -fpie
2923         [fd6be19e5bc2]
2924
2925         * plugins/sudoers/auth/pam.c:
2926         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
2927         On Linux it causes a DNS lookup via libaudit.
2928         [1e10105ade5b]
2929
2930         * MANIFEST:
2931         Update MANIFEST to match packaging changes
2932         [ef86ee557b5b]
2933
2934         * sudo.psf:
2935         We now use pp to generate HP-UX packages
2936         [f7aa8da7844e]
2937
2938         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
2939         Remove vestiges of old binary package bits.
2940         [afffd005452f]
2941
2942         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
2943         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
2944         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
2945         src/Makefile.in:
2946         install-man -> install-doc
2947         [99b5fa05567c]
2948
2949         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
2950         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
2951         Use http://rc.quest.com/topics/polypkg/ for packaging
2952         [5ca8eb75b223]
2953
2954         * install-sh:
2955         Just ignore the -c option, it is the default Add support for -d
2956         option
2957         [a8b6b0a131e8]
2958
2959 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2960
2961         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
2962         Use _PATH_STDPATH instead of _PATH_DEFPATH
2963         [137fa911908e]
2964
2965         * plugins/sudoers/Makefile.in, src/Makefile.in:
2966         Do not strip binaries.
2967         [20166e287176]
2968
2969         * INSTALL, configure, configure.in:
2970         Add --insults=disabled configure option to allow people to build in
2971         insult support but have the insults disabled unless explicitly
2972         enabled in sudoers.
2973         [523b8c552e90]
2974
2975         * compat/mkstemps.c:
2976         Add prototype for gettime()
2977         [275eee40473b]
2978
2979         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
2980         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
2981         plugins/sudoers/sudoers.h:
2982         Add support for a sudo-i pam.d file to be used for "sudo -i".
2983         Adapted from a RedHat patch.
2984         [06d34f16520b]
2985
2986 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2987
2988         * include/missing.h:
2989         Fix mkstemps() prototype
2990         [2421841e815b]
2991
2992         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
2993         config.h.in, configure, configure.in, include/missing.h,
2994         src/sudo_edit.c:
2995         Use mkstemps() instead of mkstemp() in sudoedit. This allows
2996         sudoedit to preserve the file extension (if any) which may be used
2997         by the editor (like emacs) to choose the editing mode.
2998         [d33172d2c086]
2999
3000 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3001
3002         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
3003         plugins/sudoers/ldap.c:
3004         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
3005         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
3006         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
3007         should avoid disabling TLS_CHECKPEER is possible.
3008         [196622436212]
3009
3010 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3011
3012         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3013         Make sudo_plugin format a bit more like a man page
3014         [048d596e32da]
3015
3016         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3017         Add suport for negated user/host/command lists in a Defaults entry.
3018         E.g. Defaults:!baduser noexec
3019         [d41112cf0342]
3020
3021         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3022         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3023         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3024         src/Makefile.in:
3025         Add uninstall target
3026         [fea66ebf136a]
3027
3028         * common/Makefile.in, compat/Makefile.in:
3029         Remove unused AR, SED and RANLIB variables
3030         [2ff9928bfdb3]
3031
3032         * Makefile.in:
3033         Do not install sample plugins
3034         [5443b87bd1c3]
3035
3036 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3037
3038         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
3039         configure.in, plugins/sudoers/env.c:
3040         Now that sudoers is a dynamically loaded module we cannot override
3041         the libc environment functions because the symbols may already have
3042         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
3043         replacements from sudoers and add replacements for setenv/unsetenv
3044         for systems that lack them.
3045         [3f2b43cb8851]
3046
3047         * configure, configure.in, plugins/sudoers/Makefile.in:
3048         Link testsudoers with -ldl when needed
3049         [f79606f9fcd7]
3050
3051         * plugins/sample_group/plugin_test.c:
3052         Remove unused time.h and add limits.h for PATH_MAX
3053         [3f5d0074d621]
3054
3055         * doc/sudoers.ldap.pod:
3056         Fix typo.
3057         [bc855fd57397]
3058
3059 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3060
3061         * plugins/sample_group/plugin_test.c:
3062         Do not depend on strlcpy/strlcat
3063         [6e7e2b5af051]
3064
3065         * plugins/sample_group/plugin_test.c:
3066         Standalone test driver for sudoers group plugin.
3067         [eb1235fc3b8e]
3068
3069 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3070
3071         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
3072         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
3073         aid.
3074         [2a34e616229b]
3075
3076         * plugins/sample_group/sample_group.c:
3077         Fix style nit in function declarations
3078         [ab87c7c76bf9]
3079
3080         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
3081         Document group_plugin syntax.
3082         [ed1faf72ddcb]
3083
3084         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3085         Document the sudoers group plugin.
3086         [f19a62dc8cfc]
3087
3088         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
3089         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
3090         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
3091         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
3092         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
3093         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
3094         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
3095         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
3096         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
3097         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
3098         Replace built-in non-unix group support with a sudoers group plugin.
3099         Include a sample plugin that can read Unix-format group files.
3100         [8fc58ce0b1a8]
3101
3102         * configure, configure.in, src/load_plugins.c:
3103         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
3104         [5c491dddb8ef]
3105
3106 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3107
3108         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
3109         doc/sudoers.man.in, doc/sudoers.pod:
3110         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
3111         [e8a5a5830cfe]
3112
3113         * aclocal.m4, configure, configure.in:
3114         Substitute @io_logdir@ for the sudoers I/O log directory.
3115         [21a75ca7b0ab]
3116
3117 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3118
3119         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
3120         common/atobool.c, common/fileops.c, common/fmt_string.c,
3121         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
3122         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
3123         compat/snprintf.c, config.h.in, configure, configure.in,
3124         include/fileops.h, plugins/sample/sample_plugin.c,
3125         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
3126         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
3127         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
3128         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
3129         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
3130         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
3131         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3132         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
3133         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
3134         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
3135         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
3136         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
3137         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
3138         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
3139         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
3140         plugins/sudoers/logging.c, plugins/sudoers/match.c,
3141         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
3142         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3143         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3144         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3145         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3146         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
3147         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
3148         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
3149         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
3150         Set usrinfo for AIX Set adminstrative domain for the process when
3151         looking up user's password or group info and when preparing for
3152         execve(). Include strings.h even if string.h exists since they may
3153         define different things. Fixes warnings on AIX and others.
3154         [cf8b93e872c9]
3155
3156         * Makefile.in:
3157         Add a separate all target for AIX make which was using the entire
3158         LHS (not just the first entry) of the first target as the implicit
3159         target.
3160         [a45b980a01ef]
3161
3162         * plugins/sudoers/env.c:
3163         Do not rely on env.env_len when unsetting a variable, just use the
3164         NULL terminator.
3165         [ca6eb239c829]
3166
3167         * plugins/sudoers/env.c:
3168         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
3169         [7046ba7caa4e]
3170
3171 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3172
3173         * plugins/sudoers/vasgroups.c:
3174         Use warningx() instead of log_error() since the latter is not
3175         available to visudo or testsudoers. This does mean that they don't
3176         end up in syslog.
3177         [152b7c50f426]
3178
3179         * plugins/sudoers/sudoers.c:
3180         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
3181         closed the sudoers sources. From Quest sudo.
3182         [c1cd573bab94]
3183
3184         * plugins/sudoers/pwutil.c:
3185         Ignore case when matching user/group names in the cache. From Quest
3186         sudo.
3187         [2aa4ecc7d7f5]
3188
3189 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3190
3191         * config.h.in, configure, configure.in, src/selinux.c:
3192         Add check for setkeycreatecon() when --with-selinux is specified.
3193         [affae247b4e0]
3194
3195         * configure, configure.in:
3196         Error out if libaudit.h is missing or ununable when --with-linux-
3197         audit was specified
3198         [d82e743fac04]
3199
3200         * doc/HISTORY, doc/history.pod:
3201         Add =head3 entries, mostly for the html version
3202         [ee93112d0308]
3203
3204 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3205
3206         * doc/HISTORY, doc/history.pod:
3207         Mention when LDAP was incorporate.
3208         [2923dc17f79c]
3209
3210 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
3211
3212         * configure, configure.in:
3213         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
3214         not covered by _ALL_SOURCE.
3215         [c92fd69809d0]
3216
3217 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3218
3219         * plugins/sudoers/iolog.c:
3220         Add a cast to quiet a compiler warning.
3221         [a200e07ee1bc]
3222
3223         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
3224         Quiet a compiler warning.
3225         [c9acfc927cea]
3226
3227         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
3228         Call set_fqdn() after sudoers has parsed instead of inline as a
3229         callback.
3230         [5f4e5d075f2d]
3231
3232         * WHATSNEW, plugins/sudoers/sudoers.c:
3233         Do not call set_fqdn() until sudoers parses (where is gets run as a
3234         callback).
3235         [09040fca6d40]
3236
3237         * WHATSNEW:
3238         mention the change in tty ticket behavior when there is no tty
3239         [575a1fd98f05]
3240
3241         * plugins/sudoers/check.c:
3242         Do not update tty ticket if there is no tty.
3243         [63f9c33ce6a7]
3244
3245         * doc/LICENSE, doc/license.pod:
3246         Update copyright year
3247         [0722ab5d404b]
3248
3249         * doc/Makefile.in:
3250         Do not rely on BSD make's $>
3251         [936a86398bd9]
3252
3253         * configure, configure.in:
3254         Set timedir to /var/db/sudo for darwin to match Apple sudo's
3255         location
3256         [d5b9b03096f1]
3257
3258 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3259
3260         * plugins/sudoers/sudoers.h:
3261         Add stub declarations for struct stat and struct timeval
3262         [f6d90551a4fd]
3263
3264         * MANIFEST:
3265         Remove compat/sigaction.c
3266         [d0ed6d9a770e]
3267
3268         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
3269         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
3270         Check for zlib.h in addition to libz.
3271         [6e191b4a6065]
3272
3273         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
3274         src/sudo_exec.h:
3275         Move functions and symbols shared between exec.c and exec_pty.c into
3276         sudo_exec.h.
3277         [14ae63403544]
3278
3279         * doc/Makefile.in:
3280         Comment out rules to build .man.in and .cat files unless --with-
3281         devel
3282         [3cf7e5606a85]
3283
3284         * doc/Makefile.in:
3285         Comment out rules to build .man.in and .cat files unless --with-
3286         devel
3287         [d30495b0e29e]
3288
3289         * src/parse_args.c:
3290         Quote any non-alphanumeric characters other than '_' or '-' when
3291         passing a command to be run via the shell for the -s and -i options.
3292         [d633f74fe2d9]
3293
3294         * doc/Makefile.in:
3295         Add back .man suffix
3296         [6e63b60a2739]
3297
3298         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
3299         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
3300         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
3301         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
3302         src/selinux.c:
3303         Add Linux audit support.
3304         [5a2f445e0bd4]
3305
3306 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3307
3308         * plugins/sudoers/iolog.c:
3309         Remove an XXX
3310         [a170cbe651d1]
3311
3312         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
3313         plugins/sudoers/sudoreplay.c:
3314         Add -f (filter) option to sudoreplay to allow certain streams to be
3315         replayed and others ignored.
3316         [62e51b432ea1]
3317
3318         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
3319         src/tgetpass.c:
3320         Fix -A flag when askpass is specified in sudo.conf or if sudo
3321         doesn't need to read a password.
3322         [2e401e4a00e3]
3323
3324         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
3325         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
3326         Clean up some XXXs
3327         [689f0b002d3d]
3328
3329         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
3330         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3331         Add support for multiple sudoers_base entries in ldap.conf. From
3332         Joachim Henke
3333         [e3e4a3c2bd5b]
3334
3335         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
3336         src/exec_pty.c:
3337         remove setsid check, we require a POSIX system
3338         [cc73cb9e22c0]
3339
3340         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
3341         src/sudo.c, src/tgetpass.c:
3342         Check for dup2() failure.
3343         [5d46d66794f5]
3344
3345         * config.h.in, configure, configure.in:
3346         Remove dup2() check, it is not optional.
3347         [5f1d56de4384]
3348
3349 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3350
3351         * WHATSNEW:
3352         sync with sudo 1.7.3
3353         [88e5c0bd6d59]
3354
3355         * INSTALL:
3356         SunOS does not ship with an ANSI compiler
3357         [f13c85c67069]
3358
3359         * INSTALL:
3360         Update OS specific notes. Delete some really ancient ones and move
3361         older ones to the end of the list.
3362         [59ce592c4c52]
3363
3364         * README:
3365         Sudo can be downloaded from the web site too Mention "OS dependent
3366         notes" section in INSTALL
3367         [191871538984]
3368
3369         * src/exec_pty.c, src/selinux.c:
3370         Call selinux_restore_tty() as part of cleanup() so it gets called
3371         from error()/errorx()
3372         [bb017da6b6da]
3373
3374         * MANIFEST, doc/PORTING:
3375         Remove obsolete porting guide
3376         [321e35591344]
3377
3378         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
3379         Move union sudo_in_addr_un into interfaces.h
3380         [b2c8b19ee094]
3381
3382         * doc/Makefile.in:
3383         Remove useless circular dependencies
3384         [5682181b59cf]
3385
3386         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
3387         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
3388         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
3389         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
3390         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
3391         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
3392         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
3393         Convert to ANSI C function declarations
3394         [a4f76927d034]
3395
3396         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
3397         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
3398         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
3399         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
3400         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
3401         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
3402         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
3403         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
3404         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
3405         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
3406         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
3407         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
3408         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
3409         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
3410         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
3411         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
3412         plugins/sudoers/logging.h, plugins/sudoers/match.c,
3413         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
3414         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
3415         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
3416         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
3417         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
3418         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
3419         src/conversation.c, src/error.c, src/load_plugins.c,
3420         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
3421         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
3422         Update copyright year
3423         [26ac7991f7d8]
3424
3425         * doc/Makefile.in:
3426         Fix commented DEVDOCS when not in devel mode.
3427         [e0a97eaf3793]
3428
3429         * plugins/sudoers/match.c:
3430         Quiet a compiler warning.
3431         [b2a17ebd5d38]
3432
3433         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
3434         Quiet a compiler warning.
3435         [687843bc593d]
3436
3437         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
3438         Make all functions in ldap.c static
3439         [b2111e89eeba]
3440
3441         * doc/schema.ActiveDirectory:
3442         Updates from Alain Roy to provide better examples for importing the
3443         schema and to fix problems caused by Windows validating attributes
3444         which have not yet been added before committing the changes.
3445         [69f4c5ccaf89]
3446
3447 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3448
3449         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
3450         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
3451         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
3452         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
3453         doc/visudo.cat, doc/visudo.man.in:
3454         Leave rules to build .man.in and .cat files uncommented but only
3455         make them part of the "all" rule in devel mode. Generate .cat files
3456         directly from .man.in instead of .man using default values in
3457         configure.in
3458         [c3054a44f6a5]
3459
3460         * configure, configure.in:
3461         Bump sudo version to 1.8.0b1
3462         [8f79c85135e1]
3463
3464         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
3465         Print configure args with verbose version information.
3466         [1ce690660ed2]
3467
3468         * TODO, plugins/sudoers/visudo.c:
3469         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
3470         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
3471         Use tq_append to append sudoers entries to the tail queue.
3472         [1743f9a286e4]
3473
3474 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3475
3476         * WHATSNEW:
3477         Describe tty timestamp improvements
3478         [e214e863a313]
3479
3480         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3481         A comment character may not be part of a command line argument
3482         unless it is quoted with a backslash. Fixes parsing of:
3483         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
3484         [ea2e990f85ed]
3485
3486         * doc/sudoers.pod:
3487         Make this read a little bit better when passwd_timeout is 0.
3488         [39d362757f31]
3489
3490         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
3491         Attempt to handle a default password prompt timeout of zero more
3492         gracefully.
3493         [ea47d43acf5b]
3494
3495         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3496         Do not override value of keepopen global, instead restore it to the
3497         value we pushed onto the stack when popping.
3498         [fe282e5a3402]
3499
3500         * plugins/sudoers/Makefile.in:
3501         Add dependency for utility programs on libreplace and libcommon
3502         [2339aba64928]
3503
3504         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
3505         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
3506         src/exec.c, src/exec_pty.c, src/tgetpass.c:
3507         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
3508         [7dd61f1bd8d2]
3509
3510         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
3511         We don't use getgrouplist() at the moment so there's no need to
3512         provide a compat version.
3513         [1597536fbada]
3514
3515         * TODO:
3516         sync with reality
3517         [9e1a874e7885]
3518
3519         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
3520         src/conversation.c, src/sudo.h, src/tgetpass.c:
3521         Fix visiblepw sudoers option; the plugin API portion still needs
3522         documenting
3523         [60b6933ef5e0]
3524
3525         * src/sudo.c:
3526         Print sudo version as well.
3527         [987ed459b459]
3528
3529         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
3530         Use sudo_printf for I/O log version Clarify policy plugin version
3531         string
3532         [5a58b7e8c80b]
3533
3534         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
3535         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
3536         Silence some compiler warnings
3537         [afb1eba90915]
3538
3539         * src/load_plugins.c, src/tgetpass.c:
3540         Store askpass path in a global instead of uses setenv() which many
3541         systems lack.
3542         [b440bcc0e660]
3543
3544 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3545
3546         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
3547         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
3548         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
3549         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
3550         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
3551         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
3552         src/tgetpass.c:
3553         Move askpass path specification from sudoers to sudo.conf.
3554         [5507ab867c26]
3555
3556         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
3557         Use a flag bit in struct command_details for selinux instead of a
3558         separate field.
3559         [c59ca4acded9]
3560
3561         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
3562         Implement background mode. If I/O logging we use pipes instead of a
3563         pty.
3564         [c07a4b356cbd]
3565
3566         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
3567         src/exec.c, src/exec_pty.c, src/tgetpass.c:
3568         Move compat definition of NSIG to compat.h
3569         [ab0385467f25]
3570
3571         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
3572         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3573         Mention plugins in the sudo manual and add some missing path
3574         substitution in the sudo_plugin manual.
3575         [570f831f47a3]
3576
3577         * src/Makefile.in:
3578         Set _PATH_SUDO_CONF based on $(sysconfdir)
3579         [fde51869cf07]
3580
3581         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
3582         src/exec.c, src/exec_pty.c, src/ttysize.c:
3583         Require POSIX termios to build sudo
3584         [9ec6b41f3f95]
3585
3586         * src/tgetpass.c:
3587         Ignore SIGPIPE for "sudo -S"
3588         [7ad27fde0c06]
3589
3590         * src/tgetpass.c:
3591         Fix uninitialized variable in TGP_ECHO case and print a newline if
3592         the user interrupted password input.
3593         [ce19204d8dd4]
3594
3595         * src/tgetpass.c:
3596         Make TGP_ECHO override TGP_MASK and don't try to restore the
3597         terminal if we didn't modify it.
3598         [a7e11abfe7e4]
3599
3600         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
3601         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
3602         src/conversation.c, src/sudo.h, src/tgetpass.c:
3603         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
3604         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
3605         set.
3606         [e0550590cabe]
3607
3608         * src/exec_pty.c:
3609         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
3610         [762448182fe3]
3611
3612 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3613
3614         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
3615         Add selinux_enabled flag into struct command_details and set it in
3616         command_info_to_details(). Return an error from selinux_setup()
3617         instead of exiting. Call selinux_setup() from exec_setup().
3618         [011bea23a5a0]
3619
3620 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3621
3622         * src/exec_pty.c:
3623         Remove commented out copy of old sudo_execve() function.
3624         [9c5e21380472]
3625
3626 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3627
3628         * plugins/sudoers/sudoers.c:
3629         Fix setting selinux type on command line.
3630         [814b20a0b3be]
3631
3632         * plugins/sudoers/iolog.c:
3633         In sudoers_io_close(), skip NULL io_fds[] elements.
3634         [4011ff7d4daf]
3635
3636         * include/compat.h:
3637         No longer need NGROUPS_MAX define
3638         [cae4c49d7077]
3639
3640         * compat/nanosleep.c, config.h.in, configure, configure.in,
3641         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
3642         plugins/sudoers/visudo.c, src/sudo_edit.c:
3643         Replace timerfoo macros with timevalfoo since the timer macros are
3644         known to be busted on some systems.
3645         [4f97d79f2d41]
3646
3647         * src/exec_pty.c:
3648         Remove duplicate call to selinux_setup().
3649         [82bd52764e21]
3650
3651         * plugins/sudoers/auth/pam.c:
3652         If pam_open_session() fails, pass its status to pam_end.
3653         [1d8de4cf8ff3]
3654
3655         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3656         If a file in a #includedir has improper permissions or owner just
3657         skip it. This prevents packages that incorrectly install a file
3658         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
3659         #includedir files still result in a parse error (for now).
3660         [ade99a4549a4]
3661
3662         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3663         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
3664         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
3665         Add use_pty sudoers option to force use of a pty even when not
3666         logging I/O.
3667         [b280a8972a79]
3668
3669         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
3670         Make env_init() void as it never fails.
3671         [d3890e55daa7]
3672
3673         * plugins/sudoers/env.c:
3674         No longer use _NSGetEnviron so don't need crt_externs.h
3675         [9b4e0e139881]
3676
3677         * plugins/sudoers/env.c:
3678         Remove unused VNULL define
3679         [a42cacb263e3]
3680
3681 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3682
3683         * plugins/sudoers/iolog.c:
3684         Add #define for maximum session id
3685         [9e18c17a28c2]
3686
3687         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
3688         Split exec.c into exec.c and exec_pty.c
3689         [d52376327332]
3690
3691         * MANIFEST:
3692         Sync with source file moves.
3693         [4a62c6c9e846]
3694
3695         * src/Makefile.in, src/get_pty.c, src/pty.c:
3696         Rename pty.c -> get_pty.c
3697         [5696a12bd29b]
3698
3699 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3700
3701         * plugins/sudoers/iolog.c:
3702         Only use I/O input log file if def_log_input is set and output file
3703         if def_log_output is set.
3704         [d866992f1681]
3705
3706 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3707
3708         * compat/strsignal.c:
3709         Update copyright year
3710         [a96f2593fd4e]
3711
3712         * src/pty.c:
3713         uid -> ttyuid
3714         [c3454d74ebcb]
3715
3716         * plugins/sudoers/sudoers.c:
3717         For sudoedit, make a local copy of editor string si become part of
3718         argv. If no editor environment variable, split def_editor on ':'
3719         since it may be a colon-delimited path.
3720         [2ee298506a6e]
3721
3722         * src/sudo_edit.c:
3723         Remove unneeded endpwent()/endgrent()
3724         [623f6743d101]
3725
3726         * doc/Makefile.in:
3727         Use value of nroff from configure
3728         [b2ce649125ab]
3729
3730         * src/exec.c:
3731         Add missing const to I/O log action function
3732         [d764a3955e04]
3733
3734         * plugins/sudoers/check.c:
3735         Update copyright year and fix whitespace
3736         [e648c35b16be]
3737
3738         * configure, configure.in:
3739         Fix typo
3740         [8e0bdfc47da4]
3741
3742         * plugins/sudoers/iolog.c:
3743         Remove redundant tty signal blocking in log function.
3744         [f17f575dabd4]
3745
3746 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3747
3748         * plugins/sudoers/iolog.c:
3749         Place static keyword where it belongs
3750         [b01aec7c86b4]
3751
3752         * plugins/sudoers/logging.c:
3753         Always use a printf format string for send_mail()
3754         [13b1ada644c9]
3755
3756         * common/atobool.c, plugins/sudoers/ldap.c:
3757         Extend atobool() so we can use it in the LDAP code.
3758         [73f8e6807044]
3759
3760         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
3761         Sudo now stashes tty ctime for tty_tickets on Solaris too.
3762         [e82df13ad3fd]
3763
3764         * plugins/sudoers/boottime.c:
3765         Fix dummy version of get_boottime()
3766         [01d69c06013b]
3767
3768 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
3769
3770         * plugins/sudoers/check.c:
3771         Enable tty_is_devpts() support for Solaris with the "devices"
3772         filesystem.
3773         [237c6b25fa84]
3774
3775         * src/exec.c:
3776         Unbreak the non-io logging case.
3777         [4822b9f709fb]
3778
3779         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
3780         Fix symbol name conflict with sudo_printf.
3781         [0d44eab0a8f6]
3782
3783         * plugins/sudoers/auth/pam.c:
3784         Fix OpenPAM detection for newer versions.
3785         [1b2abed232d8]
3786
3787         * plugins/sudoers/vasgroups.c:
3788         Sync with Quest sudo git repo
3789         [f1d98b3cba02]
3790
3791         * aclocal.m4, configure, configure.in:
3792         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
3793         Add missing template for ENV_DEBUG Adapted from Quest sudo
3794         [695dbd7b28f4]
3795
3796         * README.LDAP:
3797         Fix typos; from Quest Sudo
3798         [4eba9da33b8e]
3799
3800 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3801
3802         * plugins/sudoers/Makefile.in:
3803         Add back -I$(top_srcdir); we need it for including compat/foo.h
3804         since we cannot rely on "foo.h" being found relative to the source
3805         file when the cwd is different.
3806         [bbf24695f325]
3807
3808         * src/exec.c:
3809         Fix a bug where we could treat EAGAIN as a permanent error. Also set
3810         cstat if perform_io() returns an error.
3811         [200475c4326f]
3812
3813         * common/alloc.c, plugins/sudoers/boottime.c,
3814         plugins/sudoers/sudoers.c:
3815         Add casts to quiet compiler warnings.
3816         [85eb1c336697]
3817
3818         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3819         plugins/sudoers/visudo.c:
3820         Fix typo in ternary operator usage.
3821         [6492ac1450e2]
3822
3823 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3824
3825         * INSTALL, configure, configure.in:
3826         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
3827         [92121d693b30]
3828
3829         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
3830         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
3831         Update docs to match sudoers I/O logging changes
3832         [18d651989e49]
3833
3834         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
3835         pathnames.h.in, plugins/sudoers/def_data.c,
3836         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
3837         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
3838         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
3839         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
3840         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
3841         plugins/sudoers/sudoreplay.c:
3842         Break sudoers transcript feature up into log_input and log_output.
3843         [db3c1248d2ad]
3844
3845         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3846         plugins/sudoers/visudo.c:
3847         Use setprogname() as needed.
3848         [6beee63a4553]
3849
3850         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
3851         Adapt sudoreplay to iolog changes.
3852         [581f52c05f0f]
3853
3854 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3855
3856         * plugins/sudoers/iolog.c:
3857         Log all input and output into separate files and store a number on
3858         each timing file line to indicate which file the data is in.
3859         [fb460c5273dd]
3860
3861         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
3862         plugins/sudoers/sudoers.h:
3863         Make sudoers_io functions static to iolog.c
3864         [b2df3cc3eecb]
3865
3866 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3867
3868         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
3869         src/sudo_usage.h.in:
3870         Completely remove the -L flag from the sudo front end.
3871         [3d220030b720]
3872
3873         * plugins/sudoers/sudoreplay.c:
3874         Fix EAGAIN handling when writing to stdout.
3875         [4766d77cea49]
3876
3877         * plugins/sudoers/sudoers.c:
3878         Eliminate unused variables
3879         [83bd711e79c4]
3880
3881         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
3882         Re-enable cleanup functions in sudoers plugin and sudo driver for
3883         error()/errorx().
3884         [43093f937dd8]
3885
3886         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
3887         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
3888         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
3889         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
3890         Use sudo_printf to display verbose version information.
3891         [435cc9f8d4a2]
3892
3893         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
3894         plugins/sudoers/Makefile.in, src/Makefile.in:
3895         Minor Makefile cleanup: fix a typo, change the removal order in the
3896         clean targets, and remove a superfluous include path for the sudoers
3897         plugin.
3898         [6e3b2d6b4437]
3899
3900         * plugins/sudoers/env.c:
3901         Handle duplicate variables in the environment. For unsetenv(), keep
3902         looking even after remove the first instance. For sudo_putenv(),
3903         check for and remove dupes after we replace an existing value.
3904         [c1bbb88d0435]
3905
3906 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3907
3908         * plugins/sudoers/Makefile.in:
3909         Use explicit path to source file instead of $< for files that live
3910         in devdir and top_srcdir.
3911         [358ab7f6cc64]
3912
3913         * plugins/sudoers/Makefile.in:
3914         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
3915         ending LIBSUDOERS_OBJS with a backslash
3916         [481a5c96d47e]
3917
3918         * plugins/sudoers/Makefile.in, src/Makefile.in:
3919         Link libcommon before libreplace since libcommon may use functions
3920         only present in libreplace.
3921         [1847c496ff5b]
3922
3923         * common/Makefile.in:
3924         Move code common to sudo and the sudoers plugin to a convenience
3925         library, libcommon. Removes the need to make links in the sudoers
3926         plugin dir and reduces re-compilation of duplicate object files.
3927         [4c8986352937]
3928
3929         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
3930         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
3931         common/term.c, common/zero_bytes.c, configure, configure.in,
3932         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
3933         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
3934         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
3935         src/zero_bytes.c:
3936         Move code common to sudo and the sudoers plugin to a convenience
3937         library, libcommon. Removes the need to make links in the sudoers
3938         plugin dir and reduces re-compilation of duplicate object files.
3939         [1d1d98bd55b9]
3940
3941         * src/exec.c, src/sudo.c, src/sudo.h:
3942         Rename script_execve to sudo_execve and rename script_foo in exec.c
3943         [a35ec80de96a]
3944
3945         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
3946         rename script.c exec.c and fix up the MANIFEST file
3947         [36bc3bff9578]
3948
3949         * src/script.c, src/sudo.c, src/sudo.h:
3950         Rename script_setup() to pty_setup() and call from script_execve()
3951         directly.
3952         [899b0fb2a14d]
3953
3954         * configure, configure.in:
3955         bump version to 1.8.0a2
3956         [0b1c1ca9d4e5]
3957
3958         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
3959         Document init_session
3960         [b5324785a406]
3961
3962         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
3963         plugins/sudoers/auth/sudo_auth.h:
3964         Clean up the sudoers auth API a bit and update the docs.
3965         [c40fd4cb6e68]
3966
3967         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
3968         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
3969         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
3970         Add init_session function to struct policy_plugin that gets called
3971         before the uid/gid/etc changes. A struct passwd pointer is passed
3972         in,which may be NULL if the user does not exist in the passwd
3973         database.The sudoers module uses init_session to open the pam
3974         session as needed.
3975         [d71723320ee8]
3976
3977 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3978
3979         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
3980         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
3981         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
3982         Add open/close session to sudo auth, only used by PAM. This allows
3983         us to open (and close) the PAM session from sudoers.
3984         [2665e2920d0d]
3985
3986         * plugins/sudoers/Makefile.in:
3987         Add explicit rule to build getdate.o for HP-UX make.
3988         [7f049e989956]
3989
3990         * plugins/sudoers/Makefile.in:
3991         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
3992         rules as an alternate way to prevent HP-UX make (and others) from
3993         trying to rebuild the parser in non-dev mode.
3994         [f84badad98c5]
3995
3996         * plugins/sudoers/sudoers.c:
3997         Re-enable PATH_MAX check for command
3998         [40d8a50da136]
3999
4000         * Makefile.in:
4001         For distclean, clean the main directory last since the subdirs need
4002         to be able to run libtool to clean things.
4003         [8949a9861634]
4004
4005         * compat/Makefile.in:
4006         Fix generation of mksiglist.h
4007         [b7cdc9b36650]
4008
4009         * src/script.c:
4010         Now that we defer sending cstat until the end of script_child() we
4011         cannot reuse cstat when reading command status from parent.
4012         [25c882643466]
4013
4014 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4015
4016         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
4017         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
4018         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
4019         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
4020         Use numeric registers to handle conditionals instead of trying to do
4021         it all with text processing.
4022         [478079c3fd4b]
4023
4024         * doc/sudoers.pod:
4025         Document per-command SELinux settings
4026         [13840d566805]
4027
4028         * plugins/sudoers/sudoers.c:
4029         Repair "sudo -l -U username"
4030         [10a0dcdf2ddf]
4031
4032         * plugins/sudoers/sudoers.c:
4033         Set selinux role and type in command details.
4034         [8ae6d35a126d]
4035
4036         * src/script.c, src/selinux.c, src/sudo.h:
4037         Rework SELinux support.
4038         [83279cc94bf2]
4039
4040 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4041
4042         * src/script.c, src/selinux.c, src/sudo.h:
4043         Make SELinux support compile again. Needs more work to be complete.
4044         [3d3addebcf82]
4045
4046         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4047         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4048         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
4049         src/sudo.h:
4050         Bring back closefrom settings.
4051         [b1c6257d4bbb]
4052
4053         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
4054         plugins/sudoers/sudoers.h:
4055         If running a command or sudoedit in transcript mode, call
4056         io_nextid() before log_allowed() so the session id is logged.
4057         [c42f3ae40150]
4058
4059         * configure, configure.in:
4060         Use mandoc(1) if nroff(1) is not present.
4061         [daad4bbd04af]
4062
4063         * doc/Makefile.in:
4064         Use the --file argument to config.status instead of setting
4065         CONFIG_FILES in the environment.
4066         [c89411a8bf70]
4067
4068         * plugins/sudoers/Makefile.in:
4069         We cannot conditionally update gram.h or the dependency ordering
4070         gets messed up in devel mode.
4071         [c938953231d9]
4072
4073 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4074
4075         * Makefile.in, compat/Makefile.in, configure, configure.in,
4076         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
4077         plugins/sudoers/Makefile.in, src/Makefile.in:
4078         Substitute @SHELL@ into Makefiles
4079         [36aa6a095335]
4080
4081         * config.sub:
4082         Fix typo
4083         [16d294d26b58]
4084
4085         * config.guess, config.sub, configure, configure.in:
4086         Update to autoconf 2.65
4087         [4fa6ea8caea3]
4088
4089         * Makefile.in:
4090         Fix libtool target (space vs. tabs)
4091         [755cf3892618]
4092
4093         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
4094         Remove use of RETSIGTYPE; all modern systems have signal handlers
4095         that return void.
4096         [42b4e3aee668]
4097
4098         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
4099         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
4100         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
4101         plugins/sudoers/Makefile.in, src/Makefile.in:
4102         Update to libtool-2.2.6b. I haven't made any local modifications
4103         this time, which should be OK since we install sudo_noexec.so by
4104         hand now.
4105         [6f79ced593bb]
4106
4107         * compat/Makefile.in, plugins/sample/Makefile.in,
4108         plugins/sudoers/Makefile.in, src/Makefile.in:
4109         Use libtool to clean objects
4110         [1581057d6472]
4111
4112         * include/Makefile.in:
4113         Install sudo_plugin.h as part of "make install" and make other
4114         install targets callable from the top-level Makefile
4115         [aaaeb027d774]
4116
4117         * configure, configure.in:
4118         regen with autoupdate to eliminate AC_TRY_LINK
4119         [5d5541c230f5]
4120
4121         * Makefile.in, compat/Makefile.in, configure, configure.in,
4122         doc/Makefile.in, plugins/sample/Makefile.in,
4123         plugins/sudoers/Makefile.in, src/Makefile.in:
4124         Install sudo_plugin.h as part of "make install" and make other
4125         install targets callable from the top-level Makefile
4126         [b258b8401b1c]
4127
4128         * plugins/sample/sample_plugin.c:
4129         The sample plugin doesn't support being run with no args so return a
4130         usage error in this case.
4131         [473b3cf965be]
4132
4133         * plugins/sudoers/iolog.c:
4134         Set close on exec flag for descriptors used for I/O logging so they
4135         are not present in the command being run.
4136         [2c7e8708df76]
4137
4138         * plugins/sudoers/tsgetgrpw.c:
4139         Set close on exec flag in private versions of setpwent() and
4140         setgrent().
4141         [64fef78cb833]
4142
4143         * src/script.c:
4144         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
4145         Fixes extra fds being present in the command when it is part of a
4146         pipeline.
4147         [060451617713]
4148
4149         * plugins/sudoers/sudoers.c:
4150         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
4151         is used when logging). Note that user_ttypath will still be NULL if
4152         there is no tty.
4153         [31b69a6ecda7]
4154
4155         * src/script.c, src/sudo.h:
4156         Cosmetic changes: add comments, remove orphaned prototype and
4157         make a global static.
4158         [f7851af0143e]
4159
4160 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4161
4162         * src/script.c:
4163         Move check for maxfd == -1 to flush_output where it belongs.
4164         [b826a95b4491]
4165
4166         * src/script.c:
4167         Break out of select loop if all the fds we want to select on are -1.
4168         [f5b387024238]
4169
4170         * src/sudo.c:
4171         Avoid possible malloc(0) if plugin returns an empty groups list.
4172         [9765a8fe5ce7]
4173
4174         * src/sudo.c:
4175         Add debugging info when calling plugin close function
4176         [95a273c7ff66]
4177
4178         * src/script.c:
4179         Avoid closing stdin/stdout/stderr when we are piping output.
4180         [330e76423caf]
4181
4182         * src/script.c:
4183         When execve() of the command fails, it is possible to receive
4184         SIGCHLD before we've read the error status from the pipe. Re-order
4185         things such that we send the final status at the very end and prefer
4186         error status over wait status.
4187         [b0dcf825244f]
4188
4189 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4190
4191         * plugins/sudoers/auth/sudo_auth.c:
4192         Fix compilation for non PAM/BSD auth/AIX auth
4193         [e382b39d2e4f]
4194
4195 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4196
4197         * src/script.c:
4198         Additional checks to make sure we don't close /dev/tty by mistake.
4199         When flushing, sleep in select as long as we have buffers that need
4200         to be written out.
4201         [8139cbd3dd54]
4202
4203         * src/script.c:
4204         Now that we can use pipes for stdin/stdout/stderr there is no longer
4205         a need to error out when there is no tty. We just need to make sure
4206         we don't try to use the tty fd if it is -1.
4207         [666621635d26]
4208
4209 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4210
4211         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4212         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4213         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
4214         Add argc and argv to I/O logger open function.
4215         [0d7faa007d27]
4216
4217         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
4218         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
4219         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
4220         Remove check_sudoedit function pointer in struct sudo_policy.
4221         Instead, sudo will set sudoedit=true in the settings array. The
4222         plugin should check for this and modify argv_out as appropriate in
4223         check_policy.
4224         [c0328e3276b8]
4225
4226 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4227
4228         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
4229         src/sudo_edit.c:
4230         If plugin sets "sudoedit=true" in the command info, enable sudoedit
4231         mode even if not invoked as sudoedit. This allows a plugin to
4232         enable sudoedit when the user runs an editor.
4233         [96d67b99e42e]
4234
4235 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4236
4237         * plugins/sudoers/Makefile.in:
4238         gram.h must not depend on gram.y if we want to avoid unnecessary
4239         rebuilding of targets dependent on gram.h when gram.y changes.
4240         [9db4b767fdca]
4241
4242         * plugins/sample/sample_plugin.c:
4243         Refactor common bits of check_policy and check_edit
4244         [ac4d366a04cf]
4245
4246         * plugins/sample/sample_plugin.c:
4247         Add sudoedit support
4248         [a1a6cc4c0cef]
4249
4250 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4251
4252         * plugins/sudoers/Makefile.in:
4253         Rely more on VPATH; fixes a dependency issue with the parser.
4254         [45e406ebdea2]
4255
4256         * include/compat.h:
4257         Fix typo introduced in last commit
4258         [3ccb0f853d11]
4259
4260         * include/compat.h:
4261         Emulate seteuid using setreuid() or setresuid() as needed. There are
4262         still a few places that call seteuid() directly.
4263         [36e8efa3a99d]
4264
4265         * src/parse_args.c, src/sudo_edit.c:
4266         Attempt to fix building on systems that only have setuid.
4267         [8e9ba4083318]
4268
4269         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4270         Clarify sudoedit a tad.
4271         [d39dfaa14ade]
4272
4273 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4274
4275         * src/sudo_edit.c:
4276         Fix compilation on HP-UX
4277         [f6e47843d139]
4278
4279         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4280         Document sudoedit
4281         [4cbf5196d993]
4282
4283         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
4284         Change how we handle the sudoedit argv. We now require that there
4285         be a "--" in argv to separate the editor and any command line
4286         arguments from the files to be edited.
4287         [20623d549a3c]
4288
4289         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4290         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
4291         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4292         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
4293         src/sudo.h, src/sudo_edit.c:
4294         Work in progress support for sudoedit. The actual interface used by
4295         the plugin for sudoedit is likely to change.
4296         [c31262a31997]
4297
4298         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
4299         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
4300         Make find_path() a little more generic by not checking def_foo
4301         variables inside it. Instead, pass in ignore_dot as a function
4302         argument.
4303         [9c23101a094d]
4304
4305         * plugins/sudoers/env.c:
4306         Add version of getenv(3) that uses our own environ pointer.
4307         [0e3783e63534]
4308
4309 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4310
4311         * src/script.c:
4312         Avoid a potential race condition if SIGCHLD is received immediately
4313         before we call select().
4314         [99adc5ea7f0a]
4315
4316         * plugins/sudoers/sudoers.c:
4317         Call env_init() before we open the sudoers sources as those may call
4318         our setenv() replacement.
4319         [5f82601f5ab0]
4320
4321         * plugins/sudoers/env.c:
4322         Initialize env_len in env_init()
4323         [7ae02b3029b5]
4324
4325 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4326
4327         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
4328         Document time stamp shortcomings under SECURITY NOTES Use "time
4329         stamp" instead of timestamp.
4330         [2b86120815b2]
4331
4332         * doc/Makefile.in:
4333         Make sed substitution of mansectsu and mansectform global.
4334         [94588632dba0]
4335
4336         * plugins/sudoers/check.c:
4337         If the tty lives on a devpts filesystem, stash the ctime in the tty
4338         ticket file, as it is not updated when the tty is written to. This
4339         helps us determine when a tty has been reused without the user
4340         authenticating again with sudo.
4341         [0e62a31bceb0]
4342
4343         * src/tgetpass.c:
4344         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
4345         is what our compat checks set.
4346         [df50f0a040c9]
4347
4348         * configure, configure.in:
4349         Add check for whether sudo need to link with -ldl to get dlopen().
4350         This is a bit of a hack that will get reworked when libtool is
4351         updated.
4352         [63bdcf579533]
4353
4354         * plugins/sudoers/check.c:
4355         Fix timestamp removal with -k/-K
4356         [6b4639fef973]
4357
4358         * plugins/sudoers/Makefile.in:
4359         audit.c is now private to the sudoers plugin
4360         [1974f342ae0b]
4361
4362         * configure, configure.in:
4363         Link with -lpthread on HP-UX since a plugin may be linked with
4364         -lpthread and dlopen() will fail if the shared object has a
4365         dependency on -lpthread but the main program is not linked with it.
4366         [d42139391263]
4367
4368         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
4369         Add separate test for getresuid() since HP-UX has setresuid() but no
4370         getresuid().
4371         [910fe727a374]
4372
4373         * doc/Makefile.in:
4374         Remove errant backslash
4375         [dd5464257c69]
4376
4377         * src/script.c:
4378         Fix SIGPIPE handling. Now that we use may use pipes for
4379         stdin/stdout we need to pass any SIGPIPE we receive to the running
4380         command.
4381         [3f6b1991f4fd]
4382
4383         * src/script.c:
4384         Also start the command in the background if stdin is not a tty.
4385         [d93bc33a3740]
4386
4387 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4388
4389         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
4390         No need to use pseudo-cbreak mode now that we use pipes when stdout
4391         is not a tty. Instead, check whether stdin is a tty and if not,
4392         delay setting the tty to raw mode until the command tries to access
4393         it itself (and receives SIGTTIN or SIGTTOU).
4394         [e68315cf8c6b]
4395
4396         * src/tgetpass.c:
4397         Use an array for signals received instead of a single variable so we
4398         don't lose any when there are multiple different signals.
4399         [2ac726dac864]
4400
4401         * src/tgetpass.c:
4402         Do signal setup after turning off echo, not before. If we are using
4403         a tty but are not the foreground pgrp this will generate SIGTTOU so
4404         we want the default action to be taken (suspend process).
4405         [bebb6209c795]
4406
4407 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4408
4409         * src/script.c:
4410         Flush the iobufs on suspend or child exit using the same logic as
4411         the main event loop.
4412         [c627feee1035]
4413
4414         * src/script.c:
4415         Free memory after we are done with it.
4416         [8db9b611b45a]
4417
4418 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4419
4420         * doc/HISTORY:
4421         Quest now sponsors Sudo development
4422         [6cc490083bc7]
4423
4424 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4425
4426         * doc/Makefile.in:
4427         Install sudo_plugin man page.
4428         [c253729790b2]
4429
4430         * src/script.c:
4431         Go back to reseting io_buffer offset and length (and now also the
4432         EOF handling) in the loop we do the FD_SET, not after we drain the
4433         buffer after write() since we don't know what order reads and writes
4434         will occur in.
4435         [5f38bfa8497f]
4436
4437         * MANIFEST:
4438         audit files moved to sudoers plugin directory
4439         [b1ead182428e]
4440
4441         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
4442         Document plugin_printf and new logging functions.
4443         [fe9430b60ab5]
4444
4445         * src/script.c:
4446         Add support for logging stdin when it is not a tty. There is still a
4447         bug where "cat | sudo cat" has problems because both cat and sudo
4448         are trying to read from the tty.
4449         [04c9c59fcfba]
4450
4451         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4452         plugins/sudoers/sudoers.c, src/script.c:
4453         Add separate I/O logging functions for tty in/out and
4454         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
4455         is disabled for now.
4456         [a36dfd4ca935]
4457
4458 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4459
4460         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4461         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4462         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
4463         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4464         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
4465         Add pointer to a printf like function to plugin open functon. This
4466         can be used instead of the conversation function to display info and
4467         error messages.
4468         [98734eea8ef1]
4469
4470         * Makefile.in:
4471         Stop if make in a subdir fails
4472         [228bb3ad2dbc]
4473
4474         * src/script.c:
4475         Only set user's tty to blocking mode when doing the final flush.
4476         Flush pipes as well as pty master when the process is done.
4477         [20ff67218666]
4478
4479 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4480
4481         * plugins/sudoers/ldap.c:
4482         Use print_error() when displaying ldap config info in debugging
4483         mode.
4484         [d142e0cacb22]
4485
4486         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
4487         No longer need strdup() or strndup() replacements.
4488         [df53697174ec]
4489
4490         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
4491         plugins/sudoers/sudoers.h:
4492         Add print_error() function that uses the conversation function to
4493         print a variable number of error strings and use it in log_error().
4494         [b1fa2861b575]
4495
4496         * src/script.c, src/sudo.h, src/term.c:
4497         Do not need the opost flag to term_copy() now that we use pipes for
4498         stdout/stderr when they are not a tty.
4499         [f42811f70a19]
4500
4501         * src/script.c:
4502         Use pipes to the sudo process if stdout or stderr is not a tty.
4503         Still needs some polishing and a decision as to whether it is
4504         desirable to add additonal entry points for logging
4505         stdout/stderr/stdin when they are not ttys. That would allow a
4506         replay program to keep things separate and to know whether the
4507         terminal needs to be in raw mode at replay time.
4508         [1a945e0ab2da]
4509
4510 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4511
4512         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
4513         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
4514         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
4515         Move audit sources into the sudoers plugin dir; the driver does not
4516         use them.
4517         [50ec36422cd0]
4518
4519         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
4520         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
4521         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
4522         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
4523         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
4524         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
4525         src/term.c, src/ttysize.c:
4526         Use angle brackets when including headers that can only be found
4527         when an -I flag is specified. The files in the compat dir could get
4528         away with double quotes here but I've converted all the source files
4529         to use angle brackets for consistency.
4530         [9e30a8fc6d4b]
4531
4532         * plugins/sudoers/Makefile.in:
4533         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
4534         dir can be found when building outside the source tree.
4535         [1150934b79dd]
4536
4537         * plugins/sudoers/Makefile.in:
4538         Clean up links in distclean
4539         [78595028be8b]
4540
4541         * plugins/sudoers/Makefile.in:
4542         Hack around VPATH semantic differences by symlinking files we need
4543         from ../../src into the current directory and build those. A better
4544         fix would be to either make a .a or .la file with those files in it
4545         or simply use a single, flat, Makefile instead of per-subdirs
4546         Makefiles.
4547         [892c332d3f05]
4548
4549         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
4550         fmt_string is used by the sudoers plugin too so do not include
4551         sudo.h (which is not really needed here anyway)
4552         [231c35e3941f]
4553
4554         * compat/Makefile.in, plugins/sample/Makefile.in,
4555         plugins/sudoers/Makefile.in, src/Makefile.in:
4556         Fix building with non-BSD versions of make such as GNU make.
4557         Requires VPATH support, which should be in any non-neolithic make.
4558         [dc174f135919]
4559
4560         * configure, configure.in, plugins/sudoers/Makefile.in,
4561         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
4562         src/Makefile.in:
4563         Re-enable bsm audit. Currently auditing is done within the sudoers
4564         plugin itself. If possible, this should really be done in the main
4565         driver but we don't presently have the needed data to do that. This
4566         will be re-evaluated when Linux audit support is added.
4567         [1d05a3236bfe]
4568
4569         * compat/Makefile.in, plugins/sample/Makefile.in,
4570         plugins/sudoers/Makefile.in, src/Makefile.in:
4571         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
4572         of explicit rules in the dependency.
4573         [88f80efd25f0]
4574
4575         * plugins/sudoers/visudo.c:
4576         Fix mismerge; alias_remove_recursive() now returns int
4577         [6257a4849641]
4578
4579 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
4580
4581         * plugins/sudoers/visudo.c:
4582         Fix a crash when checking a sudoers file that has aliases that
4583         reference themselves. Based on a diff from David Wood.
4584         [545d194484a7]
4585
4586         * src/script.c:
4587         Print signal info after restoring the tty mode, not before.
4588         [a68618e67435]
4589
4590         * src/script.c:
4591         Defer call to alarm() until after we fork the child. Pass correct
4592         pid to terminate_child() If the command exits due to signal, set
4593         alive to false like we do when it exits normally. Add missing
4594         check for errpipe[0] != -1 before using it in FD_ISSET
4595         [22f0a1549391]
4596
4597 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4598
4599         * plugins/sudoers/boottime.c:
4600         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
4601         [0e627170c6e8]
4602
4603 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4604
4605         * src/Makefile.in:
4606         Simplify dependencies by using .c.o and .c.lo rules.
4607         [6abcaef5d1ac]
4608
4609         * configure, configure.in, plugins/sudoers/Makefile.in,
4610         src/Makefile.in:
4611         Substitute in @PROGS@ into src/Makefile to add sesh
4612         [cc46d3b6208f]
4613
4614 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
4615
4616         * plugins/sudoers/sudoers.c:
4617         Add back calls to log_denial() if sudoers does not allow the
4618         command.
4619         [9783316207f0]
4620
4621         * plugins/sudoers/sudoers.c:
4622         Pass in correct pwflag for list and validate.
4623         [973dd56d4b81]
4624
4625         * plugins/sudoers/env.c:
4626         Add missing check for NULL in validate_env_vars
4627         [1d6eb6957824]
4628
4629         * src/Makefile.in:
4630         Add sudo_noexec.la to "all" target, otherwise it only gets built at
4631         install time.
4632         [644a9694d2ef]
4633
4634         * plugins/sudoers/sudoers.c:
4635         Only set sudo_user.env_vars if the env_add list is empty.
4636         [fccdf6f0e0e2]
4637
4638         * plugins/sudoers/sudoers.c:
4639         Set sudo_user.env_vars so that environment variables specified on
4640         the command line get logged correctly.
4641         [9b51012c491e]
4642
4643         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
4644         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4645         Re-enable environment files and setting environment variables on the
4646         command line.
4647         [5662d5645dbd]
4648
4649 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4650
4651         * plugins/sudoers/check.c:
4652         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
4653         a pointer to time_t as tv_sec in struct timeval may be long.
4654         [4de0c46e788e]
4655
4656         * plugins/sudoers/check.c:
4657         Don't stash ctime in on-disk tty ticket info for now; on many
4658         (most?) systems the ctime is updated when the tty is written to.
4659         Once I have a better idea of what systems do not update ctime on
4660         ttys (and have a way to test for this) the ctime stash will be
4661         conditionally re-enabled.
4662         [a90eeec0f648]
4663
4664 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4665
4666         * MANIFEST, Makefile.in:
4667         Add back "dist" target, this time using a MANIFEST file
4668         [29277c05499f]
4669
4670         * Makefile.in:
4671         Remove Makefile in distclean target
4672         [83d695f4f450]
4673
4674         * Makefile.in, src/Makefile.in:
4675         Update clean and cleandir targets
4676         [ad7b2afeb9c1]
4677
4678         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
4679         src/sudo.h:
4680         Move fileops.c defines and prototypes to filesops.h
4681         [4545e9b6892d]
4682
4683         * plugins/sudoers/check.c:
4684         Lock the tty timestamp when writing. We shouldn't have to lock when
4685         reading since the file is updated via a single write system call.
4686         [0c7276f02696]
4687
4688 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4689
4690         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
4691         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
4692         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
4693         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
4694         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4695         plugins/sudoers/logging.c, plugins/sudoers/match.c,
4696         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
4697         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
4698         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
4699         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4700         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
4701         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
4702         Convert to ANSI C function declarations
4703         [9c45def57cf7]
4704
4705         * plugins/sudoers/sudoers.h:
4706         Remove extraneous bits and classify by source file.
4707         [e8ea9f109ebb]
4708
4709         * include/compat.h:
4710         Add timercmp macro for systems without it
4711         [d3bf87b1d08e]
4712
4713         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
4714         plugins/sudoers/sudoers.h:
4715         get_boottime() now fills in a timeval struct
4716         [3573c3f44e11]
4717
4718         * plugins/sudoers/check.c:
4719         Store info from stat(2)ing the tty in the tty ticket when tty
4720         tickets are in use. On most systems, this closes the loophole
4721         whereby a user can log out of a tty, log back in and still have the
4722         timestamp be valid.
4723         [53380f9f5242]
4724
4725         * config.h.in, configure.in:
4726         Add timespec2timeval and use it when getting ctime/mtime
4727         [4cb7f7caec2c]
4728
4729 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4730
4731         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
4732         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4733         plugins/sudoers/testsudoers.c:
4734         Convert perm setting to push/pop model; still needs some work Use
4735         the stashed runas groups instead of using getgrouplist() Reset perms
4736         to the initial value on error
4737         [09c072ebde8b]
4738
4739         * config.h.in, configure.in:
4740         fix ctim_get and mtim_get macros
4741         [58773dc1e360]
4742
4743         * config.h.in, configure, configure.in, include/compat.h,
4744         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
4745         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
4746         Use timeval directly instead of converting to timespec when dealing
4747         with file times and time of day.
4748         [a0ce1ae00a67]
4749
4750         * plugins/sudoers/Makefile.in:
4751         Don't like sudoreplay with libsudoers.la due to a yacc symbol
4752         conflict.
4753         [f1a59cc63a15]
4754
4755 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4756
4757         * configure, configure.in:
4758         Darwin >= 9.x has real setreuid(2)
4759         [7ec942a64275]
4760
4761 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4762
4763         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
4764         Ansify env.c
4765         [f58551bad10a]
4766
4767         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4768         plugins/sudoers/sudoers.h:
4769         Remove remaining references to the environ pointer.
4770         [96faa530816a]
4771
4772 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4773
4774         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
4775         Don't change the environ directly in the sudoers plugin
4776         [6db48ed3f7e0]
4777
4778 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4779
4780         * plugins/sudoers/sudoers.c:
4781         Fix typo
4782         [4aa452b07f8f]
4783
4784         * plugins/sudoers/alias.c:
4785         Fix use after free in error message when a duplicate alias exists.
4786         [ce1d2812ee34]
4787
4788 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4789
4790         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4791         src/parse_args.c:
4792         Add a "noninteractive" boolean to the settings passed in to the
4793         plugin's open function that is set when the user specifies the -n
4794         flag.
4795         [68f8d9d6d4d0]
4796
4797         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
4798         Add workaround for the lack of the environ pointer on Mac OS X in
4799         dlopen()ed modules. Use of environ in the sudoers plugin should
4800         ultimately be removed but this will do for the moment.
4801         [80c61647434f]
4802
4803         * plugins/sudoers/visudo.c:
4804         Set errorfile to the sudoers path if we set parse_error manually.
4805         This prevents a NULL dereference in printf() when checking a sudoers
4806         file in strict mode when alias errors are present.
4807         [45e249ca99f7]
4808
4809         * plugins/sudoers/sudoers.c:
4810         Main sudo no longer print "unable to execute" on exec failure so do
4811         it here.
4812         [50aaf62b43b5]
4813
4814 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4815
4816         * src/script.c:
4817         Use a pipe to pass back errno to the parent if execve() fails. If we
4818         get an error in script_child(), kill the command and exit.
4819         [dc3bf870f91b]
4820
4821         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4822         src/parse_args.c, src/sudo.c:
4823         Handle plugin's open function returning -2 (usage error).
4824         [aadf900c1de8]
4825
4826         * src/script.c:
4827         If execve() fails, leave it to the plugin to print an error string.
4828         [e25748f2d5b9]
4829
4830         * src/script.c:
4831         If execve fails in logging mode, pass the errno directly to the
4832         grandparent on the backchannel and exit. The immediate parent will
4833         get SIGCHLD and try to report that status but its parent will no
4834         longer be listening. It would probably be cleaner to pass this over
4835         a pipe in script_child().
4836         [cb122acc81a8]
4837
4838         * plugins/sudoers/sudoers.c:
4839         Don't override rval with results of check_user() unless it failed.
4840         [46fb7e87ac7d]
4841
4842 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4843
4844         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4845         Fix typo
4846         [ccd0b693f3da]
4847
4848         * src/parse_args.c:
4849         NULL-terminate env_add
4850         [2c534368a0c3]
4851
4852 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4853
4854         * src/sudo.c:
4855         Call the I/O log open function before the I/O version function.
4856         [e88bf898990b]
4857
4858         * plugins/sudoers/iolog.c:
4859         Remove io_conv and just use sudo_conv
4860         [a280052468eb]
4861
4862         * plugins/sudoers/set_perms.c:
4863         Fix set/restore perms for systems w/o setresuid
4864         [4160517f6666]
4865
4866 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4867
4868         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
4869         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
4870         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
4871         Primitive set/restore permissions. Will be replaced by a push/pop
4872         model.
4873         [aae102290866]
4874
4875         * src/script.c:
4876         Only need to take action on SIGCHLD in parent if no I/O logger. If
4877         there is an I/O logger we will receive ECONNRESET or EPIPE when we
4878         try to read from the socketpair.
4879         [e1e4560401f6]
4880
4881 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4882
4883         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
4884         doc/sudoers.pod, plugins/sudoers/find_path.c:
4885         Merge fb4d571495fa from the 1.7 branch to trunk.
4886         [c8fb424ad4d2]
4887
4888 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4889
4890         * src/script.c:
4891         Don't set SA_RESTART when registering SIGALRM handler. Do set
4892         SA_RESTART when registering SIGWINCH handler.
4893         [173472b76525]
4894
4895         * doc/Makefile.in:
4896         Add dev targets for *.man.in and *.cat that don't specfify the
4897         $(srcdir) prefix.
4898         [b62f425da2e4]
4899
4900         * src/script.c:
4901         If log_input or log_output returns false, terminate the command.
4902         [074f4c0c34a0]
4903
4904         * src/script.c:
4905         Better signal handling. Instead of using a single variable to store
4906         the received signal, use an array so we can't lose a signal when
4907         multiple are sent. Fix process termination by SIGALRM in non-I/O
4908         logger mode. Fix relaying terminal signals to the child in non-I/O
4909         logger mode.
4910         [7a4723aca99d]
4911
4912         * src/script.c:
4913         Fix a race between when we get the child pid in the parent and when
4914         the child process exits. The problem exhibited as a hang after a
4915         short-lived process, e.g. "sudo id" when no IO logger was enabled.
4916         [80bcc0aca70b]
4917
4918 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4919
4920         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4921         Add a note about the security implications of the fast_glob option.
4922         [c37a92ab7c93]
4923
4924 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4925
4926         * config.h.in, configure, configure.in:
4927         Fix up some AC_DEFINE descriptions and regen config.h.in
4928         [f4655adc0db3]
4929
4930 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4931
4932         * include/missing.h:
4933         No longer check for strdup or strndup for LIBOBJ replacement.
4934         [fdc764ee8109]
4935
4936         * src/script.c:
4937         Avoid installing signal handlers that are io-logger specific. Fixes
4938         job control when no io logger is enabled.
4939         [0853dd0906d4]
4940
4941         * doc/Makefile.in:
4942         Only regen man pages from pod when configured with --with-devel
4943         [ab1995f8103d]
4944
4945 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4946
4947         * Makefile, Makefile.in, configure, configure.in:
4948         Top-level Makefile.in. Nothing is currently substituted but this is
4949         needed for separate build dirs.
4950         [e80873cbd201]
4951
4952         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
4953         plugins/sudoers/Makefile.in, src/Makefile.in:
4954         Fix out-of-tree builds
4955         [59a35bef07b8]
4956
4957         * Merge
4958         [386b848047e9]
4959
4960         * doc/Makefile.in:
4961         We always install sudoreplay in 1.8
4962         [ce52ba6617c9]
4963
4964 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4965
4966         * compat/siglist.in:
4967         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
4968         [6d69e1b05faf]
4969
4970 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4971
4972         * configure, configure.in:
4973         No need to provide strdup() or strndup(), sudo uses estrdup() and
4974         estrndup()
4975         [57ec23b72958]
4976
4977 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4978
4979         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
4980         Free str after using it in the version method. Use sudo_conv, not
4981         io_conv since we don't have the IO conversation function pointer in
4982         the I/O version method anymore now that io_open is delayed.
4983         [f2ed132adeb0]
4984
4985 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4986
4987         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
4988         compat/siglist.in:
4989         Add license to mksiglist.c and note that the bits from pdksh are
4990         public domain
4991         [d8121a2467e8]
4992
4993         * compat/Makefile.in:
4994         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
4995         [164160148421]
4996
4997         * plugins/sudoers/Makefile.in:
4998         Add sudoreplay testsudoers and visudo to clean target
4999         [138a17e51c0c]
5000
5001         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
5002         compat/siglist.in, compat/strsignal.c, configure, configure.in,
5003         include/missing.h, src/script.c:
5004         Create our own sys_siglist for systems without it for use by
5005         strsignal()
5006         [2e5da011ebc3]
5007
5008         * compat/Makefile.in:
5009         Remove duplicate $(LIBOBJDIR)
5010         [adf9abc9432f]
5011
5012 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5013
5014         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
5015         Main sudo should not block signals; the plugin should do this in
5016         check_policy.
5017         [3f3736a7c5ed]
5018
5019 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5020
5021         * src/script.c:
5022         Fix a sizeof(ptr) vs. sizeof(*ptr)
5023         [aa1bcf5afcce]
5024
5025         * src/script.c:
5026         Unlike most operating systems, HP-UX select() is not interrupted by
5027         SIGCHLD when the signal is registered with SA_RESTART. If we clear
5028         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
5029         behavior and the code in the select() loops already handles EINTR
5030         correctly.
5031         [9eba0115e35a]
5032
5033         * compat/getprogname.c:
5034         progname should be const
5035         [130228f062b7]
5036
5037         * plugins/sudoers/Makefile.in:
5038         Move --tag=disable-static to when we link sudoers.la, not when we
5039         install.
5040         [ceb5e6c3b78b]
5041
5042         * src/load_plugins.c:
5043         Load the sudoers I/O plugin by default too now that it is hooked up.
5044         [ea38befd0742]
5045
5046 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5047
5048         * src/pty.c:
5049         It looks like AIX doesn't need to push STREAMS modules for ptys.
5050         [22da618ba0a1]
5051
5052 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5053
5054         * src/parse_args.c, src/sudo.c:
5055         Delay calling the I/O plugin open function until the policy plugin
5056         returns success.
5057         [f3297c325b48]
5058
5059 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5060
5061         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
5062         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
5063         plugins/sudoers/sudoers.h:
5064         Add back io logging (transcript) support. Currently, the open
5065         function runs too early and it is not possible to use the io module
5066         independently of the policy module.
5067         [9bd932f66226]
5068
5069         * plugins/sudoers/set_perms.c:
5070         Comment out dead code; will be removed when set_perms is rewritten.
5071         [af7a995284f8]
5072
5073 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5074
5075         * plugins/sudoers/sudoers.c:
5076         Fix off by one error when allocating user_groups.
5077         [6281fcf9c3bb]
5078
5079 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5080
5081         * configure, configure.in, plugins/sudoers/Makefile.in:
5082         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
5083         [fbce3e9eda3a]
5084
5085         * plugins/sudoers/sudoers.c:
5086         Fix typo in preserve groups case
5087         [1fd72024fb5a]
5088
5089         * plugins/sudoers/sudoers.c:
5090         In command_info it is "runas_groups" not "groups".
5091         [5c64dce4f285]
5092
5093         * src/sudo.c:
5094         Fix iteration over runas_groups list.
5095         [b3c45a0cd643]
5096
5097         * configure, configure.in, plugins/sudoers/env.c,
5098         plugins/sudoers/match.c, src/script.c:
5099         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
5100         [a8108a0776c2]
5101
5102         * compat/getgrouplist.c:
5103         getgrouplist(3) for those without it
5104         [4ab4d21e3b16]
5105
5106         * plugins/sudoers/sudoers.c:
5107         Set preserve_groups or groups list in command_info
5108         [1266119ad654]
5109
5110         * src/sudo.c:
5111         Fix setting of groups list
5112         [e75315e40bd4]
5113
5114         * config.h.in, configure, configure.in, include/compat.h,
5115         include/missing.h:
5116         Add checks for getgrset and getgrouplist and use replacement
5117         getgrouplist if the system doesn't support it.
5118         [a62b8ba50863]
5119
5120         * src/parse_args.c:
5121         Pass in preserve_groups when the -P flag is specified as per the
5122         design
5123         [7420c5d15474]
5124
5125         * plugins/sudoers/sudoers.c:
5126         Check preserve_groups and ignore_ticket args with atobool instead of
5127         assuming they are true if present.
5128         [71c905702697]
5129
5130 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5131
5132         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
5133         plugins/sudoers/plugin_error.c:
5134         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
5135         sudoreplay and testsudoers in the build
5136         [9d581d5fa4d4]
5137
5138         * src/Makefile.in, src/term.c:
5139         term.c does not needto include sudo.h
5140         [f6683cdcd2dd]
5141
5142         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
5143         doc/sudo_plugin.pod:
5144         Document the -2 return in the check_policy section too
5145         [e9cb4c34bbcf]
5146
5147         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5148         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5149         src/parse_args.c, src/sudo.c, src/sudo.h:
5150         Fix the -s and -i flags and add support for the "implied_shell"
5151         option. If the user does not specify a command, sudo will now pass
5152         in the path to the user's shell and set impied_shell=true. The
5153         plugin can them either check the command normally or return -2 to
5154         cause sudo to print a usage message and exit.
5155         [bf889c38f229]
5156
5157 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5158
5159         * config.h.in, configure, configure.in, src/load_plugins.c:
5160         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
5161         Darwin where libraries end in .dylib but modules end in .so
5162         [2c56aaa38e21]
5163
5164         * plugins/sudoers/parse.c:
5165         Better prefix determination now that we can't rely on len==0 to tell
5166         the beginning on an entry.
5167         [622bf18179e9]
5168
5169         * plugins/sudoers/ldap.c:
5170         display_bound_defaults() stub should return 0, not 1 since it is a
5171         count, not a boolean.
5172         [0327a6c3d55d]
5173
5174         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5175         Document progname in settings
5176         [42031d56a2e3]
5177
5178         * compat/getprogname.c, include/compat.h,
5179         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
5180         src/parse_args.c, src/sudo.c:
5181         Rewrite compat/getprogname.c and add setprogname(). The progname is
5182         now passed to the plugin via the settings array.
5183         [25d8663e6006]
5184
5185         * configure, configure.in, plugins/sudoers/Makefile.in:
5186         Fix --with-ldap
5187         [b64b633f426d]
5188
5189         * plugins/sudoers/sudo_nss.c:
5190         Add missing whitespace for Runas and Command-specific defaults
5191         [65f4ddf5545e]
5192
5193         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
5194         plugins/sudoers/sudo_nss.c:
5195         Use embedded newlines in lbuf instead of multiple calls to
5196         lbuf_print.
5197         [eed3af9cc3e1]
5198
5199         * src/lbuf.c:
5200         Add support for embedded newlines.
5201         [e11f79b18deb]
5202
5203 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5204
5205         * compat/getprogname.c:
5206         If system doesn't support getprogname or __programe and we are
5207         building a shared object don't bother with Argc/Argv, just return
5208         "sudo"
5209         [aebde9062be7]
5210
5211         * config.h.in, configure, configure.in, src/load_plugins.c:
5212         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
5213         appears to always install a shared object with the .so suffix.
5214         [f9bbd0c0e9d3]
5215
5216         * compat/Makefile.in, configure, configure.in,
5217         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
5218         src/Makefile.in:
5219         Play more nicely with libtool and let it build libreplace (was
5220         libmissing) for us.
5221         [a4c6ebb2495c]
5222
5223         * include/missing.h:
5224         Include stdarg.h for va_list rather than requiring all consumers of
5225         missing.h to include stdarg.h themselves.
5226         [37382df948de]
5227
5228         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
5229         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
5230         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
5231         src/parse_args.c:
5232         Pass in output function to lbuf_init() instead of writing to stdout.
5233         A side effect is that the usage info can now go to stderr as it
5234         should.
5235         [6d261261a072]
5236
5237 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5238
5239         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
5240         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
5241         src/parse_args.c, src/sudo.c:
5242         Use number of tty columns that is passed in user_info instead of
5243         getting it directly in the lbuf code.
5244         [8a16635c2638]
5245
5246         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
5247         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
5248         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
5249         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
5250         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
5251         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
5252         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5253         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
5254         plugins/sudoers/logging.h, plugins/sudoers/match.c,
5255         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
5256         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
5257         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
5258         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
5259         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5260         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
5261         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
5262         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
5263         plugins/sudoers/visudo.c:
5264         Kill __P in sudoers
5265         [63601e6cb171]
5266
5267         * config.h.in, configure, configure.in, src/load_plugins.c:
5268         Set the sudoers plugin name in configure so we get the extension
5269         right.
5270         [edad89924cd1]
5271
5272         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5273         Document lines/cols in user_info
5274         [a808872394f3]
5275
5276         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
5277         Add tty size to user info
5278         [23f3d27e77a7]
5279
5280         * src/script.c:
5281         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
5282         [a2208dd09051]
5283
5284 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5285
5286         * plugins/sudoers/sudoers.c:
5287         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
5288         out if we fail to lookup the user's name that is passed in
5289         [e4e3728ed482]
5290
5291         * plugins/sudoers/error.c:
5292         Pass the error value back via siglongjmp.
5293         [667b8ad575ce]
5294
5295         * plugins/sudoers/check.c:
5296         Use conversation function for lecture.
5297         [1ab4719f509b]
5298
5299         * plugins/sudoers/check.c:
5300         Don't update ticket file if verify_user returns FALSE.
5301         [2bbc46a39a2b]
5302
5303 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5304
5305         * plugins/sudoers/sudoers.c, src/sudo.c:
5306         Wire up invalidate and validate methods for sudoers
5307         [c0630c7bca47]
5308
5309         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
5310         plugins/sudoers/sudoers.h:
5311         Add support for -k flag with a command.
5312         [edad239b098b]
5313
5314         * src/parse_args.c:
5315         Allow -k to be specified with a command.
5316         [43a45add9974]
5317
5318         * plugins/sudoers/sudoers.c:
5319         Wire up policy_list
5320         [27cc35699eca]
5321
5322         * plugins/sudoers/error.c:
5323         Add newline at the end of message and space after the colon in
5324         warning message
5325         [5a591aa8e744]
5326
5327         * plugins/sudoers/auth/sudo_auth.c:
5328         Add missing newline after pass password warning
5329         [337dba3870a7]
5330
5331         * plugins/sudoers/sudoers.c:
5332         Set user_groups and user_ngroups based on user_info
5333         [61bee85128c8]
5334
5335         * plugins/sudoers/error.c:
5336         Make this compile
5337         [7041c441e1c8]
5338
5339         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
5340         Make _warning in error.c use the conversation function and remove
5341         commented out warning/warningx in sudoers.c.
5342         [7c9b09024b63]
5343
5344         * plugins/sudoers/logging.c:
5345         Use siglongjmp() in log_error for fatal errors
5346         [b50e26f1c73f]
5347
5348         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
5349         Quiet a libtool warning
5350         [b2331fb006bc]
5351
5352         * Makefile:
5353         Build sudoers plugin
5354         [5cdf06e66978]
5355
5356         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
5357         Use warningx in yyerror() so the conversation function gets used
5358         when built as part of sudoers.
5359         [85f964215eef]
5360
5361 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5362
5363         * plugins/sudoers/auth/pam.c:
5364         Rename sudo_conv to conversation to avoid a namespace conflict.
5365         [1ad359d36be9]
5366
5367         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
5368         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
5369         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
5370         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
5371         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
5372         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
5373         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
5374         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
5375         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
5376         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
5377         plugins/sudoers/env.c, plugins/sudoers/error.c,
5378         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
5379         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
5380         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
5381         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
5382         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
5383         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
5384         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
5385         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
5386         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
5387         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
5388         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
5389         Initial bits of sudoers plugin; still needs work.
5390         [af2a2c59a952]
5391
5392         * config.h.in:
5393         Add HAVE_STRDUP and HAVE_STRNDUP
5394         [50a3c0dd510f]
5395
5396         * compat/Makefile.in, configure, configure.in:
5397         Build libmissing in two flavors (one PIC one non-PIC) and link with
5398         the appropriate one.
5399         [b62f411a4c18]
5400
5401         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
5402         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
5403         Build libmissing in two flavors (one PIC one non-PIC) and link with
5404         the appropriate one.
5405         [e1e04972b5fe]
5406
5407 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5408
5409         * include/missing.h:
5410         Add strdup and strndup and fix strsignal
5411         [c159babe2896]
5412
5413 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5414
5415         * compat/strdup.c, compat/strndup.c, configure, configure.in,
5416         plugins/sample/Makefile.in, src/Makefile.in:
5417         Add strdup and strndup to compat
5418         [25c9fd399a4d]
5419
5420         * plugins/sample/sample_plugin.c:
5421         Need to include compat.h before missing.h
5422         [c94f7aad380f]
5423
5424         * compat/strsignal.c:
5425         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
5426         it doesn't exist configure will set it to 0.
5427         [384580566389]
5428
5429         * compat/glob.c:
5430         Fix botched ANSI C coversion of globexp2()
5431         [4a344b8cbe49]
5432
5433         * configure, configure.in:
5434         Remove redundant getgroups check
5435         [0b16ec210c81]
5436
5437         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
5438         Require either termios or termio, no more sgtty.
5439         [9b2fa2f17a1c]
5440
5441         * compat/strsignal.c, config.h.in, configure, configure.in:
5442         Change the sys_siglist check to use AC_CHECK_DECLS and also check
5443         for _sys_siglist and__sys_siglist
5444         [2e078fed2408]
5445
5446 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5447
5448         * configure, configure.in, src/Makefile.in:
5449         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
5450         use SUDO_OBJS for the main driver as part of OBJS.
5451         [9ae4a80a5ade]
5452
5453         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5454         Mention in the conversation function section that a newline is not
5455         implicit.
5456         [04a233b6c491]
5457
5458         * include/compat.h:
5459         Add definition of WCOREDUMP for systems without it. This is known
5460         to work on AIX and SunOS 4, but may be incorrect on other systems
5461         that lack WCOREDUMP.
5462         [c85b3ce6b77d]
5463
5464 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5465
5466         * plugins/sample/sample_plugin.c, src/conversation.c:
5467         conversation function no longer puts a newline at the end of info or
5468         error messages.
5469         [c534cae1ac4a]
5470
5471 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5472
5473         * src/script.c:
5474         Use parent process group id instead of parent process id when
5475         checking foreground status and suspending parent. Fixes an issue
5476         when running commands under /usr/bin/time and others.
5477         [564f528c3bb7]
5478
5479 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5480
5481         * aclocal.m4:
5482         transcript option is now --with not --enable
5483         [0646fac4cf93]
5484
5485         * plugins/sample/sample_plugin.c:
5486         Add support to -u and -g flags Check fmt_string retval Add timeout
5487         for debugging purposes
5488         [cfefa4fa60b5]
5489
5490         * src/script.c, src/sudo.c:
5491         Wire up SIGALRM handler Set close on exec flag for child side of the
5492         socketpair Fix signal handling when not doing I/O logging
5493         [379581ec7272]
5494
5495         * src/sudo.c:
5496         g/c unused SIGCHLD handler
5497         [0afa03912dce]
5498
5499         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
5500         Don't use emalloc() in fmt_string(); we want to be able to use it
5501         from a plugin.
5502         [ade64d368147]
5503
5504         * include/list.h:
5505         tq_remove not list_remove
5506         [0e0e1fd5c31c]
5507
5508         * configure, configure.in:
5509         AUTH_OBJS should contain .lo files not .o files.
5510         [c64c82c9d5a2]
5511
5512 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5513
5514         * src/parse_args.c:
5515         Simplify conversion of command line args to name=value pairs.
5516         [75ab127c6a94]
5517
5518         * plugins/sample/sample_plugin.c:
5519         Handle NULL reply from conversation function
5520         [6ce09b6cb204]
5521
5522         * compat/getline.c:
5523         Don't depend on emalloc/erealloc
5524         [73df09e2109f]
5525
5526         * plugins/sample/Makefile.in:
5527         Use $(OBJS) instead of sample_plugin.lo
5528         [2d995db9aa99]
5529
5530         * plugins/sample/sample_plugin.c:
5531         runas_user is in settings not user_info
5532         [7ee12068bc57]
5533
5534         * src/parse_args.c:
5535         Fix a mismatch between sudo_settings and settings_pairs that causes
5536         some settings to get the wrong values.
5537         [b1bc6d81a65f]
5538
5539 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5540
5541         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
5542         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
5543         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
5544         Convert to ANSI C
5545         [d03b6e4a3b75]
5546
5547         * src/load_plugins.c:
5548         Fix strlcpy() return value check.
5549         [7cd66999a374]
5550
5551         * INSTALL, configure, configure.in:
5552         No longer need to substitute in script.o and pty.o; I/O logging
5553         support is always built.
5554         [45250024c5dc]
5555
5556 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5557
5558         * src/script.c:
5559         Add fallback to /bin/sh when execve() fails with ENOEXEC.
5560         [7684a15a1352]
5561
5562         * include/alloc.h, src/alloc.c:
5563         Add estrndup()
5564         [47621c83bed9]
5565
5566 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5567
5568         * src/script.c, src/sudo.c:
5569         Refactor script_execve() a bit so that it can be used in non-script
5570         mode. Needs more cleanup.
5571         [f09e022d547c]
5572
5573         * src/sudo.c:
5574         Ignore empty entries in command_info list
5575         [1eea9a8de21c]
5576
5577         * include/list.h, src/list.c:
5578         Add tq_remove
5579         [40908a617cb2]
5580
5581         * src/conversation.c:
5582         Pass timeout to tgetpass()
5583         [9e66c918b771]
5584
5585         * Makefile:
5586         Add ChangeLog target
5587         [da4a39150838]
5588
5589         * README, WHATSNEW:
5590         Bump version and update things slightly for sudo 1.8.0
5591         [4b73cc45e2d4]
5592
5593         * configure, configure.in:
5594         Sudo now requires an ANSI/ISO C compiler
5595         [1e51f72e6964]
5596
5597         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
5598         src/sudo_noexec.c:
5599         Convert to ANSI C
5600         [5cbd315dbde8]
5601
5602         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
5603         include/list.h, include/missing.h:
5604         Convert to ANSI C
5605         [3f5016ff64f4]
5606
5607         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
5608         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
5609         compat/getprogname.c, compat/glob.c, compat/glob.h,
5610         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
5611         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
5612         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
5613         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
5614         compat/utimes.c:
5615         Convert to ANSI C
5616         [0d635c85461c]
5617
5618 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5619
5620         * src/sudo.c, src/tgetpass.c:
5621         Make user_details extern so tgetpass can get at the uid and gid. Set
5622         uid/gid to user before executing askpass program. Check environment
5623         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
5624         set the askpass program itself
5625         [d33606396176]
5626
5627         * src/sudo.c:
5628         No longer need sudo_usage.h in sudo.c
5629         [063e2946c382]
5630
5631         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
5632         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
5633         src/sudo_usage.h.in:
5634         Document -D level command line flag which maps to the debug_level
5635         setting.
5636         [61f1e2ab3ac1]
5637
5638         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5639         Document debug_level in plugin doc. Still need to document the -D
5640         flag in sudo itself.
5641         [8c62daea3e9b]
5642
5643 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5644
5645         * plugins/sample/sample_plugin.c:
5646         include missing,h for vasprintf
5647         [92503de49b39]
5648
5649         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
5650         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5651         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
5652         [14cfb4775238]
5653
5654         * plugins/sample/sample_plugin.c:
5655         Need to include limits.h
5656         [bda7f74343d2]
5657
5658         * compat/glob.c:
5659         No more sudo_getpw*
5660         [232e52907634]
5661
5662         * plugins/sample/Makefile.in, src/Makefile.in:
5663         Add missing compat bits
5664         [4843dd000e08]
5665
5666         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
5667         compat files should not include sudo.h wire up compat in sample
5668         plugin
5669         [a175b8185e0f]
5670
5671         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
5672         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
5673         [57e49bc20857]
5674
5675         * configure, configure.in:
5676         Fix typo
5677         [333655e3d5fe]
5678
5679         * plugins/sample/sample_plugin.c:
5680         Log input and output to temp files for proof of concept.
5681         [ae1dfc34f7d6]
5682
5683         * Makefile, configure, configure.in, doc/Makefile.in:
5684         Add doc Makefile.in and wire it up
5685         [6a310443c87d]
5686
5687         * src/script.c:
5688         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
5689         suspending a shell with the "suspend" builtint.
5690         [3d65f182819a]
5691
5692         * src/script.c:
5693         In child, handle parent side of the pipe going away.
5694         [a29c14d78cd9]
5695
5696         * src/script.c:
5697         No longer need to check for explicit death of the child (process #2)
5698         since if it dies we will get EPIPE from the socketpair. Fix a
5699         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
5700         sudo_debug.
5701         [24c55dd4ff60]
5702
5703         * src/sudo.c:
5704         Make sudo_debug do a single vfprintf() which will result in a single
5705         write call on most systems. Avoids problems with interleaved debug
5706         printf from different processes. Also remove an extraneous error
5707         case since recv() can't return a short read and add some more XXX.
5708         [b37a8533ef1e]
5709
5710 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5711
5712         * src/script.c:
5713         Fix uninitialized variable.
5714         [e012a0a30890]
5715
5716         * src/Makefile.in:
5717         Fix sudo install target
5718         [1417fa4b4ab9]
5719
5720         * src/parse_args.c, src/sudo.c, src/sudo.h:
5721         Wire up debug_level
5722         [144fab289c73]
5723
5724         * src/Makefile.in:
5725         Fix dependencies
5726         [5170940af2ce]
5727
5728         * configure, configure.in:
5729         Fix setting of plugin dir
5730         [144eda170a72]
5731
5732         * Makefile:
5733         add clean targets
5734         [d53f6f6f5c3a]
5735
5736         * src/atobool.c:
5737         Add missing source for sudo front end
5738         [42487de9c489]
5739
5740         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
5741         Sample plugin demonstrating the sudo plugin API
5742         [f1fd62d7644f]
5743
5744         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
5745         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
5746         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
5747         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
5748         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
5749         sudo_usage.h.in:
5750         Modular sudo front-end which loads policy and I/O plugins that do
5751         most the actual work. Currently relies on dynamic loading using
5752         dlopen(). See doc/plugin.pod for the plugin API.
5753         [924f6eb2fbba]
5754
5755         * doc/plugin.pod, include/sudo_plugin.h:
5756         Sudo plugin API
5757         [374ccbbd24ae]
5758
5759         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
5760         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
5761         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
5762         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
5763         src/fileops.c, src/sudo_edit.c:
5764         Replace emul/include.h with compat/include.h to match new source
5765         tree layout.
5766         [7eccd10449a1]
5767
5768         * src/lbuf.c:
5769         Include missing.h for memrchr() proto
5770         [03abd63a8a33]
5771
5772         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
5773         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
5774         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
5775         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
5776         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
5777         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
5778         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
5779         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
5780         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
5781         compat/getline.c, compat/getprogname.c, compat/glob.c,
5782         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
5783         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
5784         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
5785         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
5786         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
5787         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
5788         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
5789         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
5790         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
5791         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
5792         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
5793         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
5794         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
5795         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
5796         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
5797         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
5798         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
5799         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
5800         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
5801         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
5802         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
5803         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
5804         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
5805         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
5806         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
5807         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
5808         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
5809         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
5810         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
5811         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
5812         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
5813         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
5814         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
5815         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
5816         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
5817         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
5818         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
5819         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
5820         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
5821         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
5822         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
5823         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
5824         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
5825         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
5826         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
5827         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
5828         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
5829         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
5830         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
5831         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
5832         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
5833         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
5834         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
5835         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
5836         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
5837         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
5838         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
5839         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
5840         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
5841         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
5842         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
5843         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
5844         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
5845         sample.pam, sample.sudoers, sample.syslog.conf,
5846         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
5847         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
5848         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
5849         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
5850         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
5851         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
5852         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
5853         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
5854         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
5855         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
5856         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
5857         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
5858         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
5859         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
5860         visudo.man.in, visudo.pod, zero_bytes.c:
5861         Rework source layout in preparation for modular sudo.
5862         [7fc1978c6ad5]
5863
5864 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5865
5866         * Avoid a duplicate fclose() of the sudoers file.
5867         [5dba851088c1]
5868
5869         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
5870         [0a2935061e33]
5871
5872         * Use setrlimit64(), if available, instead of setrlimit() when setting
5873         AIX resource limits since rlim_t is 32bits.
5874         [353db89bac61]
5875
5876         * Fix use after free when sending error messages. From Timo Juhani
5877         Lindfors
5878         [e50dbd902382]
5879
5880         * ChangeLog, Makefile.in:
5881         Generate the ChangeLog as part of "make dist" instead of having it
5882         in the repo.
5883         [251b70964673]
5884
5885 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5886
5887         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
5888         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
5889         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
5890         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
5891         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
5892         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
5893         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
5894         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
5895         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
5896         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
5897         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
5898         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
5899         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
5900         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
5901         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
5902         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
5903         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
5904         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
5905         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
5906         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
5907         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
5908         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
5909         Remove CVS $Sudo$ tags.
5910         [de683a8b31f5]
5911
5912 2010-01-18  convert-repo  <convert-repo>
5913
5914         * .hgtags:
5915         update tags
5916         [9b7aa44ae436]
5917
5918 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5919
5920         * sudo_usage.h.in:
5921         make this match sudoers SYNOPSIS
5922         [c74ba66944c2]
5923
5924         * lbuf.c, parse.c:
5925         Print a newline between Runas and Command-specific defaults in sudo
5926         -l.
5927         [b5bdfcc9ce4b]
5928
5929         * term.c:
5930         Use SET and CLR macros in term_raw
5931         [50ca42609d6c]
5932
5933         * sudoreplay.c:
5934         Set stdin to non-blocking mode early instead of in check_input. Use
5935         term_raw instead of term_cbreak since the data we get has already
5936         been expanded via OPOST.
5937         [51c47e803d62]
5938
5939 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5940
5941         * script.c, term.c:
5942         Enable/disable all postprocessing instead of just nl->crnl
5943         processing since things like tab expansion matter too. However, if
5944         stdout is a tty leave postprocessing on in the pty since we run into
5945         problems doing it only on the real stdout with .e.g nvi.
5946         [62666e309673]
5947
5948 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5949
5950         * check.c:
5951         If tty_tickets is enabled and there is no tty, prompt for a
5952         password. Do not lecture user for "sudo -k command" if user has a
5953         timestamp.
5954         [5880200c5f6b]
5955
5956         * INSTALL:
5957         Document missing options: --with-efence and --with-bsm-audit
5958         [d83afcdf9ff3]
5959
5960         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
5961         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
5962         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
5963         visudo.man.in, visudo.pod:
5964         username -> user name groupname -> group name hostname -> host name
5965         [10c85646f45d]
5966
5967         * INSTALL, README.LDAP, sudoers.pod:
5968         filename -> file name like the rest of the docs
5969         [1ef8ab5a9018]
5970
5971 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5972
5973         * parse.c:
5974         Fix printing of entries with multiple host entries on a single line.
5975         [226ceaf91d8d]
5976
5977 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5978
5979         * sudoers.pod:
5980         Mention that targetpw affects the timestamp file name.
5981         [a26e22e4f72e]
5982
5983         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
5984         sudoers.pod:
5985         Add compress_transcript option.
5986         [6e94f8cb9dfb]
5987
5988 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5989
5990         * configure, configure.in:
5991         bump to 1.7.3b2
5992         [906d7e347d15]
5993
5994         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
5995         Better split of membership vs. traditional group check in
5996         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
5997         [6ebc55d4716b]
5998
5999 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6000
6001         * pwutil.c:
6002         Fix pasto and add default return value.
6003         [7973b5e4599c]
6004
6005         * check.c, match.c, pwutil.c, sudo.h:
6006         refactor group member checking into user_in_group()
6007         [48ca8c2eddf8]
6008
6009         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
6010         sudo.h:
6011         Add support for mbr_check_membership() as present in darwin.
6012         [5501aed02b9f]
6013
6014 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6015
6016         * match.c:
6017         Rename label to be accurate
6018         [3af17dd960f7]
6019
6020         * Makefile.in, boottime.c, check.c, config.h.in, configure,
6021         configure.in, sudo.h:
6022         Treat timestamp files from before we booted as old. Idea from and
6023         Apple patch.
6024         [5c96e484c05a]
6025
6026 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6027
6028         * sudo.c, sudo.pod, sudo_usage.h.in:
6029         Allow the -u flag to be used in conjunction with the -v flag as per
6030         older versions of sudo.
6031         [591e9fc13c1a]
6032
6033         * logging.c:
6034         fix typo in last commit
6035         [4fd0c692dcf0]
6036
6037 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6038
6039         * logging.c:
6040         Convert fmt_first and fmt_confd into macros.
6041         [32e870158b29]
6042
6043         * sudoers.pod:
6044         timeouts can be floats now
6045         [89de639a9679]
6046
6047         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
6048         defaults.h, mkdefaults:
6049         Add support for floating point timeout values (e.g. 2.5 minutes).
6050         [210ffa291733]
6051
6052 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6053
6054         * sudo.pod:
6055         The -L flag will be removed in sudo 1.7.4
6056         [ffd026084333]
6057
6058 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6059
6060         * sudoreplay.c:
6061         Fix a bug due to order of operators.
6062         [938d34464283]
6063
6064 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6065
6066         * match.c:
6067         cmnd_matches() already deals with negation so _cmndlist_matches()
6068         does not need to do so itself. Fixes a bug with negated entries in
6069         a Cmnd_List.
6070         [71c845f6ce73]
6071
6072 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6073
6074         * sudo.c:
6075         Don't exit() from open_sudoers, just return NULL for all errors.
6076         [8cfa832f972a]
6077
6078         * script.c:
6079         Can't rely on the shell sending us SIGCONT when transitioning from
6080         backgroup to foreground process.
6081         [3c6c5b6cb4b3]
6082
6083         * toke.c, toke.l:
6084         Add missing extern def for parse_error
6085         [45b7b59d03b7]
6086
6087 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6088
6089         * toke.c, toke.l:
6090         Avoid a parse error when #includedir doesn't find any files. Closes
6091         bug #375
6092         [1ce1b850e9e6]
6093
6094         * Makefile.in:
6095         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
6096         [6a22e32da108]
6097
6098 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6099
6100         * script.c:
6101         Start command out in foreground mode if stdout is a tty. Works
6102         around issues with some curses-based programs that don't handle
6103         tcsetattr getting interrupted by a signal. Still allows us to avoid
6104         hogging the tty if the command is part of a pipeline.
6105         [1c32f2b94769]
6106
6107         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
6108         Use a socketpair to pass signals from parent to child. Child will
6109         now pass command status change info back via the socketpair. This
6110         allows the parent to distinguish between signals it has been sent
6111         directly and signals the command has received. It also means the
6112         parent can once again print the signal notifications to the tty so
6113         all writes to the pty master occur in the parent. The command is
6114         now always started in background mode with tty signals handled by
6115         the parent.
6116         [c6790b82986d]
6117
6118 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6119
6120         * configure, configure.in:
6121         Fix a few typos in the descriptions; from Jeff Makey Only do the
6122         check for krb5_get_init_creds_opt_free() taking two arguments if we
6123         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
6124         positive when using our own krb5_get_init_creds_opt_free which takes
6125         only a single argument.
6126         [845a9ff6f93d]
6127
6128 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6129
6130         * configure, configure.in:
6131         Remove a spurious comma in the kerb5 bits.
6132         [3433eab083db]
6133
6134         * auth/kerb5.c:
6135         Call krb5_get_init_creds_opt_init() in our emulated
6136         krb5_get_init_creds_opt_alloc() for MIT kerberos.
6137         [7ffb40bf43e9]
6138
6139 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6140
6141         * config.h.in:
6142         Add HAVE_ZLIB
6143         [9297bde61ecc]
6144
6145         * script.c:
6146         Need to ignore SIGTT{IN,OU} in child when running the command in the
6147         background. Also some minor cleanup.
6148         [dc208d982319]
6149
6150 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6151
6152         * script.c:
6153         Instead of calling sigsuspend when waiting for SIGUSR[12] from
6154         parent, install the signal handlers w/o SA_RESTART and let them
6155         interrupt waitpid().
6156         [759c7d18203b]
6157
6158         * script.c:
6159         Pass along SIGHUP and SIGTERM from parent to child.
6160         [035b0e254568]
6161
6162         * script.c:
6163         Close unused bits of script_fds in processes that don't need them.
6164         Restore default SIGCONT handler in child.
6165         [e037378ab0c1]
6166
6167         * script.c:
6168         Update foreground/background status in SIGCONT handler in parent
6169         process.
6170         [3f7f91333264]
6171
6172 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6173
6174         * script.c:
6175         Defer setting terminal into raw mode until just before we fork() and
6176         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
6177         and sudo is already in the foreground be sure to set raw mode before
6178         continuing the child.
6179         [1102ef40832c]
6180
6181 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6182
6183         * script.c:
6184         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
6185         give the command the controlling tty if the main sudo process is the
6186         foreground process.
6187         [cf3a91cb5682]
6188
6189         * script.c:
6190         Don't bother with sudo_waitpid() here for now.
6191         [9086de480c2d]
6192
6193         * script.c:
6194         fix non-zlib case
6195         [a258bff0f9a6]
6196
6197 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6198
6199         * script.c:
6200         Remove non-wroking code that crept into rev 1.55
6201         [2802dd55cff5]
6202
6203 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6204
6205         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
6206         First pass at zlib support for transcript data files
6207         [5d10260807da]
6208
6209         * Makefile.in:
6210         remove vestiges of ZLDFLAGS
6211         [1fa0caf1c0fb]
6212
6213         * script.c:
6214         Add missing variable declaration for when TIOCSCTTY is not defined.
6215         Need to include sys/termio.h for TIOCSCTTY on some systems.
6216         [ee7f41ac2709]
6217
6218         * script.c:
6219         when resuming command, send SIGCONT to its pgrp not just pid
6220         [5cd63c1d565b]
6221
6222         * selinux.c:
6223         remove unused variable
6224         [df67df4be228]
6225
6226         * script.c:
6227         include selinux.h for is_selinux_enabled() proto
6228         [85ebaa880cc1]
6229
6230         * script.c:
6231         Don't use log_error() in the child process.
6232         [def65fe2a433]
6233
6234         * script.c:
6235         Do I/O in parent instead of child since the parent can have both
6236         /dev/tty as well as the pty fds open. The child just sets things up
6237         and waits for its grandchild and writes the signal description to
6238         the pty master if the command was killed by a signal.
6239         [95e473208982]
6240
6241 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6242
6243         * missing.h, sudo.h:
6244         Move two struct forward declarations from sudo.h to missing.h
6245         [90ad28294a8c]
6246
6247         * script.c:
6248         Make comment at the top of script_exec() match reality.
6249         [c5042d27dbe0]
6250
6251         * sudo.c:
6252         if neither stdin nor stdout is a tty, check stderr
6253         [c532ff20c8d8]
6254
6255         * Makefile.in:
6256         Add back dependecy of gram.h on gram.y
6257         [c58382b7fcca]
6258
6259         * script.c:
6260         Make transcript mode work as long as we can figure out our tty, even
6261         if it is not stdin. We'd like to use /dev/tty but that won't be
6262         valid after the setsid().
6263         [7b8bba8d99e7]
6264
6265 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6266
6267         * config.h.in, configure, configure.in, pty.c:
6268         Add support for IRIX-style dynamic ptys
6269         [bedc9bac44c1]
6270
6271         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
6272         Move alloc.c protos into alloc.h
6273         [b6a90649617d]
6274
6275         * missing.h:
6276         Move prototypes for missing libc functions to missing.h
6277         [dda9ae1ccaf8]
6278
6279         * Makefile.in, sudo.h, sudoreplay.c:
6280         Move prototypes for missing libc functions to missing.h
6281         [7483166b577b]
6282
6283 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6284
6285         * config.h.in, configure, configure.in:
6286         Disable transcript support if no tcsetpgrp until we support older
6287         BSD-style job control.
6288         [27ac1d8163df]
6289
6290         * configure, configure.in, pty.c, script.c:
6291         Break out pty code into pty.c
6292         [e85509b25d41]
6293
6294         * compat.h, config.h.in, configure, configure.in:
6295         add killpg macro if no killpg function
6296         [3a125f4a51f0]
6297
6298         * config.h.in, configure, configure.in, script.c:
6299         Push ptem and ldterm for STERAMS-based systems when allocating a
6300         pty.
6301         [36bb39b30ff2]
6302
6303 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6304
6305         * script.c:
6306         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
6307         [d94bd5c9bf4e]
6308
6309         * script.c:
6310         Call tcgetpgrp() in the parent, not the child and have the child
6311         spin until it is granted. Fixes a race on darwin.
6312         [6e8d435339ce]
6313
6314         * script.c:
6315         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
6316         reopen slave.
6317         [0bdc63c019ca]
6318
6319 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6320
6321         * script.c:
6322         In script mode, if the command is killed by a signal, print the
6323         signal description as well as a core dump notification like the
6324         shell does.
6325         [9df61738df07]
6326
6327         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
6328         sudo.h:
6329         Add check for strsignal() and a simple implementation if it is not
6330         there but sys_siglist is
6331         [61421a188ef4]
6332
6333         * script.c:
6334         Add missing WUNTRACED and store the signal that stopped the
6335         grandchild in suspended, not signo.
6336         [df65042b200e]
6337
6338         * script.c:
6339         g/c unused code
6340         [40d8cb5c9203]
6341
6342         * script.c:
6343         Associate the grandchild's pgrp with the tty instead of the child's
6344         and just get suspend notifications via SIGCHLD instead of directly.
6345         This fixes a hang with programs that try to set terminal attributes
6346         and is more consistent with how the shell handles things.
6347         [6865abff7e94]
6348
6349 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6350
6351         * script.c:
6352         Move setpgid() of child into the parent side of the fork() where it
6353         belongs.
6354         [3defa782777c]
6355
6356 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
6357
6358         * script.c:
6359         fix typo
6360         [b6a612b3622c]
6361
6362         * script.c:
6363         Run command in its own pgrp (like the shell does) for easier
6364         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
6365         to grandchild. Don't want grandchild stopped events in the child
6366         (only termination). Flush output after suspending grandchild before
6367         signalling parent.
6368         [db556bf2176f]
6369
6370         * script.c:
6371         Back out revision 1.34; the problem lies elsewhere.
6372         [85f590a03275]
6373
6374         * script.c:
6375         Don't set stdout to blocking mode when flushing remaining output.
6376         It can cause us to hang when trying to exit. Need to investigate
6377         why.
6378         [6f803a3e33ca]
6379
6380         * script.c:
6381         Handle SIGTTOU and remove some debugging.
6382         [52d17279053e]
6383
6384         * term.c:
6385         Back out revision 1.10 as the signal that interrupts us may be
6386         SIGTTOU or SIGTTIN which the caller must handle.
6387         [7e2fa9107975]
6388
6389         * script.c:
6390         Apparently we need to send SIGSTOP to the command as well as ourself
6391         when we get SIGTSTP, the kernel doesn't automatically stop the
6392         process for us.
6393         [1a936e9309c4]
6394
6395         * script.c:
6396         Use an extra process to act as the glue bewteen the sessions
6397         associated with the user's controlling tty (what the shell uses) and
6398         the tty that sudo is using to do its logging. Basically, this means
6399         that if we get, e.g. SIGTSTP from the process sudo is running, we
6400         relay the signal to the parent so it's shell can do the job control.
6401         [6dd296988060]
6402
6403         * term.c:
6404         Handle getting/setting terminal attributes when the fd is in non-
6405         blocking mode.
6406         [ae5ae535ea7b]
6407
6408 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6409
6410         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
6411         Add support for pausing and changing the speed in interactive mode.
6412         [72a2063780a7]
6413
6414         * script.c:
6415         Already define O_NOCTTY in compat.h, don't need it here
6416         [b5d80ed3e5ce]
6417
6418 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6419
6420         * sudoreplay.c:
6421         Add missing protos
6422         [c4cb4e7f4d8a]
6423
6424 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6425
6426         * sudo_edit.c:
6427         Always update the stashed mtime of the temp file instead of using
6428         what we have for the original because the time resolution of the
6429         filesystem the temporary is on may not match that of the filesystem
6430         that holds the original. Should fix bz #371 found by Philippe Levan.
6431         [c86ca4bec60c]
6432
6433         * sudoreplay.c:
6434         Use cbreak mode instead of raw mode and add signal handlers to
6435         restore the tty on interrupt.
6436         [84dd283da41c]
6437
6438         * script.c, sudo.h, term.c:
6439         Retain NL to NLCR conversion on the real tty and skip it on the pty
6440         we allocate. That way, if stdout is not a pty there are no extra
6441         carriage returns.
6442         [32e4f570414e]
6443
6444         * script.c:
6445         Fix log_output(); just pass in a string and a length.
6446         [ca980cc0a3fb]
6447
6448 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6449
6450         * script.c:
6451         do not use errno when complaining out lack of a tty
6452         [8f9b8c55ab8e]
6453
6454 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6455
6456         * Makefile.in, sudoreplay.c, term.c:
6457         Instead of messing with line endings, just set terminal to raw mode
6458         in sudoreplay.
6459         [90943fa87acb]
6460
6461         * term.c:
6462         When copying the terminal attributes to the pty, be sure not to set
6463         ONLCR. This prevents extra carriage returns from ending up in the
6464         script output file.
6465         [e6b5475ac2aa]
6466
6467         * script.c:
6468         Convert a do {} while into a while
6469         [e461310d2c77]
6470
6471         * Makefile.in:
6472         Use if then instead of test && when installing binaries that may not
6473         exist.
6474         [ad4f9490d971]
6475
6476         * script.c:
6477         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
6478         old tty before associatng with new one.
6479         [0e0ca634b80c]
6480
6481         * script.c, selinux.c, sudo.c, sudo.h:
6482         First cut at refactoring some of the selinux code so it can be used
6483         in conjunction with sudo's transcript support.
6484         [779b0d8f9d29]
6485
6486 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6487
6488         * aclocal.m4, configure, configure.in:
6489         Fix default case of transcript_enabled being unset.
6490         [f8aa96186e6b]
6491
6492         * script.c, sudoreplay.c:
6493         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
6494         [2844a7a851fa]
6495
6496         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
6497         Hook up --disable-transcript and --enable-transcript=DIR
6498         [b3fa7e6b2480]
6499
6500 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6501
6502         * aclocal.m4, configure, configure.in, pathnames.h.in:
6503         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
6504         transcript=DIR option to specify the directory
6505         [b0bb76d43cda]
6506
6507         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
6508         regen
6509         [c7a8a0a9027c]
6510
6511         * configure, configure.in, sudoers.man.pl, sudoers.pod:
6512         Substitute in default value for secure_path
6513         [c8f9ac6dbf93]
6514
6515         * sudo.pod:
6516         Mention that the password must be followed by a newline with the -S
6517         option.
6518         [2fc589a3ee7e]
6519
6520 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6521
6522         * script.c:
6523         Go back to dropping out of the select() loop when the process dies;
6524         Linux ptys apparently don't behave the same as BSD in regards to
6525         select(). No need to flush remaining output to the transcript, only
6526         to stdout. Add back code to check the master pty for additional data
6527         when we exit the main select loop.
6528         [abed9a9cbc6b]
6529
6530 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6531
6532         * Makefile.in:
6533         Add getline.o to COMMON_OBJS
6534         [04ef7643cbc2]
6535
6536         * Makefile.in:
6537         sudoreplay depends on libsudo.a
6538         [142bd0472631]
6539
6540         * Makefile.in:
6541         More pwutil.o into COMMON_OBJS
6542         [4a016b933629]
6543
6544         * pwutil.c, testsudoers.c, tsgetgrpw.c:
6545         Remove my_* redirection in pwutil.c for testsudoers and just use the
6546         normal libc get{pw,gr}* names.
6547         [9b76d637d86b]
6548
6549         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
6550         More time and date examples
6551         [c6ee0175ec56]
6552
6553         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
6554         Move nanosleep() emulation into its own file Check librt.a for
6555         nanosleep if we don't find it in libc
6556         [4da0cc26aad7]
6557
6558         * Makefile.in, configure, configure.in:
6559         Build libsudo with the common bits and link things against that.
6560         [2b53bc0b081a]
6561
6562         * script.c:
6563         Fix final flush.
6564         [6da287d833da]
6565
6566         * script.c:
6567         Keep reading from the pty master -> log file until read returns <=
6568         0. Do our best to write everything to stdout when flushing any
6569         remaining bits.
6570         [2a45d4ae280c]
6571
6572         * sudoreplay.c:
6573         Use unbuffered I/O when writing to stdout and make sure we write the
6574         entire buffer.
6575         [f39ef9844a47]
6576
6577 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6578
6579         * sudoreplay.c:
6580         Only use max_wait if it is non-zero
6581         [f6c10604d2e8]
6582
6583         * getdate.c, getdate.y, getline.c:
6584         Need compat.h here
6585         [5d6722e225a0]
6586
6587         * sudoreplay.c:
6588         Fix nanosleep emulation
6589         [34e5e5d72a76]
6590
6591         * script.c:
6592         Fix comment after #endif
6593         [bd1347718b25]
6594
6595         * sudoreplay.c:
6596         Add protos for missing libc bits
6597         [644f496427a2]
6598
6599         * configure, configure.in:
6600         add missing line continuation char
6601         [db13c0d402cd]
6602
6603         * config.h.in, configure, configure.in, getline.c:
6604         Implement getline() in terms of fgetln() if we have it.
6605         [3ab786eaadc5]
6606
6607         * sudoreplay.c:
6608         Print year when formatting log line
6609         [90be669e3443]
6610
6611         * sudoreplay.pod:
6612         Document cwd, attempt to document time/date formats.
6613         [6290fb9b65c6]
6614
6615         * sudoreplay.c:
6616         Fix getline return value check.
6617         [d696d6657261]
6618
6619         * Makefile.in, config.h.in, configure, configure.in, getline.c,
6620         sudoreplay.c:
6621         Use getline() if the system has it, else use provide our own for
6622         sudoreplay.
6623         [afca1d6fbe5e]
6624
6625         * script.c:
6626         Refactor code to update output and timing files.
6627         [361491332b1a]
6628
6629 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6630
6631         * sudoreplay.c:
6632         Make sudo_getln() behave more like glibc getline.
6633         [40c9f2ea29e6]
6634
6635         * script.c:
6636         When flushing remaining output, also update timing file.
6637         [5a9a5a627549]
6638
6639         * sudoreplay.c:
6640         Use get_timestr() and make the -l output look like the regular sudo
6641         log.
6642         [452ba9d436c9]
6643
6644         * logging.c, sudo.h, timestr.c:
6645         Make get_timestr() take a time_t so we can use it properly in
6646         sudoreplay.
6647         [82e67cc53c9c]
6648
6649         * script.c:
6650         Create session dir earlier now that we update the seq number early.
6651         [797fe8d6dc61]
6652
6653 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6654
6655         * sudoreplay.c:
6656         Use fromdate and todate as the keywords instead of from and to; the
6657         short forms will still be accepted.
6658         [d14d9b116df4]
6659
6660         * sudoreplay.c:
6661         Fix reading long liensin sudo_getln()
6662         [58dadd74118c]
6663
6664         * script.c, sudoreplay.c:
6665         Log the cwd in the script log file. Add sudo_getln() to read
6666         arbitrarily long lines.
6667         [faceb802ab8f]
6668
6669         * Makefile.in, logging.c, sudo.h, timestr.c:
6670         Move get_timestr() into its own source file so sudoreplay can use
6671         it.
6672         [99b054bfa20a]
6673
6674 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6675
6676         * sudoreplay.c:
6677         Add to and from perdicates (date ranges); needs documentation
6678         [1d629174dcf4]
6679
6680 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6681
6682         * Makefile.in, getdate.c, getdate.y:
6683         Fix warning and add generated getdate.c
6684         [b877a86b5a03]
6685
6686         * Makefile.in, getdate.y:
6687         Add getdate.y to be used for sudoreplay date parsing.
6688         [b8e26fbb7a40]
6689
6690 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6691
6692         * sudoreplay.c:
6693         Check more than just the first character of a predicate
6694         [4fe53728adb1]
6695
6696         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
6697         Add examples, sort predicates
6698         [70f8075cbccc]
6699
6700         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
6701         sudoreplay.pod:
6702         Implement search expressions in sudoreplay similar in concept to
6703         what find or tcpdump uses. TODO: date ranges
6704         [f7ce4fb4cf3a]
6705
6706 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6707
6708         * script.c:
6709         Remove vhangup as it was hanging up the wrong tty. Should really
6710         vhangup in the child after it as set its tty.
6711         [2eed9df73010]
6712
6713         * sudoers.pod:
6714         Fix cut at documenting transcript support.
6715         [e6c533a5568a]
6716
6717         * logging.c:
6718         ID= -> TSID= for transcript ID
6719         [1bf755a35333]
6720
6721 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6722
6723         * sudoers.pod:
6724         Move fast_glob description to where it belongs in sorted order
6725         [5901cfb0d25f]
6726
6727         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
6728         parse.c, parse.h, sudo.c:
6729         Rename script -> transcript
6730         [e06cf823122c]
6731
6732 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6733
6734         * compat.h:
6735         Add timeradd and timersub for those without them
6736         [929f8aa06c2b]
6737
6738         * script.c:
6739         Sanity check sessid before using it.
6740         [aa8ca5211d43]
6741
6742         * sudo.c:
6743         Only set the session id if we are running a command or editing a
6744         file.
6745         [7205d717c098]
6746
6747         * script.c:
6748         Actually. qsort is fine since most versions fal back to a cheaper
6749         sort when the number of elements to sort is small (like in our
6750         case).
6751         [d11c7cd352fe]
6752
6753         * config.h.in, configure, configure.in, script.c:
6754         Check for dup2 and use dup instead if we don't have it.
6755         [98bd89830f8a]
6756
6757         * script.c, sudo.c, sudo.h:
6758         Move the code to dup2 the script fds to low numbered descriptors
6759         into script_duplow() and fix the fd sorting.
6760         [9453fdc5fba6]
6761
6762         * script.c, sudo.c, sudo.h:
6763         Move script_setup() back to immediately before we drop privs and
6764         call the new script_nextid() in its place, which will set
6765         sudo_user.sessid for the logging functions.
6766         [8434d0c8ff08]
6767
6768 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6769
6770         * Makefile.in:
6771         Install sudoreplay
6772         [6acf2cdb4d3f]
6773
6774         * sudoreplay.c:
6775         remove unused variable
6776         [2316360bb992]
6777
6778 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6779
6780         * logging.c, script.c, sudo.c, sudo.h:
6781         Log the session ID, if there is one. Currently logs ID=XXXXXX,
6782         perhaps should be SESSIONID or SESSID.
6783         [53976905b0a6]
6784
6785         * Makefile.in, configure, configure.in, sudoreplay.cat,
6786         sudoreplay.man.in, sudoreplay.pod:
6787         Add sudoreplay docs
6788         [da4f14f0e64c]
6789
6790         * sudoreplay.c:
6791         add -V (version) flag
6792         [b5e743639ee3]
6793
6794         * sudoreplay.c:
6795         Hook up max_wait.
6796         [2ec5697a92ba]
6797
6798         * script.c, sudoreplay.c:
6799         Use base36 number for the ID and store script files with paths like
6800         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
6801         (2,176,782,336) unique IDs.
6802         [6aab019d07aa]
6803
6804 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6805
6806         * config.h.in, configure.in:
6807         Add check for regcomp
6808         [44c3ebd7ff34]
6809
6810         * sudoreplay.c:
6811         Add support for selecting by pattern and tty when listing.
6812         [66189f840c52]
6813
6814 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6815
6816         * sudoreplay.c:
6817         The beginnings of a list mode.
6818         [8d0150b4a52c]
6819
6820 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6821
6822         * Makefile.in:
6823         fix pasto
6824         [616b4640b8a8]
6825
6826         * Makefile.in, config.h.in, configure.in:
6827         Add scaffolding for building sudoreplay
6828         [a32958505dbe]
6829
6830         * sudoreplay.c:
6831         include error.h first arg to nanotime is const
6832         [fe5a7bb31bc5]
6833
6834         * sudoreplay.c:
6835         Initial cut at sudoreplay; replay a sudo session.
6836         [f149fba372bd]
6837
6838 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6839
6840         * script.c:
6841         Fix wait() usage and use correct wait status.
6842         [f4745ed7ad05]
6843
6844         * sudo.c, sudo.h, tgetpass.c:
6845         Add protos for term_* to sudo.h
6846         [14fe1abd7e7b]
6847
6848         * script.c:
6849         Fix detection of the child process exiting. Since the child is in
6850         its own session we should only ever get SIGCHLD for that process but
6851         better safe than sorry.
6852         [7edfdadd8505]
6853
6854         * config.h.in:
6855         Add UNIX98 pty support.
6856         [82f4b53a0e8f]
6857
6858         * configure, configure.in, script.c:
6859         Add UNIX98 pty support.
6860         [795b8bb0a3a1]
6861
6862 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6863
6864         * term.c:
6865         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
6866         if it is defined.
6867         [40f8b83baf69]
6868
6869         * auth/pam.c:
6870         Set PAM_RUSER and PAM_RHOST early so they can be used during
6871         authentication. Based on a patch from Jamie Beverly.
6872         [3d567b453a6a]
6873
6874         * match.c:
6875         Close dir before returning if strlcpy() reports overflow. From
6876         Martynas Venckus.
6877         [6a82f96473e5]
6878
6879         * config.h.in, configure, configure.in, script.c:
6880         On Linux, the openpty proto libes in pty.h
6881         [98643a018d1c]
6882
6883         * script.c:
6884         Call vhangup on exit if the system has it Use setpgrp() if no
6885         setsid()
6886         [3a9e13149829]
6887
6888 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6889
6890         * config.h.in, configure, configure.in:
6891         Add checks for revoke and vhangup if we don't have openpty
6892         [fcb04572e994]
6893
6894         * script.c:
6895         Session logging guts that got forgotten in the previous commit.
6896         [c2af08a63ea9]
6897
6898         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
6899         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
6900         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
6901         tgetpass.c:
6902         First cut at session logging for sudo. Still need to write
6903         get_pty() for Unix 98 and old-style BSD ptys. Also needs
6904         documentation and general cleanup.
6905         [77e3f5e25738]
6906
6907 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6908
6909         * sudo.c, sudo_edit.c:
6910         Fix a bug introduced with def_closefrom. The value of def_closefrom
6911         already includes the +1.
6912         [7291c136300d]
6913
6914 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6915
6916         * Makefile.in:
6917         Generate sudo distributions with pax in ustar mode. No longer need
6918         to use a temp file or have the source dir name match the version.
6919         [9778177a8272]
6920
6921 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6922
6923         * toke.c, toke.l:
6924         Fix expansion of %h in #include names. Fixes bugzilla 363
6925         [6e346879ba24]
6926
6927 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6928
6929         * mkdefaults:
6930         If no arg assume def_data.in
6931         [c1dd28c0e675]
6932
6933         * README, WHATSNEW:
6934         Update for 1.7.2
6935         [f5ad45f69f05] [SUDO_1_7_2]
6936
6937         * ChangeLog:
6938         sync
6939         [6283549396ff]
6940
6941 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6942
6943         * sudoers.cat, sudoers.man.in, sudoers.pod:
6944         Add missing single quotes around a colon in Runas_Spec definition.
6945         From Elias Benali.
6946         [ccc6ee4fca83]
6947
6948 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6949
6950         * sudo.man.in, sudoers.man.in:
6951         regen
6952         [546e75304ebf]
6953
6954         * redblack.c:
6955         In rbrepair, re-color the root or the first non-block node we find
6956         to be black. Re-coloring the root is probably not needed but won't
6957         hurt.
6958         [34d01ebe241b]
6959
6960         * sudo.cat, sudoers.cat:
6961         regen
6962         [bebf5a39f54f]
6963
6964 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6965
6966         * redblack.c:
6967         When repairing the tree, don't touch the root node.
6968         [9841f0d5d789]
6969
6970 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6971
6972         * set_perms.c:
6973         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
6974         Reported by Josef Schmid.
6975         [ed044b1eb879]
6976
6977 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6978
6979         * sudoers.pod:
6980         Document that we accept env_pam-style environment files
6981         [e3b545456352]
6982
6983         * env.c:
6984         Adapt to accept pam_env-style /etc/environment which allows shell-
6985         style lines such as: export EDITOR="/usr/bin/vi"
6986         [752eb75bf007]
6987
6988         * sudoers.pod:
6989         Make it clear that env_delete only works when !env_reset. From Lo??c
6990         Minier
6991         [3bd3f8e351ba]
6992
6993 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6994
6995         * sudo.pod, sudoers.pod:
6996         Add non-unix group bits, adapted from Quest
6997         [8ce427de8dea]
6998
6999         * Makefile.in:
7000         build the .cat page in the current working dir, not the src dir
7001         [00e87a307674]
7002
7003         * env.c:
7004         Return EINVAL in setenv() if var is NULL or the empty string to
7005         match glibc behavior.
7006         [23fd7c247142]
7007
7008 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
7009
7010         * configure, configure.in:
7011         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
7012         [fedd4a3e2a85]
7013
7014 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7015
7016         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7017         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7018         regen
7019         [7b9f461a40b3]
7020
7021 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7022
7023         * INSTALL:
7024         Document --with-libvas and --with-libvas-rpath
7025         [a071e6d96c89]
7026
7027 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7028
7029         * ldap.c, sudoers.ldap.pod:
7030         For netscape-derived LDAP SDKs the cert and key paths may be a
7031         directory or a file. However, version 5.0 of the SDK only seems to
7032         support using a directory. If ldapssl_clientauth_init fails and the
7033         cert or key paths look like they could be files, strip off the last
7034         path element and try again.
7035         [ac4e49d83043]
7036
7037         * Makefile.in:
7038         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
7039         [4547cc1a335f]
7040
7041 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7042
7043         * configure, configure.in, match.c, sudo.c, vasgroups.c:
7044         Update non-Unix group support from Quest, as reworked by me.
7045         [1abafce29dc6]
7046
7047         * toke.c:
7048         regen
7049         [01bfca9148b7]
7050
7051         * toke.l:
7052         Add support for escaped hex chars in names, e.g. \x20 for space.
7053         [3c7be8e58a39]
7054
7055 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7056
7057         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
7058         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
7059         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
7060         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
7061         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
7062         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
7063         tgetpass.c, toke.l, visudo.c:
7064         Update copyright years.
7065         [e615f676c764]
7066
7067 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7068
7069         * interfaces.c, lbuf.c:
7070         Minor fixes for Minix-3
7071         [898c510d23f9]
7072
7073 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7074
7075         * set_perms.c:
7076         Handle getgroups() returning 0. Also add missing check for
7077         HAVE_GETGROUPS.
7078         [d73b958f9ffd]
7079
7080 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7081
7082         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
7083         version.h, visudo.c:
7084         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
7085         [5050579a264d]
7086
7087 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7088
7089         * set_perms.c:
7090         Remove group setting code in setusercontext case, we will do it
7091         ourselves later on in runas_setup. Set the gid after
7092         initgroups/setgroups is called, since on Mac OS X it seems to change
7093         the egid.
7094         [09dc21d8b42d]
7095
7096 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7097
7098         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
7099         vasgroups.c:
7100         Initial bits of non-unix group support using Quest Authentication
7101         Services
7102         [1eecab0ff27e]
7103
7104         * toke.c, toke.l:
7105         Accept %:foo as a non-Unix group
7106         [4c4b5dd899a6]
7107
7108         * toke.c, toke.l:
7109         Allow user/group to be double quoted in the case of non-Unix groups
7110         which contain spaces.
7111         [47a3d568b7e8]
7112
7113 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7114
7115         * match.c:
7116         Don't allow the user to specify the default runas user if their
7117         sudoers entry only allows them to run as a group.
7118         [4d726177227c]
7119
7120 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7121
7122         * sudo.c:
7123         Must call audit_success before we change uids.
7124         [04a9e6ce6e55]
7125
7126         * logging.c, set_perms.c, sudo.h, testsudoers.c:
7127         Add option for set_perm to not exit on failure and use this in the
7128         logging routines.
7129         [833dce7b7f42]
7130
7131         * parse.c:
7132         In -l mode, if the user is only allowed to run as a group, display
7133         the user's name, not root's before the allowed group.
7134         [ef92ff99d265]
7135
7136         * sudo.c:
7137         Fix -g mode, broken by rev 1.503 which had the side effect of
7138         setting the runas user to root unilaterally.
7139         [50a2f7df4385]
7140
7141 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7142
7143         * fileops.c:
7144         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
7145         [30fbe832dcf3]
7146
7147         * pwutil.c:
7148         Only cache by the method we fetched for pwd and grp lookups.
7149         Previously we cached both by namd and id but this can cause problems
7150         for entries that share the same id. Also add more info in the error
7151         message in case the insert fails (which should now be impossible).
7152         [ef95a4f0bab5]
7153
7154 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7155
7156         * sudoers.pod:
7157         Add a clarification from Nick Sieger
7158         [1eadad329561]
7159
7160 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7161
7162         * env.c:
7163         Inline the setting of the environment string.
7164         [9515d11c6295]
7165
7166 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7167
7168         * env.c:
7169         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
7170         in BSD doesn't return an error if the name has '=' in it, it just
7171         treats the '=' as end of string.
7172         [941260bf94d2]
7173
7174 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7175
7176         * toke.c, toke.l:
7177         Not all systems have d_namlen
7178         [e377b18d8e2d]
7179
7180 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7181
7182         * sudoers.pod:
7183         Fix up some pod2html issues.
7184         [823a1f10ab60]
7185
7186 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7187
7188         * interfaces.c:
7189         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
7190         Quest Software.
7191         [73de36653131]
7192
7193         * sudoers.pod:
7194         Ignore files ending in '~' in sudo.d (emacs backup files)
7195         [7871fad702db]
7196
7197         * toke.c, toke.l:
7198         Ignore files ending in '~' in sudo.d (emacs backup files)
7199         [53fded2a469f]
7200
7201 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7202
7203         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
7204         For #includedir, ignore any file containing a dot
7205         [a7daa1bce6c2]
7206
7207         * Makefile.in, version.h:
7208         Bump version
7209         [ef60f14ffc44]
7210
7211         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
7212         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
7213         visudo.c:
7214         Implement #includedir directive. Files in an includedir are not
7215         edited by visudo unless they contain a syntax error.
7216         [3923d85a6c79]
7217
7218         * ChangeLog:
7219         sync
7220         [8741ed61a78b] [SUDO_1_7_1]
7221
7222         * WHATSNEW:
7223         Forgot umask_override
7224         [7c86a21a5504]
7225
7226         * ChangeLog, TODO:
7227         sync
7228         [57339ca6bccf]
7229
7230 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7231
7232         * visudo.c:
7233         Rewind stream if we fdopen sudoers since it may not be at the
7234         beginning. Set the keepopen flag on already-open files too so the
7235         lexer doesn't close them out from under us.
7236         [61292d819aff]
7237
7238         * visudo.c:
7239         Print the proper file name when there is a parse error in an include
7240         file.
7241         [b0e85d4aedde]
7242
7243 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7244
7245         * WHATSNEW:
7246         Sync
7247         [997e5d485ea3]
7248
7249 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7250
7251         * configure, configure.in:
7252         Fix a warning when --without-ldap is specified.
7253         [d91fd9481b30]
7254
7255 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7256
7257         * alias.c, parse.h, visudo.c:
7258         Store aliases that we remove during check_aliases in a freelist and
7259         free them at the end so we don't leak memory.
7260         [805e2272f6a3]
7261
7262 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7263
7264         * visudo.c:
7265         Check aliases in -c mode too.
7266         [9199e188d9f2]
7267
7268         * alias.c, parse.h, visudo.c:
7269         Make alias_remove return the alias struct instead of freeing it
7270         directly. Fixes a use after free in alias_remove_recursive, the only
7271         consumer.
7272         [a04b61804800]
7273
7274         * alias.c, match.c, parse.c, parse.h, visudo.c:
7275         Rename find_alias -> alias_find for consistency.
7276         [48b0a82924f3]
7277
7278 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7279
7280         * visudo.c:
7281         When checking for unused aliases, recurse if the alias points to
7282         another alias.
7283         [2d4d1a7f3a41]
7284
7285 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7286
7287         * ldap.c:
7288         Back out rev 1.105 for now. Real ldapux_client.conf support will be
7289         done later after some refactoring.
7290         [8ad72e69b277]
7291
7292 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7293
7294         * ldap.c:
7295         Treat ldap_hostport the same as "host" for ldapux.
7296         [3281dcc66da8]
7297
7298         * configure, configure.in:
7299         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
7300         Fixes compilation with ldapux.
7301         [ca1ed585ef0e]
7302
7303 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
7304
7305         * fileops.c:
7306         fix char subscript
7307         [41e51f080d00]
7308
7309 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7310
7311         * Makefile.in:
7312         remove errant carriage returns
7313         [e9e258a31c7b]
7314
7315         * audit.c, env.c:
7316         fix K&R compilation
7317         [d182e8920f13]
7318
7319         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7320         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7321         regen
7322         [791a5cbf04e5]
7323
7324 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7325
7326         * config.h.in:
7327         Add missing HAVE_BSM_AUDIT
7328         [49ad1bb96f04]
7329
7330         * WHATSNEW:
7331         Add 1.7.1 features
7332         [f107f1604c61]
7333
7334         * INSTALL:
7335         Mention --with-netsvc
7336         [d1e90d147795]
7337
7338         * sudoers.ldap.pod:
7339         Document netsvc.conf support
7340         [e78f8abce6af]
7341
7342         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
7343         sudo_nss.h:
7344         Add support for AIX netsvc.conf (like nsswitch.conf).
7345         [1df56a84dee5]
7346
7347 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7348
7349         * config.h.in, configure, configure.in, env.c:
7350         Add --enable-env-debug flag to enable environment sanity checks.
7351         [128cdd8832e7]
7352
7353         * sudoers.ldap.pod, sudoers.pod:
7354         Work around some pod2html issue.
7355         [e733b9609bd2]
7356
7357 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7358
7359         * env.c:
7360         Only sync environ for putenv, setenv, and unsetenv. We need to make
7361         sure that sudo_putenv and sudo_setenv only modify env.envp, not
7362         environ.
7363         [be3ac732243c]
7364
7365 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7366
7367         * env.c:
7368         Really fix UNSETENV_VOID
7369         [08ab7e882507]
7370
7371         * env.c:
7372         Fix unsetenv when UNSETENV_VOID
7373         [d3038b3f2f15]
7374
7375         * aclocal.m4, configure:
7376         Fix SUDO_FUNC_PUTENV_CONST
7377         [de35569c572b]
7378
7379         * ldap.c:
7380         tivoli-based ldap does not have ldapssl_err2string
7381         [c63fd90d5e99]
7382
7383         * configure:
7384         regen
7385         [f38f1ee828ad]
7386
7387 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7388
7389         * config.h.in, configure, configure.in, ldap.c:
7390         Add support for Tivoli-based LDAP start TLS as seen in AIX.
7391         Untested.
7392         [8f8771829f85]
7393
7394         * env.c:
7395         Add sanity checks for setenv/unsetenv
7396         [adbd1d95856b]
7397
7398         * Makefile.in:
7399         Include bsm_audit.h in the tarball
7400         [4a4aa02b2c32]
7401
7402         * Makefile.in, version.h:
7403         bump version for sudo 1.7.1
7404         [362c71d21595]
7405
7406         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
7407         env.c, ldap.c, sudo.h:
7408         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
7409         provide our own setenv/unsetenv/putenv that operates on own env
7410         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
7411         [276edcd23032]
7412
7413 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7414
7415         * sudo.c:
7416         Make "sudoedit -h" work as expected
7417         [2bcbbb45d389]
7418
7419         * auth/pam.c:
7420         Make sure def_prompt is always defined. This is a workaround for
7421         pam configs that prompt for a password in the session but don't have
7422         an auth line. A better fix is to expand the sudo prompt earlier and
7423         set def_prompt to that when initializing.
7424         [ee073c04aec3]
7425
7426         * sudo.pod:
7427         Mention that the helper for -A may be graphical.
7428         [b64a940c4082]
7429
7430         * TROUBLESHOOTING:
7431         Document what happens if there is no tty.
7432         [313d58a856a5]
7433
7434         * sudo.c:
7435         cosmetic changes
7436         [894f5e3b0c3e]
7437
7438         * term.c:
7439         Fix term_restore
7440         [6c6315ff14bc]
7441
7442         * sudo.c:
7443         Fix "sudo -k" with no other args
7444         [59e94dc419c6]
7445
7446 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7447
7448         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
7449         Allow the -k flag to be specified in conjunction with a command or
7450         another option that may require authentication.
7451         [5960ff20355d]
7452
7453 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7454
7455         * configure, configure.in:
7456         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
7457         [e86ab69c4a57]
7458
7459         * Makefile.in:
7460         Parallel make fix. From Diego E. 'Flameeyes'
7461         [1289d7ee27db]
7462
7463 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7464
7465         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
7466         Implement umask_override
7467         [8b87a3f7c5aa]
7468
7469         * toke.c:
7470         regen
7471         [79d7ca9ac873]
7472
7473         * sudoers.pod, toke.l, visudo.c:
7474         Implement %h escape in sudoers include filenames.
7475         [a7f288dd64f0]
7476
7477         * audit.c:
7478         Need to include compat.h
7479         [c0dc07ce2f70]
7480
7481         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
7482         Make audit_success and audit_failure generic functions in
7483         preparation for integrating linux audit support.
7484         [7df020a8fd6f]
7485
7486         * term.c:
7487         remove duplicate include
7488         [1dfcd01a7e46]
7489
7490 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7491
7492         * bsm_audit.c:
7493         Add missing include
7494         [fb56e08c37ee]
7495
7496         * sudo.c:
7497         May need to update the runas user after parsing command-based
7498         defaults.
7499         [246f130d7802]
7500
7501 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7502
7503         * glob.c:
7504         Add missing pair of braces introduced with character class support.
7505         [0e2afa2e03e9]
7506
7507 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7508
7509         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
7510         Rename pwstars to pwfeedback
7511         [a9f85a57ebac]
7512
7513 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7514
7515         * bsm_audit.c, bsm_audit.h:
7516         Add const to make MacOS happy.
7517         [4274432d6627]
7518
7519         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
7520         configure.in, sudo.c:
7521         Add bsm audit support from Christian S.J. Peron
7522         [bef61cd8693d]
7523
7524         * term.c:
7525         This is new code, no DARPA notice.
7526         [ec6ad09b9c23]
7527
7528 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7529
7530         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
7531         Rename simple_glob -> fast_glob
7532         [68d9ed803cc1]
7533
7534         * match.c:
7535         g/c unused var
7536         [693fa0464eb6]
7537
7538         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
7539         Add simple_glob option to use fnmatch() instead of glob(). This is
7540         useful when you need to specify patterns that reference network file
7541         systems.
7542         [77ba634f6949]
7543
7544         * tgetpass.c:
7545         add term_* proto
7546         [520f5149d073]
7547
7548         * sudoers.pod:
7549         mention glob()
7550         [ddaab8e03c52]
7551
7552 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7553
7554         * tgetpass.c:
7555         Delete any pwstars we wrote after the user hits return. That way
7556         there is no record on screen as to the user's password length.
7557         [fae25cda762b]
7558
7559 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7560
7561         * term.c:
7562         Move terminal setting bits from tgetpass.c to term.c
7563         [03d43325ee99]
7564
7565         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
7566         tgetpass.c:
7567         Add pwstars sudoers option that causes sudo to print a star every
7568         time the user presses a key.
7569         [7aab417e184d]
7570
7571 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7572
7573         * Makefile.in:
7574         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
7575         [64f70e879816]
7576
7577 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7578
7579         * ldap.c:
7580         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
7581         indicate no limit. From Mark Janssen.
7582         [e2c5732d54f5]
7583
7584 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
7585
7586         * toke.c, toke.l:
7587         Comments that begin with #- should not be parsed as uids.
7588         [a72a50f12f41]
7589
7590 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7591
7592         * sudo.c:
7593         Do not try to set the close on exec flag if we didn't actually open
7594         sudoers.
7595         [ece3ca256904]
7596
7597 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7598
7599         * ChangeLog:
7600         regen
7601         [e11f0e4c1bdd] [SUDO_1_7_0]
7602
7603 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7604
7605         * TODO:
7606         sync
7607         [5b8954462bb3]
7608
7609 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7610
7611         * auth/pam.c:
7612         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
7613         password prompt.
7614         [8563601cb3de]
7615
7616         * configure, configure.in:
7617         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
7618         as it cannot generate shared objects.
7619         [6d4262ef9669]
7620
7621         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
7622         K&R compilation fixes
7623         [77921678d17c]
7624
7625         * parse.c:
7626         Use tq_foreach_fwd when checking pseudo-commands to make it clear
7627         that we are not short-circuiting on last match. When pwcheck is
7628         'all', initialize nopass to TRUE and override it with the first non-
7629         TRUE entry.
7630         [96b209f4778f]
7631
7632 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7633
7634         * parse.c:
7635         Do not short circuit pseudo commands when we get a match since,
7636         depending on the settings, we may need to examine all commands for
7637         tags.
7638         [fdbaf89d6f35]
7639
7640 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7641
7642         * sudoers.cat, sudoers.man.in:
7643         regen
7644         [1ecce7c1b841]
7645
7646         * sudoers.pod:
7647         hostnames may also contain wildcards
7648         [82b76695601c]
7649
7650         * Makefile.in:
7651         remove stamp-* files and linux core files in clean target
7652         [22003f091467]
7653
7654 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7655
7656         * auth/sudo_auth.h, config.h.in, configure, configure.in:
7657         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
7658         [6905bede8410]
7659
7660 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7661
7662         * configure, configure.in:
7663         correctly enable SIA on Digital UNIX
7664         [a51881d13995]
7665
7666         * TODO:
7667         checkpoint
7668         [af0fe8d94d42]
7669
7670         * ChangeLog:
7671         sync
7672         [831f623cf99c]
7673
7674 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7675
7676         * check.c, sudo.h, tgetpass.c:
7677         Even if neither stdin nor stdout are ttys we may still have /dev/tty
7678         available to us.
7679         [20f306ba883b]
7680
7681 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7682
7683         * sudoers.cat, sudoers.man.in:
7684         regen
7685         [76d97c4c318f]
7686
7687         * sudoers.pod:
7688         fix typos; Markus Lude
7689         [bff8bc1e2066]
7690
7691         * ChangeLog:
7692         sync
7693         [f108552531cd]
7694
7695         * toke.c:
7696         regen
7697         [de828413c67e]
7698
7699         * toke.l:
7700         Fix matching of a line that only consists of a comment char
7701         [09c953d8d5ca]
7702
7703 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
7704
7705         * auth/pam.c:
7706         MacOS pam will retry conversation function if it fails so just treat
7707         ^C as an empty password.
7708         [d056058930bc]
7709
7710         * visudo.c:
7711         When checking for alias use, also check defaults bindings.
7712         [2647f82c7dbd]
7713
7714         * redblack.c:
7715         unused var
7716         [b7ff71c17c18]
7717
7718         * redblack.c:
7719         Replace my rbdelete with Emin's version (which actually works ;-)
7720         [21b133dd0c72]
7721
7722 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7723
7724         * testsudoers.c:
7725         malloc debugging
7726         [0fb446fa3279]
7727
7728         * visudo.c:
7729         malloc options in devel mode for visudo too
7730         [98d06c6afeef]
7731
7732 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7733
7734         * sudo.c:
7735         fix compilation on non-C99; from Theo
7736         [7c304e16c536]
7737
7738         * visudo.c:
7739         fix check_aliases
7740         [83f30a3b1765]
7741
7742         * alias.c:
7743         when destroying an alias, free the correct data pointer
7744         [6e1a8bd86c01]
7745
7746         * auth/sudo_auth.h:
7747         add proto for aixauth_cleanup; from Dale King
7748         [eba94ffc8f63]
7749
7750 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7751
7752         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
7753         visudo.man.in:
7754         regen
7755         [409fa57fff83]
7756
7757         * sudo.pod, sudoers.pod, visudo.pod:
7758         standardize on the term 'option' for command line options (not flag)
7759         [228caefc2e36]
7760
7761 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7762
7763         * INSTALL:
7764         Add note on configuring HP-UX pam
7765         [f7674a581baf]
7766
7767 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7768
7769         * check.c, sudo.c:
7770         Move tty checks into check_user() so we only do them if we actually
7771         need a password.
7772         [7d997d7106d6]
7773
7774         * sudo.c:
7775         Don't error out if no tty or askpass unless we actually need to
7776         authenticate.
7777         [9f23b83ed66c]
7778
7779 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7780
7781         * ChangeLog:
7782         regen
7783         [23f9aef32da6]
7784
7785         * pathnames.h.in, sudo.c:
7786         s/overriden/overridden/; from Tobias Stoeckmann
7787         [9f7459a8fac5]
7788
7789 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7790
7791         * WHATSNEW, visudo.c:
7792         check sudoers owner and mode in strict mode
7793         [a3468c5ac1c4]
7794
7795         * gram.c, toke.c:
7796         regen
7797         [7d6b515a5443]
7798
7799         * sudo.man.in, sudoers.man.in, visudo.man.in:
7800         Update copyright years.
7801         [52d340cb8cba]
7802
7803         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
7804         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
7805         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
7806         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
7807         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
7808         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
7809         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
7810         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
7811         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
7812         visudo.pod, zero_bytes.c:
7813         Update copyright years.
7814         [b4e6bf2beafa]
7815
7816         * emul/charclass.h, fnmatch.c, glob.c:
7817         add my copyright
7818         [28681385014a]
7819
7820 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7821
7822         * toke.c, toke.l:
7823         The loop in fill_cmnd() was going one byte too far past the end,
7824         resulting in a NUL being written immediately after the buffer end.
7825         [a5a49d603cd7]
7826
7827         * UPGRADE, WHATSNEW:
7828         add sections on tgetpass changes
7829         [2e6929b6a102]
7830
7831         * tgetpass.c:
7832         Treat EOF w/o newline as an error.
7833         [aa02b1db9240]
7834
7835 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7836
7837         * parse.c:
7838         Fix "sudo -v" when NOPASSWD is set.
7839         [f4914711ea80]
7840
7841         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
7842         auth/sudo_auth.h:
7843         No longer treat an empty password at the prompt as special. To quit
7844         out of sudo you now need to hit ^C at the password prompt.
7845         [980f760ad419]
7846
7847         * sudoers.cat, sudoers.man.in:
7848         regen
7849         [6ca21a2cd869]
7850
7851         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
7852         Sudo will now refuse to run if no tty is present unless the new
7853         visiblepw sudoers flag is set.
7854         [0cc56943252e]
7855
7856 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7857
7858         * aix.c:
7859         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
7860         defined
7861         [24fc6f712d5c]
7862
7863         * aix.c:
7864         fix fallback value for RLIM_SAVED_MAX
7865         [e09e04e1af89]
7866
7867         * auth/aix_auth.c, auth/sudo_auth.h:
7868         Move clearing of AUTHSTATE into aixauth_cleanup.
7869         [e14ae7bd259c]
7870
7871         * auth/aix_auth.c, env.c:
7872         Unset AUTHSTATE after calling authenticate() as it may not be
7873         correct for the user we are running the command as.
7874         [d14f68f1b0ab]
7875
7876         * isblank.c:
7877         Add isblank() function for systems without it. Needed for POSIX
7878         character class matching in fnmatch.c and glob.c.
7879         [16cba30b283f]
7880
7881 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
7882
7883         * TROUBLESHOOTING:
7884         expound on sudo and cd
7885         [8e0fa9033637]
7886
7887 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7888
7889         * ChangeLog:
7890         regen
7891         [40cf320a10fc]
7892
7893         * sudoers.cat, sudoers.man.in:
7894         regen
7895         [7cac761ae2c6]
7896
7897         * sudoers.pod:
7898         mention defauts parse order
7899         [4e2ce86d1394]
7900
7901 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7902
7903         * Makefile.in, aclocal.m4, compat.h, configure:
7904         Add isblank() function for systems without it. Needed for POSIX
7905         character class matching in fnmatch.c and glob.c.
7906         [a1ab55da8424]
7907
7908         * Makefile.in:
7909         add emul/charclass.h to HDRS
7910         [7e8a019dcaa4]
7911
7912 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7913
7914         * TODO:
7915         checkpoint
7916         [afeb9bc1baed]
7917
7918         * defaults.c, parse.c, testsudoers.c, visudo.c:
7919         Move update_defaults into defaults.c and call it properly from
7920         visudo and testsudoers.
7921         [f4dbb369461f]
7922
7923         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
7924         tsgetgrpw.c:
7925         use zero_bytes() instead of memset() for consistency
7926         [4cee0465f4a8]
7927
7928         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
7929         visudo.c:
7930         Zero out sigaction_t before use in case it has non-standard entries.
7931         [120092225459]
7932
7933         * match.c:
7934         quiet gcc
7935         [098a1df49b23]
7936
7937         * match.c:
7938         Short circuit glob() checks if basename(pattern) !=
7939         basename(command). Refactor code that checks for a command in a
7940         directory and use it in the glob case if the resolved pattern ends
7941         in a '/'.
7942         [3c46fd317acb]
7943
7944 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7945
7946         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
7947         Defer setting runas defaults until after runaspw/gr is setup.
7948         [12e75ee49c0c]
7949
7950 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7951
7952         * match.c, sudo.c, testsudoers.c:
7953         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
7954         systems do not include space for the NUL in the size. Also manually
7955         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
7956         on this.
7957         [7266ab3296a3]
7958
7959 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7960
7961         * sudo.c, sudoers.pod:
7962         When setting the umask, use the union of the user's umask and the
7963         default value set in sudoers so that we never lower the user's umask
7964         when running a command.
7965         [4e804b004e38]
7966
7967         * sudo.c:
7968         Don't try to read from a zero-length sudoers file. Remove the bogus
7969         Solaris work-around for EAGAIN. Since we now use fgetc() it should
7970         not be a problem.
7971         [bb8e5f68d944]
7972
7973 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7974
7975         * parse.c:
7976         In update_defaults() check the return value of user*_matches against
7977         ALLOW so we don't inadvertantly match on UNSPEC.
7978         [4e422fa1527e]
7979
7980 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7981
7982         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
7983         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
7984         regen man pages; no more hyphenation
7985         [15de4fe2fe01]
7986
7987         * sudo.c:
7988         Don't error out on a zero-length sudoers file. With the advent of
7989         #include the user could create a situation where sudo is unusable.
7990         [6eb461319fa5]
7991
7992 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
7993
7994         * auth/kerb5.c, config.h.in, configure, configure.in:
7995         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
7996         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
7997         all. Add configure tests to handle all the cases.
7998         [4b554a98470d]
7999
8000 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8001
8002         * sudo.pod:
8003         resort ENVIRONMENT
8004         [f4f20f40653e]
8005
8006         * sudoers.pod:
8007         document sudoers_locale
8008         [0bffd2dbe806]
8009
8010         * sudo.pod, sudo_edit.c:
8011         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
8012         or EDITOR
8013         [0ef8cb248cee]
8014
8015         * toke.c, toke.l:
8016         In fill_cmnd(), collapse any escaped sudo-specific characters.
8017         Allows character classes to be used in pathnames.
8018         [5685244c8e44]
8019
8020 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8021
8022         * lbuf.c:
8023         fix typo in non-C89 function declaration
8024         [99a7113b3a05]
8025
8026         * sudoers.pod:
8027         Mention POSIX characters classes now that out fnmatch() and glob()
8028         support them.
8029         [9c916f1230c3]
8030
8031         * sample.sudoers, sudoers.pod:
8032         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
8033         locale agnostic.
8034         [a60a62bec244]
8035
8036         * parse.h:
8037         use __signed char if we are going to assign a negative value since
8038         on Power, char is unsigned by default
8039         [2877b319df17]
8040
8041         * config.h.in, configure, configure.in:
8042         Add tests for __signed char and signed char.
8043         [5eb874fdf1d4]
8044
8045         * aix.c:
8046         Fix AIX limit setting. getuserattr() returns values in disk blocks
8047         rather than bytes. The default hard stack size in newer AIX is
8048         RLIM_SAVED_MAX. From Dale King.
8049         [3db67415ecc3]
8050
8051 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8052
8053         * emul/charclass.h, fnmatch.c, glob.c:
8054         Add character class support to included glob(3) and fnmatch(3).
8055         [6b5b4ad77899]
8056
8057 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8058
8059         * emul/fnmatch.h:
8060         Remove UCB advertising clause and some compatibility defines.
8061         [2ade7bee74e1]
8062
8063 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8064
8065         * sudo_edit.c:
8066         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
8067         or sudo. This allows one to set EDITOR to sudoedit without getting
8068         into an infinite loop of sudoedit running itself until the path gets
8069         too big.
8070         [aa49ab68f82d]
8071
8072         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
8073         Add sudoers_locale Defaults option to override the default sudoers
8074         locale of "C".
8075         [0639886a35bf]
8076
8077 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8078
8079         * sudo.c:
8080         Set locale to system default except for during sudoers parse.
8081         [016dd2736728]
8082
8083 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8084
8085         * match.c:
8086         Redo change in 1.34 to use pointer arithmetic.
8087         [f9e7b63bb450]
8088
8089 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8090
8091         * match.c:
8092         Fix a dereference (read) of a freed pointer. Reported by Patrick
8093         Williams.
8094         [69877b633753]
8095
8096 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8097
8098         * sudo.c:
8099         Set locale to "C" to avoid interpretation issues with character
8100         ranges in sudoers. May want to make the locale a sudoers option in
8101         the future.
8102         [098a95de1746]
8103
8104 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8105
8106         * config.h.in:
8107         we no longer use setproctitle
8108         [c7f20fb747ea]
8109
8110         * sudo.h:
8111         remove #if 1
8112         [a368ee6816c6]
8113
8114         * LICENSE, mkstemp.c:
8115         Use my replacement mkstemp() from the mktemp package.
8116         [d07c2beb0f9e]
8117
8118 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8119
8120         * gram.c:
8121         regen with yacc skeleton bug fixed
8122         [24784571cbb8]
8123
8124         * sudoers.pod:
8125         Remove duplicate "as root". From Martin Toft.
8126         [97241acfee5e]
8127
8128 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8129
8130         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
8131         Flesh out the fake passwd entry used for running commands as a uid
8132         not listed in the passwd database. Fixes an issue with some PAM
8133         modules.
8134         [a6648227f3f2]
8135
8136 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8137
8138         * sudo.c:
8139         Error out in -i mode if the user has no shell. This can happen when
8140         running commands as a uid with no password entry.
8141         [0c174bef36ff]
8142
8143 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8144
8145         * toke.c, toke.l:
8146         Better fix for line continuation inside double quotes. Now accepts
8147         whitespace between the backslash and the newline like the main
8148         lexer.
8149         [64efcdf86d31]
8150
8151 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
8152
8153         * toke.c, toke.l:
8154         Fix line continuation in strings. It was only being honored if
8155         preceded by whitespace.
8156         [96c21271a3e4]
8157
8158 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8159
8160         * config.h.in, configure, configure.in, logging.c:
8161         Replace the double fork with a fork + daemonize.
8162         [328505441e67]
8163
8164 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8165
8166         * env.c, sudo.c:
8167         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
8168         [3caedfeaec87]
8169
8170         * logging.c, sudo.c, sudo_edit.c, visudo.c:
8171         Change how the mailer is waited for. Instead of having a SIGCHLD
8172         handler, use the double fork trick to orphan the child that opens
8173         the pipe to sendmail. Fixes a problem running su on some Linux
8174         distros.
8175         [b59ce60a393d]
8176
8177 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8178
8179         * configure, configure.in:
8180         Fix configure test for dirfd() on Linux where DIR is opaque.
8181         [b8f729cdfecc]
8182
8183 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8184
8185         * tgetpass.c:
8186         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
8187         this problem we'll need to revisit this again.
8188         [c17fee8ad530]
8189
8190 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8191
8192         * logging.c:
8193         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
8194         we only block the signal it may be delivered later when we unblock.
8195         Also, there is no need to block SIGCHLD since we no longer do the
8196         double fork. The normal SIGCHLD handler is sufficient.
8197         [e94a49e992e5]
8198
8199 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8200
8201         * configure, configure.in:
8202         Add description for NO_PAM_SESSION, from a redhat patch.
8203         [b9e4c939ec09]
8204
8205 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8206
8207         * sudo.cat, sudo.man.in, sudo.pod:
8208         Fix typos in -i usage
8209         [2d7ce5de0235]
8210
8211 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8212
8213         * configure, configure.in:
8214         Redo the test for dgettext() in a way that hopefully will work
8215         around the libintl_dgettext() undefined problem.
8216         [d27beb0cf85e]
8217
8218 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8219
8220         * schema.ActiveDirectory:
8221         change filename in comment
8222         [733da4ee9ac5]
8223
8224 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8225
8226         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
8227         sudoers.ldap.pod:
8228         Reference schema.ActiveDirectory
8229         [d6aec537800e]
8230
8231 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8232
8233         * schema.OpenLDAP, schema.iPlanet:
8234         Mark sudoRunAs as deprecated.
8235         [00c50df807af]
8236
8237         * schema.ActiveDirectory:
8238         add sudoRunAsUser and sudoRunAsGroup
8239         [19bcce6f72fb]
8240
8241         * schema.ActiveDirectory:
8242         Active Directory schema by Chantal Paradis and Eric Paquet
8243         [06a09c92c6a5]
8244
8245 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8246
8247         * parse.c:
8248         remove an XXX that was fixed
8249         [b88038062fa2]
8250
8251         * ChangeLog:
8252         sync
8253         [8fc27c17270e]
8254
8255         * parse.c:
8256         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
8257         fixes a problem where the tag value printed was influenced by
8258         defaults set in the first pass through the parser.
8259         [588ccd630367]
8260
8261 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8262
8263         * Makefile.in, sudo.psf:
8264         No point in packaging the TODO file
8265         [9590248fffe1]
8266
8267         * ChangeLog:
8268         sync
8269         [152acf4c6813]
8270
8271 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8272
8273         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
8274         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
8275         Add env_file Defaults option that is similar to /etc/environment on
8276         some systems.
8277         [1daf53d51e18]
8278
8279 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8280
8281         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
8282         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
8283         version.h, visudo.cat, visudo.man.in:
8284         change version to 1.7.0
8285         [d41d126b9bd8]
8286
8287         * UPGRADE:
8288         initial valgrind pass done
8289         [c59c3876d8ca]
8290
8291 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8292
8293         * ldap.c:
8294         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
8295         [830d246c09b0]
8296
8297 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8298
8299         * ldap.c:
8300         define LDAPS_PORT if the system headers do not
8301         [247b12325701]
8302
8303 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8304
8305         * gram.c, gram.y:
8306         Fix another memory leak in init_parser().
8307         [7bba47deba11]
8308
8309         * configure, configure.in:
8310         There was a missing space before the ldap libs in SUDO_LIBS for some
8311         configurations.
8312         [7524cfc93759]
8313
8314         * alias.c, gram.c, gram.y, toke.c, toke.l:
8315         Clean up some memory leaks pointed out by valgrind.
8316         [a965866ece1a]
8317
8318 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8319
8320         * sudo.c:
8321         fix "sudo -s" broken by mode/flags breakout
8322         [acffe984d408]
8323
8324         * configure, configure.in:
8325         remove duplicate check for dgettext
8326         [58145529133c]
8327
8328 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8329
8330         * aix.c:
8331         Fall back to default stanza if no user-specific limit is found.
8332         [7b8cb29123ee]
8333
8334 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8335
8336         * snprintf.c:
8337         include stdint.h if present
8338         [f0ec38529306]
8339
8340         * snprintf.c:
8341         Use LLONG_MAX, not the old QUAD_MAX
8342         [01041ce508fb]
8343
8344 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8345
8346         * sudoers.ldap.pod:
8347         fix cut and pasto
8348         [34240fdef5ab]
8349
8350 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8351
8352         * pwutil.c:
8353         Add #ifdef PURITY
8354         [ce1b571ad526]
8355
8356 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8357
8358         * auth/bsdauth.c:
8359         remove useless cast
8360         [494f8a862e1d]
8361
8362 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8363
8364         * ChangeLog:
8365         sync
8366         [f5c97ffaabcc]
8367
8368         * TODO:
8369         sync
8370         [96ff1c44c182]
8371
8372         * sudo.h:
8373         Split MODE_* defines into primary and flags.
8374         [c02ee3027cb9]
8375
8376 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8377
8378         * aix.c:
8379         It turns out the logic for getting AIX limits is more convoluted
8380         than I realized and differs depending on whether the soft and/or
8381         hard limits are defined.
8382         [cf8d3f85d395]
8383
8384 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8385
8386         * Makefile.in, configure, configure.in:
8387         Back out AIX-specific change to set the sudo_noexec path to the .a
8388         file, we do really want to use the .so file. Since libtool doesn't
8389         do that correctly, just install the .so file ourselves in the
8390         Makefile.
8391         [05c6f33177d9]
8392
8393         * install-sh:
8394         If the file given to install is a path, only use the basename of the
8395         file when building the destination path.
8396         [695ba4e429ce]
8397
8398 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8399
8400         * sudo.c:
8401         parse_args() cleanup: Sort command line options in the getopt()
8402         switch The -U option requires a parameter Normalize a few ISSET
8403         calls Split mode into mode and flags and retire the now-obsolete
8404         excl variable
8405         [0d156835f861]
8406
8407         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
8408         sudo_usage.h.in:
8409         Add -n (non-interactive) flag.
8410         [e3e50400d32d]
8411
8412         * sudo.c:
8413         Move version printing, etc. into a separate function.
8414         [18c91b476e2c]
8415
8416         * sudo.c:
8417         Don't try to cleanup nsswitch if it has not been initialized.
8418         [aeb1ca1b399d]
8419
8420 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8421
8422         * logging.c:
8423         Block SIGPIPE in send_mail() so sudo is not killed by a problem
8424         executing the mailer.
8425         [f130e7924cca]
8426
8427 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8428
8429         * configure, configure.in:
8430         AIX shared libs end in .a, not .so.
8431         [a5deb07020d8]
8432
8433 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8434
8435         * env.c:
8436         Preserve HOME by default too. Matches documentation and previous
8437         behavior.
8438         [c16f17f1047c]
8439
8440 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8441
8442         * sudo.c:
8443         Use getopt() to parse the command line. We need to be able to
8444         intersperse env variables and options yet still honor "--"" which
8445         complicates things slightly.
8446         [60f271ce5c16]
8447
8448 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8449
8450         * ChangeLog:
8451         sync
8452         [685e67964eda]
8453
8454         * acsite.m4, configure, ltmain.sh:
8455         update to libtool-1.5.26
8456         [4c9a8c3d3b40]
8457
8458         * config.guess, config.sub:
8459         update from libtool-1.5.26 distribution
8460         [c6641aef2527]
8461
8462         * aix.c, sudo.h:
8463         attempt to fix compilation errors on AIX
8464         [edb13e5b2184]
8465
8466         * Makefile.in:
8467         fix typo in last commit
8468         [25ba7f7ceae4]
8469
8470         * Makefile.in:
8471         Add WHATSNEW file to the distribution
8472         [213f4115de8f]
8473
8474         * visudo.c:
8475         use warningx instead of fprintf(stderr, ...)
8476         [a3494b8ccb19]
8477
8478         * list.c:
8479         add DEBUG to list2tq
8480         [115d24a3000c]
8481
8482         * ChangeLog, TODO:
8483         sync
8484         [60e6f4d1fac0]
8485
8486         * WHATSNEW:
8487         mention mailfrom
8488         [e2498f9e18d6]
8489
8490         * Makefile.in, aix.c, config.h.in, configure, configure.in,
8491         set_perms.c, sudo.h:
8492         Add aix_setlimits() to set resource limits on AIX using a
8493         combination of getuserattr() and setrlimit(). Currently untested.
8494         [9b1441fd89ca]
8495
8496 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8497
8498         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
8499         sudoers.man.in, sudoers.pod:
8500         Add mailfrom Defaults option that sets the value of the From: field
8501         in the warning/error mail. If unset the login name of the invoking
8502         user is used.
8503         [029b9f05d3d9]
8504
8505         * defaults.c:
8506         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
8507         [a90e407d5e00]
8508
8509         * gram.c, gram.y:
8510         When adding a default, only call list2tq() once to do the list to tq
8511         conversion. It is not legal to call list2tq multiple times on the
8512         same list since list2tq consumes and modifies the list argument.
8513         [fbc25d245c4a]
8514
8515         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
8516         comment out XXXs for now
8517         [595a1d43309d]
8518
8519         * WHATSNEW:
8520         mention askpass
8521         [b993e0837c22]
8522
8523 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8524
8525         * sudo.c:
8526         Error out if both -A and -S are specified Error out if -A is
8527         specified but no askpass is configured
8528         [24f1df2638f6]
8529
8530         * configure, configure.in:
8531         we are not going to ship a sudo-specific askpass
8532         [61949e7a3943]
8533
8534 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8535
8536         * sudo.h:
8537         fix definition of TGP_ASKPASS
8538         [0447c57ba4c3]
8539
8540         * def_data.c, def_data.in:
8541         make askpass boolean-capable
8542         [e0885893a325]
8543
8544         * INSTALL:
8545         document --with-askpass
8546         [c76e15ba97cf]
8547
8548         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8549         sudoers.man.in, visudo.cat:
8550         regen
8551         [8d16242980b7]
8552
8553 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8554
8555         * sudo.pod, sudo_usage.h.in, sudoers.pod:
8556         document -A and askpass
8557         [02c07505a78c]
8558
8559         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
8560         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
8561         sudo_usage.h.in, tgetpass.c:
8562         Add support for running a helper program to read the password when
8563         no tty is present (or when specified with the -A flag). TODO: docs.
8564         [05780f5f71fd]
8565
8566         * def_data.c, def_data.in:
8567         add missing printf format to SELinux role and type strings
8568         [2b32774715e7]
8569
8570 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8571
8572         * INSTALL, configure, configure.in:
8573         Disable use of gss_krb5_ccache_name() by default and add
8574         --enable-gss-krb5-ccache-name configure option to enable it. It
8575         seems that gss_krb5_ccache_name() doesn't work properly with some
8576         combinations of Heimdal and OpenLDAP.
8577         [f61ebd3b19bd]
8578
8579 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8580
8581         * selinux.c:
8582         Ignore setexeccon() failing in permissive mode. Also add a call to
8583         setkeycreatecon() (though this is probably insufficient). From Dan
8584         Walsh.
8585         [52564fc1c069]
8586
8587         * auth/pam.c:
8588         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
8589         function may be called for non-password reading purposes so we must
8590         be careful not to use def_prompt in cases where it may not be set.
8591         [29d88ca575ba]
8592
8593 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8594
8595         * selinux.c:
8596         Don't free the new tty context, we need to keep it around when we
8597         restore the tty context after the command completes
8598         [5b4bd39b6ea8]
8599
8600 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8601
8602         * selinux.c:
8603         s/newrole/sudo/
8604         [21b8a96ff8df]
8605
8606         * sudo.man.pl, sudo.pod:
8607         Only put login_cap(3) in SEE ALSO section if we have login.conf
8608         support
8609         [05250ddff2c0]
8610
8611 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8612
8613         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8614         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8615         regen
8616         [301e5c5ccdbe]
8617
8618         * sudoers.pod:
8619         Substitute in comment characters for lines partaining to login.conf,
8620         BSD auth and SELinux and only enable them if pertinent.
8621         [c1c98fa163ce]
8622
8623         * sudoers.man.pl:
8624         Substitute in comment characters for lines partaining to login.conf,
8625         BSD auth and SELinux and only enable them if pertinent.
8626         [6c88f30b878a]
8627
8628         * sudo.pod:
8629         Substitute in comment characters for lines partaining to login.conf,
8630         BSD auth and SELinux and only enable them if pertinent.
8631         [acdbdfd24e1d]
8632
8633         * sudo.man.pl:
8634         Substitute in comment characters for lines partaining to login.conf,
8635         BSD auth and SELinux and only enable them if pertinent.
8636         [0c56d4750ac3]
8637
8638         * Makefile.in, configure, configure.in:
8639         Substitute in comment characters for lines partaining to login.conf,
8640         BSD auth and SELinux and only enable them if pertinent.
8641         [9a02bd6a6658]
8642
8643         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
8644         Remove the =cut on the first line (above the copyright notice) to
8645         quiet pod2man. Also remove the hackery in the FILES section and
8646         just deal with the fact that there will a newline between each
8647         pathname.
8648         [2ac1ab191835]
8649
8650 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8651
8652         * Makefile.in:
8653         run sudo.man.pl when generating sudo.man.in
8654         [859727369168]
8655
8656         * configure, configure.in, sudo.man.pl:
8657         comment out SELinux manual bits unless --with-selinux was specified
8658         [97ff4212b649]
8659
8660         * sudoers.pod:
8661         document role and type defaults for SELinux
8662         [870f303366b3]
8663
8664         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
8665         Document "sudo -ll" and make "sudo -l -l" be equivalent.
8666         [3ce6dc429ea3]
8667
8668 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8669
8670         * configure, configure.in:
8671         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
8672         Debian GNU/kFreeBSD.
8673         [c4efa567a328]
8674
8675 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8676
8677         * auth/kerb5.c:
8678         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
8679         verify_krb_v5_tgt()
8680         [f80538e5a6fa]
8681
8682         * logging.c, logging.h, sudo.c:
8683         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
8684         log_auth() into log_allowed() and log_denial() Replace mail_auth()
8685         with should_mail() and a call to send_mail()
8686         [58aac9997557]
8687
8688 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8689
8690         * ldap.c:
8691         Add debugging so we can tell if the krb5 ccache is accessible
8692         [c679322527bb]
8693
8694         * INSTALL:
8695         mention --with-selinux
8696         [9efbe0b52194]
8697
8698 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8699
8700         * configure:
8701         regen
8702         [467a834f867c]
8703
8704         * selinux.c:
8705         add Sudo tag
8706         [d004ee669bed]
8707
8708         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
8709         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
8710         testsudoers.c, toke.c, toke.l:
8711         Add support for SELinux RBAC. Sudoers entries may specify a role
8712         and type. There are also role and type defaults that may be used.
8713         To make sure a transition occurs, when using RBAC commands are
8714         executed via the new sesh binary. Based on initial changes from Dan
8715         Walsh.
8716         [1d4abfe2c004]
8717
8718         * sesh.c:
8719         Add support for SELinux RBAC. Sudoers entries may specify a role
8720         and type. There are also role and type defaults that may be used.
8721         To make sure a transition occurs, when using RBAC commands are
8722         executed via the new sesh binary. Based on initial changes from Dan
8723         Walsh.
8724         [1e3b395ce049]
8725
8726         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
8727         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
8728         pathnames.h.in, selinux.c:
8729         Add support for SELinux RBAC. Sudoers entries may specify a role
8730         and type. There are also role and type defaults that may be used.
8731         To make sure a transition occurs, when using RBAC commands are
8732         executed via the new sesh binary. Based on initial changes from Dan
8733         Walsh.
8734         [6b421948286e]
8735
8736 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8737
8738         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
8739         Add long list (sudo -ll) support for printing verbose LDAP and
8740         sudoers file entries. Still need to update manual.
8741         [2875be37935c]
8742
8743 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8744
8745         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
8746         Unify the -l output for file and ldap based sudoers and use lbufs
8747         for both. The ldap output does not currently include options that
8748         cannot be represented as tags. This will be remedied in a long list
8749         output mode to come.
8750         [b2e429456596]
8751
8752 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8753
8754         * set_perms.c:
8755         Use a specific error message for errno == EAGAIN when setuid() et al
8756         fails. On Linux systems setuid() will fail with errno set to EAGAIN
8757         if changing to the new uid would result in a resource limit
8758         violation.
8759         [08d0aecd9f03]
8760
8761         * sudo.c:
8762         Unlimit nproc on Linux systems where calling the setuid() family of
8763         syscalls causes the nroc resource limit to be checked. The limits
8764         will be reset by pam_limits.so when PAM is used. In the non-PAM
8765         case the nproc limit will remain unlimited but there doesn't seem to
8766         be a way around that other than having sudo parse
8767         /etc/security/limits.conf directly.
8768         [df024b415a8d]
8769
8770         * env.c, sudo.c, sudo.pod:
8771         Only read /etc/environment on Linux and AIX
8772         [90669e2aefdb]
8773
8774 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8775
8776         * configure, configure.in:
8777         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
8778         ldap.conf and ldap.secret paths from going into config.h. Avoid
8779         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
8780         since in some versions of bash they will end up literally in the
8781         resulting define.
8782         [25390f3ef10a]
8783
8784 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8785
8786         * README.LDAP:
8787         mention --with-nsswitch=no
8788         [c509df927263]
8789
8790         * configure, configure.in:
8791         ldap_ssl.h depends on ldap.h being included first
8792         [d96d90e9b21f]
8793
8794         * config.h.in, configure, configure.in, ldap.c:
8795         Include ldap_ssl.h if we can find it. Needed for the
8796         ldapssl_set_strength defines on HP-UX at least.
8797         [9e530470948a]
8798
8799         * sudoers.ldap.pod:
8800         sync
8801         [b9d101f4673a]
8802
8803         * TODO:
8804         sync
8805         [2ce951b2ecd0]
8806
8807         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
8808         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
8809         regen
8810         [b61d793987e0]
8811
8812         * Makefile.in:
8813         Use 78n line length when formatting cat pages.
8814         [761bee9d5759]
8815
8816         * README.LDAP:
8817         Remove redundant info that is now in sudoers.ldap.pod
8818         [01828dcce59e]
8819
8820 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8821
8822         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
8823         Reorganize the first section a bit. Substitute the proper path for
8824         /etc/sudoers.
8825         [11ae165e065d]
8826
8827         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
8828         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
8829         schema into EXAMPLES
8830         [ab6509d1dde7]
8831
8832         * configure, configure.in:
8833         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
8834         sudoers.ldap.man.
8835         [6e689972f465]
8836
8837         * configure, configure.in:
8838         substitute for sudoers.ldap.man
8839         [5a4a25766dee]
8840
8841         * Makefile.in:
8842         Fix cut & pasto introduced when adding sudoers.ldap man page.
8843         [a7b069af8894]
8844
8845         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
8846         Fill in some of the missing pieces. Still needs some reorganization
8847         and editing.
8848         [5e7331722166]
8849
8850 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8851
8852         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
8853         sudoers.ldap.pod:
8854         Beginnings of a sudoers.ldap man page. Currently, much of the
8855         information is adapted from README.LDAP.
8856         [aad28c8a922d]
8857
8858 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8859
8860         * pwutil.c:
8861         When copying gr_mem we must guarantee that the storage space for
8862         gr_mem is properly aligned. The simplest way to do this is to
8863         simply store gr_mem directly after struct group. This is not a
8864         problem for gr_passwd or gr_name as they are simple strings.
8865         [af58fc76f1ed]
8866
8867         * ldap.c:
8868         Fix a typo/thinko in one of the calls to
8869         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
8870         [70b2eb8097f5]
8871
8872 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8873
8874         * config.h.in, configure, configure.in, ldap.c:
8875         include <mps/ldap_ssl.h> in ldap.c if available
8876         [34346206ef16]
8877
8878 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8879
8880         * gram.c, gram.y:
8881         Make sure we define SIZE_MAX for yacc's skeleton.c
8882         [d8a45c7a3c42]
8883
8884         * tgetpass.c:
8885         Use TCSAFLUSH when restoring terminal settings (and echo) to
8886         guarantee that any pending output is discarded
8887         [549a184479e5]
8888
8889 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8890
8891         * sudoers:
8892         no longer need to specify SETENV when user has sudo ALL
8893         [3051b41f8032]
8894
8895         * testsudoers.c:
8896         sync user_args size calculation with sudo.c Add -g group option,
8897         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
8898         them
8899         [0850325180f0]
8900
8901         * sudo.c, sudo.h:
8902         Make set_runaspw static void
8903         [5d44d7a340ce]
8904
8905         * testsudoers.c, visudo.c:
8906         g/c set_runaspw stub
8907         [79ebb5e2cc38]
8908
8909         * configure, configure.in:
8910         Don't add -llber twice.
8911         [4356d302eef4]
8912
8913 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8914
8915         * ldap.c:
8916         fix typo
8917         [249cecc557e9]
8918
8919 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8920
8921         * gram.c:
8922         regen
8923         [2f94ea375b67]
8924
8925         * configure, configure.in:
8926         Fix check that determines whether -llber is required.
8927         [6afa99523379]
8928
8929         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
8930         For netscape-based LDAP, use ldapssl_set_strength() to implement the
8931         checkpeer ldap.conf option.
8932         [16ae24d73795]
8933
8934         * auth/kerb5.c:
8935         Delay krb5_cc_initialize() until we actually need to use the cred
8936         cache, which is what krb5_verify_user() does. Better cleanup on
8937         failure.
8938         [d12e5f1695b8]
8939
8940 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8941
8942         * auth/kerb5.c:
8943         Rewrite verify_krb_v5_tgt() based on what heimdal's
8944         krb5_verify_user() does.
8945         [05b5815f86c9]
8946
8947 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8948
8949         * gram.c:
8950         The U suffix on constants is an ANSI feature
8951         [c6dfce3167f1]
8952
8953         * configure, configure.in:
8954         Add check for ber_set_option() in -llber
8955         [43d0c0566074]
8956
8957 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8958
8959         * README.LDAP:
8960         default if no nsswitch.conf is files only
8961         [c13001d9c998]
8962
8963 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8964
8965         * README.LDAP:
8966         don't tell people to mail aaron about LDAP stuff
8967         [8165ec1ef0c6]
8968
8969         * README.LDAP:
8970         timelimit and bind_timelimit
8971         [44f74cbed167]
8972
8973         * ChangeLog:
8974         sync
8975         [aba1a0ab02bd]
8976
8977         * ldap.c:
8978         Move ldap.secret reading into a separate function.
8979         [1948acc9f7a4]
8980
8981         * check.c:
8982         user_runas -> runas_pw
8983         [334490fc2bae]
8984
8985 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8986
8987         * TODO:
8988         sync
8989         [c7b165cc47c6]
8990
8991         * check.c, sudo.pod, sudoers.pod:
8992         Add and document the %p escape in the password prompt. Based on a
8993         patch from Patrick Schoenfeld.
8994         [3972d4f31ffa]
8995
8996         * ldap.c:
8997         Check strlcpy() return values.
8998         [9b42f3ae8ff1]
8999
9000         * ldap.c:
9001         refactor ldap binding code into sudo_ldap_bind_s()
9002         [cb0c66a4d955]
9003
9004         * README.LDAP:
9005         Make it clear that host and uri can take multiple parameters. URI is
9006         now supported for more than just openldap nsswitch.conf does't
9007         accept "compat"
9008         [f610dea656d6]
9009
9010         * sudo.c:
9011         comment cleanup and update (c) year
9012         [6cd69c810ca5]
9013
9014         * parse.c, sudo_nss.c:
9015         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
9016         This should make it possible to build an LDAP-only sudo binary.
9017         [61c3f27066a0]
9018
9019         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
9020         Improve chaining of multiple sudoers sources by passing in the
9021         previous return value to the next in the chain
9022         [2c0b722b1b2d]
9023
9024         * gram.y:
9025         Free up parser data structures in sudo_file_close().
9026         [2251531d4519]
9027
9028         * gram.c, parse.c:
9029         Free up parser data structures in sudo_file_close().
9030         [8371f130f401]
9031
9032         * ldap.c:
9033         Parse uri ourself if no ldap_initialize() is present Use
9034         ldap_create() instead of deprecated ldap_init() Use
9035         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
9036         [85d3825b1953]
9037
9038         * config.h.in, configure, configure.in:
9039         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
9040         CFLAGS
9041         [240524512bc5]
9042
9043 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9044
9045         * config.h.in, configure, configure.in:
9046         add check for ldap_create
9047         [3089badd73b8]
9048
9049 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9050
9051         * config.h.in, configure, configure.in, ldap.c:
9052         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
9053         dn using the mechanism appropriate for the LDAP SDK in use. Use
9054         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
9055         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
9056         [6deeca3d00cc]
9057
9058         * lbuf.c:
9059         include unistd.h
9060         [8419ed0bae7f]
9061
9062         * config.h.in, configure.in:
9063         fix typo in mtim_getnsec
9064         [2d5f21230a60]
9065
9066 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9067
9068         * config.h.in, configure, configure.in:
9069         add check for st__tim in struct stat as used by SCO
9070         [587060ea2a89]
9071
9072         * ldap.c:
9073         use ldap_search_ext_s instead of deprecated ldap_search_s
9074         [5fc44fe3b44c]
9075
9076         * Makefile.in, TODO, sudo.cat, sudo.man.in:
9077         add sudo_nss.h to HDRS
9078         [86f01a70ff29]
9079
9080         * ldap.c:
9081         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
9082         ldap_rdn2str().
9083         [aa217002cfae]
9084
9085 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9086
9087         * ldap.c:
9088         Use ldap_get_values_len()/ldap_value_free_len() instead of the
9089         deprecated ldap_get_values()/ldap_value_free().
9090         [e22dceb85e57]
9091
9092         * ChangeLog:
9093         sync
9094         [adad27b36107]
9095
9096         * TODO:
9097         sync
9098         [c449eb47e0ef]
9099
9100         * gettime.c, sudo.c:
9101         Remove some already fixed XXXs
9102         [532788d0e6da]
9103
9104         * ldap.c:
9105         Same return value as non-existent sudoers if LDAP was unable to
9106         connect.
9107         [5819810e8e4e]
9108
9109         * sudo.pod:
9110         mention /etc/environment
9111         [ea8e6102f853]
9112
9113         * README.LDAP, UPGRADE, WHATSNEW:
9114         Update to reflect recent developments.
9115         [ed1fb026fe77]
9116
9117         * sudo.c:
9118         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
9119         [55b68a58260d]
9120
9121         * ldap.c:
9122         When building up a query don't list groups in the aux group vector
9123         that are the same as the passwd file group. On most systems the
9124         first gid in the group vector is the same as the passwd entry gid.
9125         [4bb51e297e0d]
9126
9127         * env.c, ldap.c:
9128         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
9129         ldaprc and system defaults that could affect how LDAP works.
9130         [ce5036440db2]
9131
9132         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
9133         sudo_nss.c, sudo_nss.h:
9134         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
9135         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
9136         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
9137         file and --with-ldap-secret-file
9138         [ea5d7704381f]
9139
9140         * parse.c:
9141         Honor def_ignore_local_sudoers
9142         [f38e1121fae1]
9143
9144 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9145
9146         * ldap.c:
9147         no longer need to check def_ignore_local_sudoers here
9148         [fce2a72f96fb]
9149
9150         * parse.c:
9151         Refactor group vector resetting into a function and also call it
9152         from display_cmnd. Stop after the first sucessful match in
9153         display_cmnd. Print a newline between each display_privs method.
9154         [981b37b5adff]
9155
9156         * parse.c:
9157         fix double free introduced in rev 1.218
9158         [c574b02d8747]
9159
9160         * ldap.c:
9161         belt and suspenders; zero out result after freeing it
9162         [7732988d4620]
9163
9164         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
9165         Refactor line reading into a separate function, sudo_parseln(),
9166         which removes comments, leading/trailing whitespace and newlines.
9167         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
9168         [61d9068f0645]
9169
9170         * parse.c, sudo.c:
9171         Make the inability to read the sudoers file a non-fatal error if
9172         there are other sudoers sources available. sudoers_file_lookup now
9173         returns "not OK" if sudoers was not present
9174         [643babf597a8]
9175
9176         * ldap.c:
9177         make it clear that the global options are from LDAP
9178         [9ff950349463]
9179
9180         * logging.c:
9181         allocate proper amount of space for error string
9182         [8bebb7d46d19]
9183
9184         * sudo_nss.c, sudo_nss.h:
9185         actual sudo nss code
9186         [5bd7d52d7738]
9187
9188         * ldap.c, parse.c, sudo.c, sudo.h:
9189         nss-ify display_privs and display_cmnd.
9190         [cccfdd3253f2]
9191
9192         * defaults.c, parse.c, testsudoers.c, visudo.c:
9193         move update_defaults() to parse.c
9194         [ace144b958a9]
9195
9196         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
9197         Use nsswitch to hide some sudoers vs. ldap implementation details
9198         and reduce the number of #ifdef LDAP TODO: fix display routines and
9199         error handling
9200         [6225edde89a6]
9201
9202 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9203
9204         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
9205         First cut at nsswitch.conf support. Further reorganizaton and
9206         related changes are forthcoming.
9207         [717f59d0790b]
9208
9209 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9210
9211         * env.c, pathnames.h.in, sudo.c, sudo.h:
9212         Add support for reading and /etc/environment file. Still needs to
9213         be documented and should probably only applies to OSes that have it
9214         (AIX and Linux, maybe others).
9215         [15d3edae27e4]
9216
9217         * ldap.c:
9218         include limits.h
9219         [e19875ef0f82]
9220
9221 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9222
9223         * WHATSNEW:
9224         reword LDAP SASL
9225         [7ec3c4ec31b5]
9226
9227 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9228
9229         * TODO:
9230         sync
9231         [87c5a7aea7bf]
9232
9233         * README.LDAP:
9234         Add an example sudoRole, clarify netscape vs. openldap a bit more
9235         [6f96c0ca8107]
9236
9237         * README.LDAP:
9238         Be clear on what is OpenLDAP vs. Netscape-derived
9239         [a33c8314dec5]
9240
9241         * config.h.in, configure, configure.in, ldap.c:
9242         Use ldapssl_init() for ldaps support instead of trying to do it
9243         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
9244         and tls_key for cert7.db and key3.db respectively. Don't print
9245         debugging info for options that are not set. Add warning if
9246         start_tls specified when not supported.
9247         [abb62dc7e4a3]
9248
9249         * ldap.c:
9250         fix compilation on solaris
9251         [03d449684e80]
9252
9253         * Makefile.in:
9254         add missing .h and .c files for missing lib objs
9255         [8b37825bdfc7]
9256
9257 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9258
9259         * ldap.c:
9260         fix LDAP_OPT_NETWORK_TIMEOUT setting
9261         [226eba89c0ad]
9262
9263         * ldap.c:
9264         fix compilation on Solaris
9265         [917d47639eb6]
9266
9267 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9268
9269         * configure, configure.in:
9270         fix typo
9271         [009d5c81b225]
9272
9273         * README.LDAP:
9274         try to clear up which variables are for OpenLDAP and which are for
9275         netscape-derived SDKs
9276         [f8d9823ee73c]
9277
9278         * config.h.in, configure, configure.in, ldap.c:
9279         Add support for "ssl on" in both netscape and openldap flavors. Only
9280         the OpenLDAP flavor has been tested.
9281         [952745829ec5]
9282
9283         * logging.c, sudo.c, sudo.h:
9284         Call cleanup() before exit in log_error() instead of calling
9285         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
9286         [da02d1b67a2c]
9287
9288         * sudo.c:
9289         ld -> ldap_conn
9290         [01afa6d927cc]
9291
9292 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9293
9294         * logging.c, sudo.c, sudo.h:
9295         Better ldap cleanup.
9296         [25b9abe2d617]
9297
9298         * ldap.c:
9299         Distinguish between LDAP conf settings that are connection-specific
9300         (which take an ld pointer) and those that are default settings
9301         (which do not).
9302         [d48dc6c9c3b4]
9303
9304 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9305
9306         * ldap.c:
9307         Improved warnings on error.
9308         [c8dce7b4feb4]
9309
9310         * ldap.c:
9311         Make ldap config table driven and set the config *after* we open the
9312         connection.
9313         [d9698b5a2681]
9314
9315 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9316
9317         * ldap.c:
9318         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
9319         [598c6df06660]
9320
9321         * configure, configure.in:
9322         some operating systems need to link with -lkrb5support when using
9323         krb5
9324         [8896365dde9e]
9325
9326 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9327
9328         * WHATSNEW:
9329         minor update
9330         [acfeeb7f4886]
9331
9332         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
9333         regen
9334         [a3c6699674f9]
9335
9336 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9337
9338         * ChangeLog, TODO:
9339         sync
9340         [138e99b925ee]
9341
9342         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
9343         add -g support for LDAP
9344         [8fc27dbe9287]
9345
9346 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9347
9348         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
9349         The -i and -s flags can now take an optional command.
9350         [6afec104ee77]
9351
9352 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9353
9354         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
9355         sudoers.pod:
9356         Add passprompt_override flag to sudoers that will cause the prompt
9357         to be overridden in all cases. This flag is also set when the user
9358         specifies the -p flag.
9359         [e4c5402131a6]
9360
9361         * sudo.c:
9362         Move setting of login class until after sudoers has been parsed. Set
9363         NewArgv[0] for -i after runas_pw has been set.
9364         [62a48c8c56fa]
9365
9366         * configure, configure.in:
9367         Move the dgettext check.
9368         [5fd8a4712d1c]
9369
9370 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9371
9372         * auth/pam.c, config.h.in, configure, configure.in:
9373         Add basic support for looking up the string "Password: " in the PAM
9374         localized text db. This allows us to determine whether the PAM
9375         prompt is the default "Password: " one even if it has been
9376         localized.
9377
9378         TODO: concatenate non-std PAM prompts and user-specified sudo
9379         prompts.
9380         [81c25a415d41]
9381
9382 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9383
9384         * Makefile.in, config.h.in, configure, configure.in, parse.c,
9385         set_perms.c, sudo.c, sudo.h:
9386         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
9387         insufficient.
9388         [1cce6ec1a91e]
9389
9390         * acsite.m4, configure, interfaces.c, memrchr.c:
9391         Fix typos; Martynas Venckus
9392         [be1233cca11a]
9393
9394 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9395
9396         * set_perms.c:
9397         Don't assume runas_pw is set; it may not be in the -g case.
9398         [aa11bd2193ac]
9399
9400 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9401
9402         * logging.c, set_perms.c:
9403         Set aux group vector for PERM_RUNAS and restore group vector for
9404         PERM_ROOT if we previously changed it. Stash the runas group vector
9405         so we don't have to call initgroups more than once. Also add no-op
9406         check to check_perms.
9407         [53837fc755f7]
9408
9409 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9410
9411         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
9412         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
9413         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
9414         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
9415         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
9416         Add support for runas groups. This allows the user to run a command
9417         with a different effective group. If the -g option is specified
9418         without -u the command will be run as the current user (only the
9419         group will change). the -g and -u options may be used together.
9420         TODO: implement runas group for ldap improve runas group
9421         documentation add testsudoers support
9422         [9019309df6d0]
9423
9424         * configure, configure.in:
9425         fix setting of mandir
9426         [2c60f269399f]
9427
9428         * sudo.pod, sudoers.pod:
9429         document that ALL implies SETENV
9430         [bcc8e5b703b9]
9431
9432         * ldap.c:
9433         s/setenv_ok/setenv_implied/g
9434         [f005df2c2eea]
9435
9436         * ldap.c:
9437         hostname_matches() returns TRUE on match in sudo 1.7.
9438         [c3d4377b6e8b]
9439
9440         * ldap.c:
9441         use strcmp, not strcasecmp when comparing ALL
9442         [e486024574a1]
9443
9444         * ldap.c:
9445         Make sudo ALL imply setenv. Note that unlike with file-based
9446         sudoers this does affect all the commands in the sudoRole.
9447         [bc12f54321d1]
9448
9449         * gram.c, gram.y, parse.c, parse.h:
9450         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
9451         it is not passed on to other commands in the list.
9452         [026e2cb40680]
9453
9454         * visudo.c:
9455         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
9456         sudo_getpwuid() instead of getpwuid().
9457         [86f30a8fbd49]
9458
9459 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9460
9461         * sudoers:
9462         Expand on the dangers of not using visudo to edit sudoers.
9463         [e434e8057d02]
9464
9465 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9466
9467         * parse.c:
9468         Don't quote *?[]! on output since the lexer does not strip off the
9469         backslash when reading those in.
9470         [561da4a13afa]
9471
9472 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9473
9474         * glob.c:
9475         expand "u_foo" types to "unsigned foo" to avoid compatibility
9476         issues.
9477         [b0d7c64d78c3]
9478
9479 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9480
9481         * logging.c:
9482         Refactor log line generation in to new_logline().
9483         [6a9b9730615d]
9484
9485 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9486
9487         * TROUBLESHOOTING:
9488         fix typo
9489         [9e19d4f86e47]
9490
9491 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9492
9493         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
9494         match.c:
9495         Add configure check for struct in6_addr instead of relying on
9496         AF_INET6 since some systems define AF_INET6 but do not include IPv6
9497         support.
9498         [e24082c416bd]
9499
9500 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9501
9502         * configure, configure.in:
9503         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
9504         use.
9505         [76a9df4a63be]
9506
9507 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9508
9509         * configure, configure.in:
9510         POSIX states that struct timespec be declared in time.h so check
9511         there regardless of the value of TIME_WITH_SYS_TIME.
9512         [e42c55ec9daf]
9513
9514 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9515
9516         * tgetpass.c:
9517         Instead of defining a macro to call the appropriate method for
9518         turning on/off echo, just define tc[gs]etattr() and the related
9519         defines that use the correct terminal ioctls if needed. Also go back
9520         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
9521         [5dfb2379d995]
9522
9523 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9524
9525         * Makefile.in:
9526         g/c @ALLOCA@
9527         [e6946c2e3820]
9528
9529         * configure:
9530         regen
9531         [9bac7159a138]
9532
9533         * INSTALL, auth/pam.c, config.h.in, configure.in:
9534         Add --disable-pam-session configure option to disable calling
9535         pam_{open,close}_session. May work around bugs in some PAM
9536         implementations.
9537         [273d0fdb4a9d]
9538
9539 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9540
9541         * tgetpass.c:
9542         quiet gcc warnings
9543         [325565c5a579]
9544
9545         * tgetpass.c:
9546         Avoid printing the prompt if we are already backgrounded. E.g. if
9547         the user runs "sudo foo &" from the shell. In this case, the call
9548         to tcsetattr() will cause SIGTTOU to be delivered.
9549         [db2139a8d8b8]
9550
9551 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9552
9553         * def_data.c, def_data.h, def_data.in:
9554         Reorder things such that the definition of env_reset come right
9555         before the env variable lists.
9556         [e0d8e22a581a]
9557
9558         * parse.h:
9559         Shrink type and seqno in struct alias from int to u_short
9560         [9425263dd565]
9561
9562         * alias.c, match.c, parse.c, parse.h:
9563         Add a sequence number in the aliases for loop detection. If we find
9564         an alias with the seqno already set to the current (global) value we
9565         know we've visited it before so ignore it.
9566         [301a0548ffff]
9567
9568 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9569
9570         * TODO, auth/pam.c, sudo.c, sudo.h:
9571         PAM wants the full tty path so add user_ttypath which holds the full
9572         path to the tty or is NULL if no tty was present.
9573         [c7c1dd4b36c8]
9574
9575         * auth/pam.c:
9576         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
9577         results in a segv.
9578         [3a8865b3a357]
9579
9580 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9581
9582         * gram.c:
9583         regen
9584         [5647be127950]
9585
9586         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
9587         parse.h, testsudoers.c, visudo.c:
9588         rename lh_ -> tq_
9589         [8f500c542c4a]
9590
9591 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9592
9593         * alloc.c:
9594         remove some useless casts
9595         [409a448b23f5]
9596
9597         * alloc.c:
9598         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
9599         predates the final C99 spec and the standard specifies that it shall
9600         include stdint.h anyway
9601         [ae478fdef61a]
9602
9603 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9604
9605         * Makefile.in, alloca.c, configure.in:
9606         Since we ship with a pre-generated parser there is no need to ship a
9607         bogus alloca implementation.
9608         [3f611a7cc0e5]
9609
9610         * configure:
9611         regen
9612         [771eccf5269c]
9613
9614         * configure.in:
9615         remove initial setting of CHECKSIA, we require that it be unset if
9616         not used
9617         [a2e91adc5aa2]
9618
9619         * Makefile.in:
9620         add list.c to SRCS
9621         [7db0e56cf5b9]
9622
9623         * configure:
9624         regen
9625         [3716ec30172e]
9626
9627         * configure.in:
9628         only do SIA checks on Digital Unix
9629         [6a96e1af2597]
9630
9631 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9632
9633         * sudoers.cat, sudoers.man.in:
9634         regen
9635         [ac1dc29de72b]
9636
9637         * ChangeLog, TODO:
9638         sync
9639         [781effce0a2d]
9640
9641         * auth/kerb5.c:
9642         Remove call to krb5_cc_register() as it is not needed for modern
9643         kerb5.
9644         [351b8b764f16]
9645
9646         * configure:
9647         regen
9648         [ac21dbcc9c2c]
9649
9650         * aclocal.m4, configure.in:
9651         New method for setting the default authentication type and avoiding
9652         conflicts in auth types.
9653         [5fb15be11f78]
9654
9655         * match.c, parse.c, testsudoers.c:
9656         Each entry in a cmndlist now has an associated runaslist so no need
9657         to keep track of the most recent non-NULL one.
9658         [582e015786b0]
9659
9660 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9661
9662         * ldap.c:
9663         back out partial ldaps support mistakenly committed
9664         [357703e94b2d]
9665
9666         * ldap.c:
9667         Add support for unix groups and netgroups in sudoRunas
9668         [2f04eb91c6d0]
9669
9670 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9671
9672         * sudo_edit.c:
9673         Fix sudoedit of a non-existent file. From Tilo Stritzky.
9674         [a5488a03bddd]
9675
9676 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
9677
9678         * configure:
9679         regen
9680         [541177376ee1]
9681
9682         * INSTALL:
9683         update --passprompt escape info
9684         [6d57db4cd538]
9685
9686         * configure.in:
9687         remove now-bogus comment and update copyright date
9688         [6a4af45fa331]
9689
9690         * configure.in:
9691         Fix up use of with_passwd
9692         [7c79d8640f77]
9693
9694         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
9695         Update to autoconf-2.61 andf libtool-1.5.24
9696         [045259b0b439]
9697
9698         * Makefile.in:
9699         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
9700         [f5b6a7afb817]
9701
9702 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9703
9704         * gram.c:
9705         regen
9706         [b5b78e71d2cb]
9707
9708         * gram.y:
9709         move tags and runaslist propagation to be earlier
9710         [94f7805f4489]
9711
9712         * visudo.c:
9713         If -f flag given use the permissions of the original file as a
9714         template
9715         [9303d22bddb0]
9716
9717         * gram.y:
9718         prevent a double free() when re-initing the parser
9719         [5b3907c4de5a]
9720
9721 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9722
9723         * configure:
9724         regen
9725         [49a90b19a17d]
9726
9727         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
9728         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
9729         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
9730         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
9731         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
9732         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
9733         Remove support for compilers that don't support void *
9734         [35e1d01ae197]
9735
9736         * gram.c:
9737         regen
9738         [70ce412a458a]
9739
9740         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
9741         parse.c, parse.h, testsudoers.c, visudo.c:
9742         Move list manipulation macros to list.h and create C versions of the
9743         more complex ones in list.c. The names have been down-cased so they
9744         appear more like normal functions.
9745         [9cea0e281148]
9746
9747         * Makefile.in:
9748         Fix cmp command when regenerating parser. Make gram.o the first
9749         dependency for all programs so gram.h will be generated before
9750         anything that needs it.
9751         [429ea065abf1]
9752
9753         * gram.y, parse.h:
9754         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
9755         [2f3433833589]
9756
9757         * match.c, parse.c, testsudoers.c:
9758         Use LH_FOREACH_REV when checking permission and short-circuit on the
9759         first non-UNSPEC hit we get for the command. This means that
9760         instead of cycling through the all the parsed sudoers entries we
9761         start at the end and work backwards and quit after the first
9762         positive or negative match.
9763         [881474532f3e]
9764
9765         * gram.c:
9766         regen
9767         [9152a19d4188]
9768
9769         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
9770         Change list head macros to take a pointer, not a struct.
9771         [054f1dcce4cc]
9772
9773         * gram.c:
9774         regen
9775         [be154aae6235]
9776
9777         * gram.y:
9778         Propagate the runasspec from one command to the next in a cmndspec.
9779         [4957b1cb03a3]
9780
9781 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
9782
9783         * match.c:
9784         Replace has_meta() with a macro that calls strpbrk().
9785         [a2e58846a542]
9786
9787         * regen
9788         [5a932a5c9451]
9789
9790         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
9791         testsudoers.c, visudo.c:
9792         Use a list head struct when storing the semi-circular lists and
9793         convert to tail queues in the process. This will allow us to
9794         reverse foreach loops more easily and it makes it clearer which
9795         functions expect a list as opposed to a single member.
9796
9797         Add macros for manipulating lists. Some of these should become
9798         functions.
9799
9800         When freeing up a list, just pop off the last item in the queue
9801         instead of going from head to tail. This is simpler since we don't
9802         have to stash a pointer to the next member, we always just use the
9803         last one in the queue until the queue is empty.
9804
9805         Rename match functions that take a list to have list in the name.
9806         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
9807         [7c37b271607a]
9808
9809         * parse.c:
9810         Fix pasto, append "!" not negated (which is an int) for sudo -l
9811         output.
9812         [93a444c3997f]
9813
9814         * Makefile.in:
9815         Remove the dependency of gram .h on gram.y, the .c dependency is
9816         enough. Only move y.tab.h to gram.h if it is different; avoids
9817         needless rebuilding.
9818         [67bf4ea2a2e5]
9819
9820 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9821
9822         * sudoers.pod:
9823         Defaults lines may be associated with lists of users, hosts,
9824         commands and runas users, not just single entries.
9825         [795effacb6be]
9826
9827 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9828
9829         * Makefile.in:
9830         Revert the "cmp" portion of the last diff, it doesn't make sense.
9831         [26f34bf4e2e3]
9832
9833         * Makefile.in:
9834         Remove *.lo for clean: When generating the parser, only move the
9835         generated files into place if they differ from the existing ones.
9836         [84673fea371b]
9837
9838 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9839
9840         * toke.c, toke.l:
9841         Replace IPV6 regexp with a much simpler (readable) one and add an
9842         extra check when it matches to make sure we have a valid address.
9843         [592e9f690556]
9844
9845         * match.c:
9846         Fix thinko introduced when merging IPV6 support.
9847         [da38cd5eb8c7]
9848
9849 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9850
9851         * HISTORY, LICENSE:
9852         regen
9853         [0d7b27b90634]
9854
9855         * license.pod:
9856         add 2007
9857         [510e5048ae1a]
9858
9859         * UPGRADE:
9860         mention #uid vs. comment pitfall
9861         [4d2861898bcc]
9862
9863         * acsite.m4:
9864         Merge in a patch from the libtool cvs that fixes a problem with the
9865         latest autoconf. From Stepan Kasal.
9866         [0c279ae7df3e]
9867
9868         * parse.h:
9869         Back out he XOR swap trick, it is slower than a temp variable on
9870         modern CPUs.
9871         [91c4b024e317]
9872
9873         * gram.c:
9874         regen
9875         [cb6d4106fb74]
9876
9877         * gram.y, parse.h:
9878         Convert the tail queue to a semi-circle queue and use the XOR swap
9879         trick to swap the prev pointers during append.
9880         [8bf4d9fbee58]
9881
9882 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9883
9884         * parse.h:
9885         remove useless statement
9886         [421ec1dd73e6]
9887
9888         * toke.c, toke.l:
9889         Refactor #include parsing into a separate function and return
9890         unparsed chars (such as newline or comment) back to the lexer.
9891         [64166917aa3d]
9892
9893 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9894
9895         * WHATSNEW:
9896         mention better uid support
9897         [56f510e7f2ec]
9898
9899         * sudoers.pod:
9900         Users may now consist of a uid.
9901         [5fd31b2c55ed]
9902
9903         * gram.c, gram.h, toke.c:
9904         regen
9905         [599e58af6dc1]
9906
9907         * parse.c:
9908         Use lbuf_append_quoted() for sudo -l output to quote characters that
9909         would require quoting in sudoers.
9910         [3132d05c990a]
9911
9912         * lbuf.c, lbuf.h:
9913         Add lbuf_append_quoted() which takes a set of characters which
9914         should be quoted with a backslash when displayed.
9915         [ab09bebb1d65]
9916
9917         * toke.l:
9918         Require that the first character after a comment not be a digit or a
9919         dash. This allows us to remove the GOTRUNAS state and treat
9920         uid/gids similar to other words. It also means that we can now
9921         specify uids in User_Lists and a User_Spec may now contain a uid.
9922         [461fe01f8392]
9923
9924         * gram.y, toke.l:
9925         Replace RUNAS token with '(' and ')' tokens to make the runas
9926         portion of the grammar more natural.
9927         [e0c383b4684d]
9928
9929         * BUGS:
9930         The BUGS file is history
9931         [4d9a809585c7]
9932
9933         * Makefile.in, README:
9934         The BUGS file is history
9935         [d9500e261172]
9936
9937 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9938
9939         * toke.c, toke.l:
9940         Allow comments after a RunasAlias as long as the character after the
9941         pound sign isn't a digit or a dash.
9942         [d7f3bd94eeda]
9943
9944         * WHATSNEW:
9945         Glob support was back-ported to 1.6.9
9946         [d1d5cfd46228]
9947
9948 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9949
9950         * Makefile.in:
9951         remove sudo_usage.h in distclean
9952         [df05ce9c4127]
9953
9954         * parse.c:
9955         If a Defaults value contains a blank, double-quote the string.
9956         [9057a910daad]
9957
9958         * toke.c, toke.l:
9959         Properly deal with Defaults double-quoted strings that span multiple
9960         lines using the line continuation char. Previously, the entire
9961         thing, including the continuation char, newline, and spaces was
9962         stored as-is.
9963         [4a4e8eacefe6]
9964
9965         * sudo.c:
9966         Be consistent when using single quotes and backticks.
9967         [d010b83a0fa1]
9968
9969 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9970
9971         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
9972         sudo.c, sudo_usage.h.in:
9973         Add new linebuf code to do appends of dynamically allocated strings
9974         and word-wrapped output. Currently used for sudo's usage() and sudo
9975         -l output. Sudo usage strings are now in sudo_usage.h which is
9976         generated at configure time.
9977         [4dfd0ee8d961]
9978
9979 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
9980
9981         * parse.c, sudo.c, sudo.h:
9982         Fix line wrapping in usage() and use the actual tty width instead of
9983         assuming 80.
9984         [700eab37c5a6]
9985
9986 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9987
9988         * history.pod:
9989         some more info
9990         [8140112a8ae1]
9991
9992         * history.pod:
9993         Mentioned Chris Jepeway's parser and also the new one that is in
9994         sudo 1.7.
9995         [2132d00f0597]
9996
9997 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9998
9999         * sudo.pod, visudo.pod:
10000         For the options list, add flag args where appropriate and increase
10001         the indent level so there is room for them.
10002         [2b60fb572e12]
10003
10004 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10005
10006         * parse.c:
10007         Fix some spacing in "sudo -l" and add a comment about some bogosity
10008         in the line wrapping.
10009         [b59b056f5ee2]
10010
10011         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
10012         visudo.man.in:
10013         regen
10014         [5fb719f18ebc]
10015
10016         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
10017         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
10018         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
10019         testsudoers.c, toke.c, toke.l:
10020         Remove monitor support until there is a versino of systrace that
10021         uses a lookaside buffer (or we have a better mechanism to use).
10022         [61ff76878e4a]
10023
10024         * config.h.in, configure, configure.in, sudo.c:
10025         use getaddrinfo() instead of gethostbyname() if it is available
10026         [cc33c136aa6a]
10027
10028 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10029
10030         * parse.c, sudo.c:
10031         Deal with OSes where sizeof(gid_t) < sizeof(int).
10032         [130a89cbdfba]
10033
10034         * interfaces.c:
10035         repair non-getifaddrs() code after ipv6 integration
10036         [7ae7a89e2236]
10037
10038         * sudo.c:
10039         If we can open sudoers but fail to read the first byte, close the
10040         file stream before trying again.
10041         [6f31272fae7b]
10042
10043 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10044
10045         * toke.c:
10046         regen
10047         [4d7afe0aa6fa]
10048
10049         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
10050         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
10051         [4e6ff2965a42]
10052
10053         * sudo.pod, sudoers.pod, visudo.pod:
10054         Add some missing markup Update copyright
10055         [7e6d3c686b5e]
10056
10057 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10058
10059         * configure, configure.in:
10060         fix sudo_noexec extension which got broken in the libtool update
10061         [3a5b447df861]
10062
10063 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10064
10065         * Makefile.in:
10066         explicitly specify -Tascii to nroff
10067         [45c8da4cbefe]
10068
10069 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10070
10071         * logging.c:
10072         remove an ANSI-ism that crept in
10073         [29086f87b2ca]
10074
10075 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10076
10077         * sudo.pod:
10078         Adjust list indents Prevent -- from being turned into an em dash Use
10079         a list for the environment instead of a literal paragraph
10080         [c3abcd8f76f4]
10081
10082         * visudo.pod:
10083         Use a list for the environment instead of an indented literal
10084         paragraph.
10085         [0ffcfcb7349f]
10086
10087         * sudoers.pod:
10088         Adjust list indentation
10089         [615c89e3123a]
10090
10091         * license.pod:
10092         add =head3
10093         [8b2e0d38c0bd]
10094
10095 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10096
10097         * sudo.pod:
10098         mention that when specifying a uid for the -u option the shell may
10099         require that the # be escaped
10100         [3e3a17bff150]
10101
10102 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
10103
10104         * match.c:
10105         Fix off by one in group matching.
10106         [b529602b7fba]
10107
10108 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10109
10110         * env.c:
10111         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
10112         [ffbf8907c6e7]
10113
10114 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10115
10116         * configure, configure.in:
10117         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
10118         -lgssapi_krb5 case.
10119         [2b85a89c2252]
10120
10121         * aclocal.m4, configure, configure.in:
10122         Fix link tests such that new gcc doesn't optimize away the test.
10123         [83484ec95cba]
10124
10125 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10126
10127         * sudo.pod, sudoers.pod, visudo.pod:
10128         add missing over/back
10129         [251a12c89b91]
10130
10131         * sudo.pod, sudoers.pod, visudo.pod:
10132         Change FILES section to use =item
10133         [60b9efc3a0b2]
10134
10135         * env.c:
10136         Add back allocation of the env struct in rebuild_env but save a copy
10137         of the old pointer and free it before returning.
10138         [1100cd4fa997]
10139
10140         * env.c:
10141         Don't init the private environment in rebuild_env() since it may
10142         have already been done implicitly sudo_setenv/sudo_unsetenv.
10143
10144         Multiply length by sizeof(char *) in memcpy/memmove when copying the
10145         environment so we copy the full thing.
10146
10147         Add missing set of parens so we deref the right pointer in
10148         sudo_unsetenv when searching for a matching variable.
10149         [9086a8f756b1]
10150
10151 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10152
10153         * sudo.pod, sudoers.pod, visudo.pod:
10154         Use file markup for paths in the FILES section
10155         [940d99f731f2]
10156
10157         * sudo.pod, sudoers.pod, visudo.pod:
10158         Don't capitalize sudo/visudo
10159         [f067a455d44b]
10160
10161         * sudoers.pod:
10162         Sort sudoers options; based on a diff from Igor Sobrado.
10163         [a9b9befe85ac]
10164
10165 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10166
10167         * sudo.pod, sudoers.pod, visudo.pod:
10168         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
10169         latter confuses pod2man. The Makefile rules for the .man.in file
10170         will add @mansectsu@ and @mansectform@ back in after pod2man is done
10171         anyway.
10172         [b50ea0db727c]
10173
10174 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10175
10176         * LICENSE, Makefile.in, license.pod:
10177         Move license info to pod format
10178         [25bdd82e592b]
10179
10180         * configure, configure.in, sudoers.pod:
10181         Substitute value of path_info into sudoers man page.
10182         [9ba661a82798]
10183
10184         * WHATSNEW:
10185         remove features that were back-ported to 1.6.9
10186         [e76d756cbe65]
10187
10188         * sudo.c, sudo.pod, visudo.c, visudo.pod:
10189         Sort SYNOPSIS and sync usage. From Igor Sobrado.
10190         [4970386c9e54]
10191
10192         * env.c:
10193         Only need sudo_setenv/sudo_unsetenv if we are going to use
10194         ldap_sasl_interactive_bind_s() but don't have
10195         gss_krb5_ccache_name().
10196         [f1a73d8b35c5]
10197
10198         * ChangeLog:
10199         rebuild without branch info
10200         [5d5a33494677]
10201
10202         * Makefile.in:
10203         Add ChangeLog target
10204         [a702034fdd89]
10205
10206         * auth/pam.c:
10207         Run cleanup code if the user hits ^C at the password prompt.
10208         [9cf87768e921]
10209
10210         * auth/pam.c:
10211         Some versions of pam_lastlog have a bug that will cause a crash if
10212         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
10213         string.
10214         [5b63f6c88866]
10215
10216 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10217
10218         * Makefile.in:
10219         ChageLog not Changelog
10220         [1243d8473ceb]
10221
10222         * ChangeLog:
10223         sync
10224         [d887df98c6b0]
10225
10226         * Makefile.in:
10227         CHANGE -> Changelog
10228         [917738df30dd]
10229
10230         * TODO:
10231         sync
10232         [cd382f7d1948]
10233
10234 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10235
10236         * config.h.in, configure, configure.in, ldap.c:
10237         Add configure hooks for gss_krb5_ccache_name() and the gssapi
10238         headers.
10239         [139606209991]
10240
10241 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10242
10243         * env.c, sudo.c:
10244         rebuild_env() and insert_env_vars() no longer return environment
10245         pointer, they set environ directly.
10246
10247         No longer need to pass around an envp pointer since we just operate
10248         on environ now.
10249
10250         Add dosync argument to insert_env() that indicates whether it should
10251         reset environ when realloc()ing env.envp.
10252
10253         Use an initial size of 128 for the environment.
10254         [4735fd5fddb8]
10255
10256         * env.c:
10257         Split sudo_setenv() into an external version and a version only for
10258         use by rebuild_env().
10259         [fda7d655adb1]
10260
10261 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10262
10263         * ldap.c:
10264         Add support for using gss_krb5_ccache_name() instead of setting
10265         KRB5CCNAME. Also use sudo_unsetenv() in the non-
10266         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
10267         original environment. TODO: configure setup for
10268         gss_krb5_ccache_name()
10269         [fcafa5a49caf]
10270
10271         * README.LDAP:
10272         add krb5_ccname
10273         [fceb8f883886]
10274
10275         * README.LDAP, ldap.c:
10276         Add support for sasl_secprops in ldap.conf
10277         [1f06f4bf7347]
10278
10279         * env.c, sudo.h:
10280         Add sudo_unsetenv() and refactor private env syncing code into
10281         sync_env().
10282         [045ecb3fd22b]
10283
10284         * README.LDAP, ldap.c:
10285         The ldap.conf variable is sasl_auth_id not sasl_authid.
10286         [a5f98491311b]
10287
10288 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10289
10290         * ldap.c, sudo.c, sudo.h:
10291         Add support for krb5_ccname in ldap.conf. If specified, it will
10292         override the default value of KRB5CCNAME in the environment for the
10293         duration of the call to ldap_sasl_interactive_bind_s().
10294         [b08a10c3045b]
10295
10296         * env.c, sudo.h:
10297         Remove format_env() Add sudo_setenv() to replace most format_env() +
10298         insert_env() combinations. insert_env() no longer takes a struct
10299         environment *
10300         [131da52f43f3]
10301
10302         * ldap.c:
10303         Fix use_sasl vs. rootuse_sasl logic.
10304         [0c0417b6918c]
10305
10306         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
10307         Add support for SASL auth when connecting to an LDAP server. Adapted
10308         from a diff by Tom McLaughlin.
10309         [a6285f1356ea]
10310
10311 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10312
10313         * configure, configure.in:
10314         Only enable AIX or BSD auth if no other exclusive auth method has
10315         been chosen. Allows people to e.g., use PAM on AIX without adding
10316         --without-aixauth. A better solution is needed to deal with default
10317         authentication since if a non-exclusive method is chosen we will
10318         still get an error.
10319         [83f7afdc0ec3]
10320
10321 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10322
10323         * HISTORY, Makefile.in, history.pod:
10324         Generate HISTORY from history.pod (which is also used for web pages)
10325         [60bcd5164931]
10326
10327 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10328
10329         * sudo.man.in, sudoers.man.in:
10330         regen
10331         [63956a366191]
10332
10333         * sudo.pod:
10334         Better explanation of environment handling in the sudo man page.
10335         [6c247742f7ee]
10336
10337         * env.c, sudo.c:
10338         Defer setting user-specified env vars until after authentication.
10339         [4750b79323ee]
10340
10341         * env.c:
10342         honor def_default_path for PATH set on the command line
10343         [6db31d9b6d65]
10344
10345         * env.c, sudo.c, sudo.pod, sudoers.pod:
10346         Allow user to set environment variables on the command line as long
10347         as they are allowed by env_keep and env_check. Ie: apply the same
10348         restrictions as normal environment variables. TODO: deal with
10349         secure_path
10350         [26c0da3840cf]
10351
10352 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10353
10354         * sudo.c, sudo_edit.c:
10355         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
10356         Don't allow -E or env var setting in sudoedit mode. More accurate
10357         usage() when called as sudoedit.
10358         [a4af20658361]
10359
10360         * ldap.c:
10361         warn -> warning
10362         [d87d1192b048]
10363
10364         * sudo.pod:
10365         add -c option to sudoedit synopsis
10366         [15b596a7e2db]
10367
10368         * TODO:
10369         udpate to reality
10370         [e2f8fde89db1]
10371
10372         * parse.c:
10373         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
10374         value from {user,host,runas,cmnd}_matches(). Rename *matches
10375         variables -> *match. Purely cosmetic.
10376         [e54a44c00a88]
10377
10378         * parse.c:
10379         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
10380         in behavior.
10381         [c6272b4f2127]
10382
10383         * sudoers:
10384         add SETENV tag
10385         [3a3066bb6788]
10386
10387 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10388
10389         * parse.c:
10390         Make pwcheck local to the pwflag block. Use pwcheck even if user
10391         didn't match since Defaults options may still apply.
10392         [45da9efbbafd]
10393
10394         * check.c, sudo.c:
10395         Do not update timestamp if user not validated by sudoers.
10396         [a4a9d4364827]
10397
10398         * set_perms.c:
10399         for PERM_RUNAS, set the egid to the runas user's gid and restore to
10400         the user's original in PERM_ROOT
10401         [1514bfb32847]
10402
10403         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
10404         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
10405         PERM_FULL_ROOT
10406         [b9d047a3178c]
10407
10408         * check.c:
10409         don't check timestamp mtime if we are just going to remove it
10410         [5d2470bc6cbd]
10411
10412         * sudoers.pod:
10413         Move sudoers defaults parameters into their own section.
10414         [54701fbc0ff3]
10415
10416         * testsudoers.c:
10417         Reduce a level of indent by a few placed continue statements.
10418         [5d5a9838c8ef]
10419
10420         * parse.c:
10421         Make matching but negated commands/hosts/runas entries override a
10422         previous match as expected. Also reduce some levels of indent by a
10423         few placed continue statements.
10424         [dd59fa4b91a1]
10425
10426 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10427
10428         * parse.c:
10429         Print default runas in "sudo -l" if sudoers don't specify one.
10430         [07d408c400bd]
10431
10432         * match.c:
10433         Less hacky way of testing whether the domain was set.
10434         [a537059776e5]
10435
10436 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10437
10438         * INSTALL:
10439         Mention pam-devel and openldap-devel for Linux
10440         [9e708c54ecc3]
10441
10442 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10443
10444         * README.LDAP:
10445         or vs. are
10446         [abe8c0f3a410]
10447
10448 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10449
10450         * sudo.c:
10451         fix typo in Solaris project support
10452         [2ffeb2d80959]
10453
10454         * HISTORY:
10455         update
10456         [df162b36f120]
10457
10458         * sudo.c:
10459         Make -- on the command line match the manual page. The implied shell
10460         case has been simplified as a result.
10461         [cd217a1f6694]
10462
10463 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10464
10465         * sudoers2ldif:
10466         add simplistic support for sudoRunas; note that if a sudoers entry
10467         contains multiple Runas users, all will apply to the sudoRole
10468         [65b11421f5c8]
10469
10470         * sudoers2ldif:
10471         honor SETENV and NOSETENV tags
10472         [2c0d5ba7a09b]
10473
10474 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10475
10476         * mon_systrace.c:
10477         Redo setting of user_args. We now build up a private copy of argv
10478         first and then replace the NULs?with spaces.
10479         [ccbba72ea112]
10480
10481         * mon_systrace.c:
10482         getcwd() returns NULL on failure, not 0 on success
10483         [88cd9e66e530]
10484
10485         * mon_systrace.c:
10486         allow chunksiz to reach 1 before erroring out
10487         [619d68f14964]
10488
10489         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
10490         visudo.man.in:
10491         regen
10492         [8db512d3caf0]
10493
10494 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10495
10496         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
10497         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
10498         toke.c, toke.l:
10499         Add support for setting environment variables on the command line.
10500         This is only allowed if the setenv sudoers options is enabled or if
10501         the command is prefixed with the SETENV tag.
10502         [5744caebd969]
10503
10504         * README.LDAP:
10505         replace Aaron's email address with the sudo-workers list
10506         [2ffce5f9afc0]
10507
10508         * configure:
10509         regen
10510         [8013dff82c0c]
10511
10512 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10513
10514         * schema.OpenLDAP, schema.iPlanet:
10515         Break schema out into separate files.
10516         [15e598e4c60b]
10517
10518         * Makefile.in, README.LDAP:
10519         Break schema out into separate files.
10520         [1a53966ca1fa]
10521
10522 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
10523
10524         * auth/aix_auth.c:
10525         free message if set by authenticate()
10526         [849c220c1236]
10527
10528         * match.c:
10529         deal with NULL gr_mem
10530         [49e4d74f0bbe]
10531
10532 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10533
10534         * config.h.in:
10535         regen
10536         [fead999ad3e9]
10537
10538         * configure.in:
10539         add template for HAVE_PROJECT_H
10540         [e6c42c2eaad1]
10541
10542         * closefrom.c:
10543         include fcntl.h
10544         [54d98b382f03]
10545
10546 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10547
10548         * INSTALL:
10549         mention --with-project
10550         [d3ea3baad7c5]
10551
10552         * config.h.in, configure.in, sudo.c:
10553         Add Solaris 10 "project" support. From Michael Brantley.
10554         [f14f3c8c6554]
10555
10556         * sudoers.pod:
10557         fix typo
10558         [50db81a19787]
10559
10560         * configure:
10561         regen
10562         [ea71afd3e564]
10563
10564         * configure.in:
10565         Fix preservation of LDFLAGS in the LDAP case.
10566         [40a3a47e8059]
10567
10568         * memrchr.c:
10569         Remove dependecy on NULL
10570         [c957ae5e1733]
10571
10572         * configure:
10573         regen
10574         [4955ce0c6912]
10575
10576         * aclocal.m4, configure.in:
10577         Can't use the regular autoconf fnmatch() check since we need
10578         FNM_CASEFOLD so go back to our custom one.
10579         [f10d76237486]
10580
10581         * env.c:
10582         Fix preserving of variables in env_keep.
10583         [d040049d6b84]
10584
10585         * env.c:
10586         add XAUTHORIZATION
10587         [0d589a5fe015]
10588
10589         * UPGRADE:
10590         expand upon env resetting and mention that it began in 1.6.9 not
10591         1.7.
10592         [dba251655c76]
10593
10594         * sudoers.pod:
10595         Update descriptions of env_keep and env_check to match current
10596         reality.
10597         [dba77357954b]
10598
10599 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10600
10601         * env.c:
10602         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
10603         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
10604         [eec4632bd190]
10605
10606         * env.c, logging.c:
10607         Treat USERNAME environemnt variable like LOGNAME/USER
10608         [09f52dcfd70c]
10609
10610         * env.c:
10611         Don't need to populate keepenv table with the contents of the
10612         checkenv table.
10613         [527a14afd973]
10614
10615         * sudo.c:
10616         Don't force sudo into the C locale.
10617         [8a5bd301ef96]
10618
10619         * env.c:
10620         Make env_check apply when env_reset it true. Environment variables
10621         are passed through unless they contain '/' or '%'. There is no need
10622         to have a variable in both env_check and env_keep.
10623         [840c802721e4]
10624
10625 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10626
10627         * visudo.c:
10628         Remove an duplicate lock_file() call and add a comment.
10629         [5af9dcdf0eb6]
10630
10631         * UPGRADE:
10632         Add sudo 1.6.9 upgrade note.
10633         [1585149f2914]
10634
10635 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10636
10637         * interfaces.c:
10638         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
10639         small. From Klaus Wagner.
10640         [d6899fc44f77]
10641
10642         * logging.c, sudo.h:
10643         Redo the long syslog line splitting based on a patch from Eygene
10644         Ryabinkin. Include memrchr() for systems without it.
10645         [66a50e8d553a]
10646
10647         * memrchr.c:
10648         Redo the long syslog line splitting based on a patch from Eygene
10649         Ryabinkin. Include memrchr() for systems without it.
10650         [2f6702b7d41b]
10651
10652         * Makefile.in, config.h.in, configure, configure.in:
10653         Redo the long syslog line splitting based on a patch from Eygene
10654         Ryabinkin. Include memrchr() for systems without it.
10655         [407a46190921]
10656
10657         * configure.in:
10658         Since we need to be able to convert timespec to timeval for utimes()
10659         the last 3 digits in the tv_nsec are not significant. This makes the
10660         sudoedit file date comparison work again.
10661         [9d0258849fa9]
10662
10663 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10664
10665         * aclocal.m4, configure, configure.in:
10666         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
10667         This deals with exclusive authentication methods in a simple way.
10668         [7d70072c0f35]
10669
10670 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10671
10672         * LICENSE:
10673         mkstemp.c is BSD code too.
10674         [29e236d98162]
10675
10676         * sudo.pod, sudoers.pod, visudo.pod:
10677         No commercial support for now.
10678         [7c76b3e192dd]
10679
10680 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10681
10682         * sudo.c:
10683         cleanenv() is no more.
10684         [518080514408]
10685
10686 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10687
10688         * ChangeLog:
10689         Display branch info in Changelog
10690         [44e3b27427c7]
10691
10692         * utimes.c:
10693         Include config.h early so we have it for TIME_WITH_SYS_TIME
10694         [4bf1a00d0703]
10695
10696         * ChangeLog:
10697         Fix Changelog generation and update.
10698         [6e960dbcbece]
10699
10700 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10701
10702         * closefrom.c:
10703         Use /proc/self/fd instead of /proc/$$/fd
10704
10705         Move old-style fd closing into closefrom_fallback() and call that if
10706         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
10707         [faa7e4810758]
10708
10709         * auth/kerb5.c, config.h.in, configure.in:
10710         o use krb5_verify_user() if available instead of doing it by hand o
10711         use krb5_init_secure_context() if we have it o pass an encryption
10712         type of 0 to krb5_kt_read_service_key() instead of
10713         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
10714         [df7acf72bd7c]
10715
10716         * env.c:
10717         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
10718         [f92d05197e40]
10719
10720         * configure.in:
10721         Fix closefrom() substitution in the Makefile
10722         [b642b13fcc5c]
10723
10724         * TROUBLESHOOTING:
10725         Mention alternate sudo pronunciation.
10726         [7c71dc73409f]
10727
10728 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10729
10730         * env.c:
10731         Remove KRB5_KTNAME from environment. Allow COLORTERM.
10732         [70f35a79f780]
10733
10734         * auth/kerb5.c:
10735         If we cannot get a valid service key using the default keytab it is
10736         a fatal error. Fixes a bug where sudo could be tricked into
10737         allowing access when it should not by a fake KDC. From Thor Lancelot
10738         Simon.
10739         [a3ae6a47cb23]
10740
10741 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10742
10743         * aclocal.m4, configure, configure.in:
10744         Update long long checks to use AC_CHECK_TYPES and to cache values.
10745         [047318eaaeb2]
10746
10747         * aclocal.m4, configure.in:
10748         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
10749         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
10750         fnmatch.
10751         [80513a1003ea]
10752
10753 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10754
10755         * configure, configure.in:
10756         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
10757         need it for visudo now too.
10758         [50837c7c2b5e]
10759
10760 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10761
10762         * sudoers.pod:
10763         Attempt to clarify the bit talking about network numbers w/o
10764         netmasks.
10765         [211e68c1d034]
10766
10767         * sudo.pod:
10768         Clarify timestamp dir ownership sentence.
10769         [9178f132c7f7]
10770
10771 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10772
10773         * auth/pam.c:
10774         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
10775         Dmitry V. Levin.
10776         [81fce91667bc]
10777
10778 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10779
10780         * sudo.c:
10781         -i is also one of the mutually exclusive options to list it in the
10782         warning message. Noted by Chris Pepper.
10783         [7da73fb248e9]
10784
10785 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10786
10787         * visudo.pod:
10788         The sudoers variable is env_editor, not enveditor. From Jean-
10789         Francois Saucier.
10790         [2a86ec09a6db]
10791
10792 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10793
10794         * redblack.c:
10795         I tracked down the original author so credit him and include his
10796         license info.
10797         [3733553a1bba]
10798
10799 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10800
10801         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
10802         sudoers.pod:
10803         Fix typos; from Jason McIntyre.
10804         [1ee4ce2512f2]
10805
10806         * logging.c:
10807         Restore signal mask before calling reapchild(). Fixes a possible
10808         race condition that could prevent sudo from properly waiting for the
10809         child.
10810         [9ee4192385dc]
10811
10812 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10813
10814         * pwutil.c:
10815         Don't declare pw_free() if we are not going to use it.
10816         [adb79a4289ca]
10817
10818         * env.c:
10819         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
10820         LDR_PRELOAD64. The 64-bit version is not currently supported.
10821         Remove zero_env() prototype as it no longer exists.
10822         [b4fe65027fb6]
10823
10824 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10825
10826         * logging.c:
10827         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
10828         [78002ad90f7b]
10829
10830 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10831
10832         * auth/pam.c:
10833         If the user enters ^C at the password prompt, abort instead of
10834         trying to authenticate with an empty password (which causes an
10835         annoying delay).
10836         [da3f27b747c7]
10837
10838 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10839
10840         * closefrom.c, config.h.in, configure, configure.in:
10841         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
10842         Darren Tucker.
10843         [0331b7780759]
10844
10845         * pwutil.c:
10846         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
10847         [0014c0d9eeba]
10848
10849 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10850
10851         * config.guess, config.sub:
10852         Update to latest versions from cvs.savannah.gnu.org
10853         [aa0143101c20]
10854
10855 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
10856
10857         * pwutil.c, sudo_edit.c:
10858         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
10859         we can close the passwd/group files early.
10860         [559074bd7eb7]
10861
10862         * config.h.in, configure, configure.in, set_perms.c:
10863         Add seteuid() flavor of set_perms() for systems without setreuid()
10864         or setresuid() that have a working seteuid(). Tested on Darwin.
10865         [508d8da99189]
10866
10867 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10868
10869         * mon_systrace.c:
10870         systrace_read() returns ssize_t
10871         [9f97d1d1a59d]
10872
10873         * configure, configure.in:
10874         Fix typo, -lldap vs. -ldap; from Tim Knox.
10875         [a8cc43c3bb2a]
10876
10877 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10878
10879         * HISTORY:
10880         Fix typo; Matt Ackeret
10881         [86964ee3dfbd]
10882
10883 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10884
10885         * sudo.c:
10886         Print sudoers path in -V mode for root.
10887         [dc43f2d75bd9]
10888
10889 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10890
10891         * ldap.c:
10892         Do a sub tree search instead of a base search (one level in the tree
10893         only) for sudo right objects. This allows system administrators to
10894         categorize the rights in a tree to make them easier to manage.
10895         [6d2d9abf996e]
10896
10897 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10898
10899         * sudo.pod:
10900         fix typo
10901         [1473413bcbda]
10902
10903 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
10904
10905         * ldap.c:
10906         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
10907         bind_timelimit support; adapted from gentoo.
10908         [afc816093026]
10909
10910 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10911
10912         * ldap.c:
10913         Support comments that start in the middle of a line
10914         [c25df6ee3db8]
10915
10916         * configure, configure.in:
10917         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
10918         [ee249bfe230a]
10919
10920 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10921
10922         * closefrom.c:
10923         Silence gcc -Wsign-compare; djm@openbsd.org
10924         [28769ce6418d]
10925
10926         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
10927         cleanup() now takes an int as an arg so it can be used as a signal
10928         handler too.
10929         [2bb0df34d09c]
10930
10931         * sudo.c:
10932         Make a copy of the shell field in the passwd struct for NewArgv to
10933         avoid a use after free situation after sudo_endpwent() is called.
10934         [5dcc9ffd362e]
10935
10936 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10937
10938         * config.h.in, configure, configure.in:
10939         Add mkstemp() for those poor souls without it.
10940         [5fdd02e863e0]
10941
10942         * mkstemp.c:
10943         Add mkstemp() for those poor souls without it.
10944         [c99401207860]
10945
10946         * Makefile.in:
10947         Add mkstemp() for those poor souls without it.
10948         [9c1cf2678f24]
10949
10950 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10951
10952         * env.c:
10953         Add PERL5DB to list of environment variables to remove.
10954         [7375c27ecf75]
10955
10956 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10957
10958         * mon_systrace.c, mon_systrace.h:
10959         Instead of calling the check function twice with a state cookie use
10960         separate check/log functions.
10961
10962         Check more ioctl() calls for failure.
10963
10964         systrace_{read,write} now return the number of bytes read/written or
10965         -1 on error.
10966         [3dc8946d90e9]
10967
10968         * env.c:
10969         Add more environment variables to remove; from gentoo linux Add some
10970         comments about what bad env variables go to what (more to do)
10971         [6918110a6b82]
10972
10973 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10974
10975         * sudo.c, sudo_edit.c:
10976         Move sudo_end{gr,pw}ent() until just before the exec since they free
10977         up our cached copy of the passwd structs, including sudo_user and
10978         sudo_runas. Fixes a use-after-free bug.
10979         [54de3778bad0]
10980
10981         * visudo.c:
10982         Close all fd's before executing editor.
10983         [4fcc05e1bec8]
10984
10985         * sudo.c:
10986         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
10987         [ef0e8ffa5c9f]
10988
10989         * check.c:
10990         Fix fd leak when lecture file option is enabled. From Jerry Brown
10991         [ce97f9207cd8]
10992
10993 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10994
10995         * env.c:
10996         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
10997         environment variables to remove. From Charles Morris
10998         [c96e1367d1c1]
10999
11000 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11001
11002         * env.c:
11003         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
11004         [72a6a1571226]
11005
11006 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11007
11008         * env.c:
11009         add PS4 and SHELLOPTS to initial_badenv_table for bash
11010         [89dfb3f318f3]
11011
11012 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11013
11014         * sudoers.pod:
11015         Fix typo; Toby Peterson
11016         [b7a3222b23f4]
11017
11018 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11019
11020         * tsgetgrpw.c:
11021         Make return buffers static so they don't get clobbered
11022         [13323a39b9f5]
11023
11024 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11025
11026         * auth/securid5.c:
11027         Fix securid5 authentication, was not checking for ACM_OK. Also add
11028         default cases for the two switch()es. Problem noted by ccon at
11029         worldbank
11030         [14091e418333]
11031
11032 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11033
11034         * ldap.c:
11035         Remove ncat() in favor of just counting bytes and pre-allocating
11036         what is needed.
11037         [25b8712adb61]
11038
11039 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11040
11041         * ldap.c:
11042         Fix up some comments Add missing fclose() for the rootbinddn case
11043         [ae95c8a89711]
11044
11045         * ldap.c:
11046         align struct ldap_config
11047         [35d0d64c76f8]
11048
11049         * ldap.c:
11050         use LINE_MAX for max conf file line size
11051         [da116cb8853d]
11052
11053         * pathnames.h.in:
11054         add _PATH_LDAP_SECRET
11055         [128b04ecfab7]
11056
11057         * README.LDAP:
11058         Mention rootbinddn Give example ou=SUDOers container
11059         [852edc69bd1c]
11060
11061 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11062
11063         * INSTALL, configure, configure.in, ldap.c:
11064         Support rootbinddn in ldap.conf
11065         [1615c91522a1]
11066
11067         * env.c, sudo.pod, sudoers.pod:
11068         Preserve DISPLAY environment variable by default.
11069         [05f503d5f438]
11070
11071         * acsite.m4, configure:
11072         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
11073         [18a04dea8d05]
11074
11075         * acsite.m4, configure:
11076         set need_version=no for all cases; this is safe for LD_PRELOAD
11077         [b542560e1a73]
11078
11079         * aclocal.m4:
11080         typo
11081         [c040df0fcd5a]
11082
11083         * configure, configure.in:
11084         Add dragonfly
11085         [f13794618636]
11086
11087         * auth/pam.c:
11088         Fix call to pam_end() when pam_open_session() fails.
11089         [0be47cdfdef1]
11090
11091         * configure:
11092         regen
11093         [7f5c13b4b800]
11094
11095         * acsite.m4:
11096         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
11097         ltsugar.m4 ltversion.m4
11098         [a7ba9fd1a2ab]
11099
11100         * config.guess, config.sub, ltmain.sh:
11101         merge in local changes: config.guess: o better openbsd support
11102         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
11103         libs must begin with "lib" o don't print a bunch of crap about
11104         library installs o don't run ldconfig
11105         [f4149f2c720f]
11106
11107         * config.guess, config.sub, ltmain.sh:
11108         libtool 1.9f
11109         [82a534e7121f]
11110
11111         * configure.in:
11112         Update with autoupdate and make minor changes for libtool 1.9f
11113         [11b5ae5c1428]
11114
11115 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11116
11117         * parse.c:
11118         don't call sudo_ldap_display_cmnd if ldap not setup
11119         [8bcf6c094ffe]
11120
11121         * sudo_edit.c, visudo.c:
11122         Move declatation of struct timespec to its own include files for
11123         systems without it since it needs time_t defined.
11124         [b95c333299a0]
11125
11126         * gettime.c:
11127         Move declatation of struct timespec to its own include files for
11128         systems without it since it needs time_t defined.
11129         [021b4569cc0c]
11130
11131         * fileops.c:
11132         Move declatation of struct timespec to its own include files for
11133         systems without it since it needs time_t defined.
11134         [dd8573b2ee7d]
11135
11136         * emul/timespec.h:
11137         Move declatation of struct timespec to its own include files for
11138         systems without it since it needs time_t defined.
11139         [f95137771564]
11140
11141         * check.c, compat.h:
11142         Move declatation of struct timespec to its own include files for
11143         systems without it since it needs time_t defined.
11144         [2ef2ace8fe85]
11145
11146         * ldap.c:
11147         Don't set safe_cmnd for the "sudo ALL" case.
11148         [ad7fa9e07da0]
11149
11150 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11151
11152         * auth/pam.c:
11153         Call pam_open_session() and pam_close_session() to give pam_limits a
11154         chance to run. Idea from Karel Zak.
11155         [fed46d471350]
11156
11157 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11158
11159         * check.c, sudo.c:
11160         Add explicit cast from mode_t -> u_int in printf to silence warnings
11161         on Solaris
11162         [17bb961fe22d]
11163
11164         * parse.c:
11165         include grp.h to silence a warning on Solaris
11166         [14386fbab640]
11167
11168 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11169
11170         * parse.c:
11171         Fix printing of += and -= defaults.
11172         [a667604c56cd]
11173
11174 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11175
11176         * mon_systrace.c:
11177         Sanity check number of syscall args with argsize. Not really needed
11178         but a little paranoia never hurts.
11179         [6bb455a2c2d6]
11180
11181         * mon_systrace.c, mon_systrace.h:
11182         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
11183         for systrace lengths (since it uses int)
11184         [3cafccffcffd]
11185
11186 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11187
11188         * mon_systrace.c:
11189         Add some memsets for paranoia Fix namespace collsion w/ error Check
11190         rval of decode_args() and update_env() Remove improper setting of
11191         validated variable
11192         [3d385158354d]
11193
11194 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11195
11196         * parse.c, sudo.c, sudo.h:
11197         In -l mode, only check local sudoers file if def_ignore_sudoers is
11198         not set and call LDAP versions from display_privs() and
11199         display_cmnd() instead of directly from main(). Because of this we
11200         need to defer closing the ldap connection until after -l processing
11201         has ocurred and we must pass in the ldap pointer to display_privs()
11202         and display_cmnd().
11203         [1dfc2e8c9f2b]
11204
11205         * ldap.c:
11206         Reorganize LDAP code to better match normal sudoers parsing.
11207         Instead of storing strings for later printing in -l mode we do
11208         another query since the authenticating user and the user being
11209         listed may not be the same (the new -U flag). Also add support for
11210         "sudo -l command".
11211
11212         There is still a fair bit if duplicated code that can probably be
11213         refactored.
11214         [e9568f19bde5]
11215
11216 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11217
11218         * ldap.c:
11219         Replace pass variable with do_netgr for better readability.
11220         [1bba841b6e79]
11221
11222         * ldap.c:
11223         use DPRINTF macro
11224         [02b159b66bb5]
11225
11226         * ldap.c:
11227         estrdup, not strdup
11228         [22cdee7973c1]
11229
11230 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11231
11232         * parse.c:
11233         Add macro to test if the tag changed to improve readability.
11234         [4e11b4819556]
11235
11236         * parse.c:
11237         Avoid printing defaults header if there are no defaults to print...
11238         [41a28627df03]
11239
11240         * glob.c:
11241         Fix a warning on systems without strlcpy().
11242         [6814e0f0e4f4]
11243
11244         * pwutil.c:
11245         Use macros where possible for sudo_grdup() like sudo_pwdup().
11246         [30f201ff35cd]
11247
11248 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11249
11250         * utimes.c:
11251         It is possible for tv_usec to hold >= 1000000 usecs so add in
11252         tv_usec / 1000000.
11253         [794ac4d53a65]
11254
11255 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
11256
11257         * auth/kerb5.c:
11258         The component in krb5_principal_get_comp_string() should be 1, not 0
11259         for Heimdal. From Alex Plotnick.
11260         [fefa351c5044]
11261
11262 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11263
11264         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
11265         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
11266         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
11267         Add efree() for consistency with emalloc() et al. Allows us to rely
11268         on C89 behavior (free(NULL) is valid) even on K&R.
11269         [7876bb80d87c]
11270
11271         * parse.c, sudo.c:
11272         Move initgroups() for -U option into display_privs() so group
11273         matching in sudoers works correctly.
11274         [b074428ad2ca]
11275
11276 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11277
11278         * ldap.c:
11279         Removed duplicate call to ldap_unbind_s introduced along with
11280         sudo_ldap_close.
11281         [19acc1c20f7c]
11282
11283         * parse.c:
11284         Add missing space in Defaults printing
11285         [95d2935bf6d4]
11286
11287 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11288
11289         * pwutil.c:
11290         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
11291         and string copies.
11292         [6b6b241495e5]
11293
11294 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11295
11296         * pwutil.c:
11297         Zero old pw_passwd before replacing with version from shadow file.
11298         [3251b349dfe1]
11299
11300         * configure, configure.in:
11301         Only attempt shadow password detection if PAM is not being used Add
11302         shadow_* variables to make shadow password detection more generic.
11303         [d498a3423ac9]
11304
11305         * configure.in:
11306         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
11307         [04d55bbd5e35]
11308
11309 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11310
11311         * sudoers.pod:
11312         use a non-breaking space to avoid a double space after e.g.
11313         [11cdb54bdf7b]
11314
11315         * sudo.pod:
11316         commna, not colon after e.g.
11317         [8d5875ff72e0]
11318
11319 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11320
11321         * sudo_noexec.c:
11322         Add __ variants of the exec functions. GNU libc at least uses
11323         __execve() internally.
11324         [d1880473d790]
11325
11326         * indent.pro:
11327         Match reality a bit more.
11328         [633e3fa875a7]
11329
11330         * pwutil.c:
11331         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
11332         [128f7b21c2ee]
11333
11334         * pwutil.c:
11335         Store shadow password after making a local copy of struct passwd in
11336         case normal and shadow routines use the same internal buffer in
11337         libc.
11338         [f806052a6ffc]
11339
11340 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11341
11342         * alloc.c, logging.c:
11343         Make varargs usage consistent with the rest of the code.
11344         [3d45affc9851]
11345
11346 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11347
11348         * sudo_noexec.c:
11349         Wrap more of the exec family since on Linux the others do not appear
11350         to go through the normal execve() path.
11351         [8167769b4e19]
11352
11353         * visudo.c:
11354         make print_unused static like proto says
11355         [ecf10e1bae55]
11356
11357         * glob.c:
11358         silence a warning on K&R systems
11359         [2e00425f1a5c]
11360
11361         * alias.c, error.c:
11362         make this build in K&R land
11363         [156f65f8525a]
11364
11365         * parse.c:
11366         make this build in K&R land
11367         [6fc9276889cb]
11368
11369 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11370
11371         * toke.c:
11372         regen
11373         [3b349748cd21]
11374
11375 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11376
11377         * ldap.c:
11378         return(foo) not return foo optimize _atobool() slightly
11379         [11d09d154ed5]
11380
11381         * ldap.c:
11382         Use TRUE/FALSE
11383         [53999320d98f]
11384
11385         * ldap.c:
11386         Reformat to match the rest of sudo's code.
11387         [1bd0f2afa0e7]
11388
11389         * sudo.pod:
11390         I am the primary author
11391         [5d311ecd85c6]
11392
11393 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11394
11395         * Makefile.in, README, RUNSON:
11396         The RUNSON file is toast--it confused too many people and really
11397         isn't needed in a configure-oriented world.
11398         [96a6ef7bbc08]
11399
11400         * INSTALL:
11401         alternate -> alternative
11402         [b65015c5d0a2]
11403
11404         * tgetpass.c:
11405         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
11406         TCSAFLUSH.
11407         [c66b4763ffdc]
11408
11409         * toke.l:
11410         Allow leading blanks before Defaults and Foo_Alias definitions
11411         [2add513d9277]
11412
11413         * Makefile.in:
11414         fix rules to build toke.o and gram.o in devel mode
11415         [96cbb414ebd3]
11416
11417 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11418
11419         * sudoers.pod:
11420         env_keep overrides set_logname
11421         [401877193a15]
11422
11423         * env.c:
11424         Fix disabling set_logname and make env_keep override set_logname.
11425         [0906e7a5ed93]
11426
11427         * compat.h, config.h.in, configure, configure.in:
11428         No longer need memmove()
11429         [43bdb6efe3f2]
11430
11431         * env.c, sudo.c:
11432         Just clean the environment once. This assumes that any further
11433         setenv/putenv will be able to handle the fact that we replaced
11434         environ with our own malloc'd copy but all the implementations I've
11435         checked do.
11436         [11658fe92ba2]
11437
11438 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11439
11440         * env.c, sudo.c:
11441         In -i mode, base the value of insert_env()'s dupcheck flag on
11442         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
11443         [8365b0bd0c71]
11444
11445 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11446
11447         * env.c, sudo.c:
11448         Move setting of user_path, user_shell, user_prompt and prev_user
11449         into init_vars() since user_shell at least is needed there.
11450         [37e22dce66e9]
11451
11452 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11453
11454         * Makefile.in:
11455         fix devel builds
11456         [9fbb15ef164c]
11457
11458         * sudo.c:
11459         Fix some printf format mismatches on error.
11460         [ffc1c3f11740]
11461
11462         * check.c:
11463         Fix some printf format mismatches on error.
11464         [7b3b508adf50]
11465
11466         * configure, gram.c, toke.c:
11467         regen
11468         [aa76f9d8b02a]
11469
11470         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
11471         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
11472         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
11473         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
11474         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
11475         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
11476         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
11477         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
11478         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
11479         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
11480         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
11481         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
11482         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
11483         visudo.pod, zero_bytes.c:
11484         Update copyright years.
11485         [0610c3654739]
11486
11487         * Makefile.binary.in:
11488         Update copyright years.
11489         [d78ffc9f2e2b]
11490
11491         * LICENSE:
11492         Update copyright years.
11493         [f60473bca4b1]
11494
11495         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
11496         version 1.7
11497         [aa977a544ca1]
11498
11499         * WHATSNEW:
11500         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
11501         [ecfcf7269c14]
11502
11503 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11504
11505         * compat.h, logging.h, sudo.h:
11506         Add __printflike and use it with gcc to warn about printf-like
11507         format mismatches
11508         [b192ad4a0548]
11509
11510 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11511
11512         * CHANGES, ChangeLog:
11513         Replaced CHANGES file with ChangeLog generated from cvs logs
11514         [d9ace9dab98f]
11515
11516         * set_perms.c:
11517         Use warning/error instead of perror/fatal.
11518         [e33259df7738]
11519
11520         * config.guess:
11521         Update OpenBSD section
11522         [9d2c23de6801]
11523
11524         * UPGRADE:
11525         Add upgrading noted for 1.7
11526         [1fb6b6d6df07]
11527
11528         * env.c, sudo.c, sudoers.pod:
11529         Instead of zeroing out the environment, just prune out entries based
11530         on the env_delete and env_check lists. Base building up the new
11531         environment on the current environment and the variables we removed
11532         initially.
11533         [fc192df8fd15]
11534
11535         * config.h.in, configure, configure.in, sudo.c:
11536         Set locale to "C" if locales are supported, just to be safe.
11537         [91fbaa98f02e]
11538
11539         * toke.c, toke.l:
11540         Cast?argument to ctype functions to unsigned char.
11541         [e096b4d65796]
11542
11543 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11544
11545         * env.c:
11546         correct value for DID_USER
11547         [b5b05d36ec15]
11548
11549         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
11550         #include <compat.h> not "compat.h"
11551         [7a0ad9a0ccd7]
11552
11553         * defaults.c:
11554         Reset the environment by default.
11555         [4ecc6423e0f0]
11556
11557         * sudo.c:
11558         Alloc an extra slot in NewArgv. Removes the need to malloc an new
11559         vector if execve() fails.
11560         [83dfb6f584a7]
11561
11562 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11563
11564         * INSTALL, config.h.in, configure, configure.in, sudo.c:
11565         Use execve(2) and wrap the command in sh if we get ENOEXEC.
11566         [c0c6af4e2a21]
11567
11568 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11569
11570         * sudo_noexec.c:
11571         Only include time.h on systems that lack struct timespec which gets
11572         defind in compat.h (using time_t).
11573         [e373e518b4cb]
11574
11575         * sudo_noexec.c:
11576         Include time.h for time_t in compat.h for systems w/o struct
11577         timespec.
11578         [a34b5637e458]
11579
11580         * compat.h, config.h.in, configure, configure.in:
11581         use bcopy on systems w/o memmove
11582         [f835eafd78c6]
11583
11584         * compat.h:
11585         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
11586         use to gcc >= 2.8.
11587         [1cb9a4e58566]
11588
11589         * Makefile.in:
11590         Add explicit rule to build sudo_noexec.lo
11591         [df1dfcf8dd77]
11592
11593 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11594
11595         * INSTALL.configure, Makefile.in:
11596         No longer depend on VPATH; pointed out a bunch of missed
11597         dependencies.
11598         [601a45d4af6b]
11599
11600         * TROUBLESHOOTING:
11601         Help for PAM when account section is missing
11602         [9b8221256756]
11603
11604         * auth/pam.c:
11605         Give user a clue when there is a missing "account" section in the
11606         PAM config.
11607         [2529625c0495]
11608
11609         * auth/pam.c:
11610         Better error handling.
11611         [518c9bda23d8]
11612
11613         * config.h.in, configure, configure.in:
11614         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
11615         possible. Silences a warning about isblank() on linux.
11616         [19c94d7ecdc8]
11617
11618         * auth/pam.c:
11619         Fix typo (missing comma) that caused an incorrect number of args to
11620         be passed to log_error().
11621         [0099dfec560f]
11622
11623 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11624
11625         * pwutil.c:
11626         Don't try to destroy a tree we didn't create.
11627         [d43c4fe03aa4]
11628
11629 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11630
11631         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
11632         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
11633         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
11634         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
11635         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
11636         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
11637         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
11638         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
11639         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
11640         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
11641         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
11642         Add __unused to rcsids
11643         [ad6b4ac45705]
11644
11645 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11646
11647         * configure, configure.in:
11648         Fix error message when mixing invalid auth types
11649         [68069b3ff5bc]
11650
11651         * INSTALL:
11652         PAM, AIX auth, BSD auth and login_cap are now on by default if the
11653         OS supports them.
11654         [4e44e9098cf0]
11655
11656         * auth/sudo_auth.h, config.h.in:
11657         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
11658         [2d569b43b23e]
11659
11660         * configure.in:
11661         Better checking for conflicting authentication methods Display the
11662         authentication methods used at the end of configure Rename --with-
11663         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
11664         --with-pam, --with-logincap by default on systems that support them
11665         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
11666         OSREV has full version number
11667         [a21115b6fe9f]
11668
11669 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11670
11671         * def_data.c, def_data.in, sudo.c, sudoers.pod:
11672         s/-O/-C/
11673         [ee73f1b81923]
11674
11675 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11676
11677         * configure.in:
11678         Replace: test -n "$FOO" || FOO="bar"
11679
11680         With: : ${FOO='bar'}
11681         [37552d9054fc]
11682
11683 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11684
11685         * pwutil.c, testsudoers.c, tsgetgrpw.c:
11686         Use function pointers to only call private passwd/group routines
11687         when using a nonstandard passwd/group file.
11688         [215908681dfb]
11689
11690 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11691
11692         * CHANGES:
11693         sync
11694         [2e55c03f5790]
11695
11696         * tsgetgrpw.c:
11697         Can't use strtok() since it doesn't handle empty fields so add
11698         getpwent()/getgrent() functions and call those.
11699         [bdaa5b0db70e]
11700
11701 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11702
11703         * Makefile.in:
11704         Fix dummied out toke.c and gram.c dependencies.
11705         [4b909c8b2ebe]
11706
11707         * Makefile.in:
11708         Rename PARSESRCS -> GENERATED since it is only used in the clean
11709         target Add devdir variable and use it to specify the path to parser
11710         sources
11711         [f27b3f41ca23]
11712
11713         * configure:
11714         regen
11715         [22c6435dbd46]
11716
11717         * configure.in:
11718         Add a devdir variables that defaults to $(srcdir) and is set to . if
11719         --devel was specified. Allows for proper dependecies building the
11720         parser.
11721         [a36d694c6d21]
11722
11723         * testsudoers.c:
11724         Add support for custom passwd/group files.
11725         [296549ff4b87]
11726
11727         * Makefile.in:
11728         Build private copy of pwutil.o for testsudoers with MYPW defined so
11729         it uses our own passwd/group routines.
11730         [bafa54ec78ca]
11731
11732         * visudo.c:
11733         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
11734         stubs instead. We can now just use the caching sudo_*{pw,gr}*
11735         functions in pwutil.c Add comment about wanting to call
11736         sudo_endpwent/sudo_endgrent in cleanup()
11737         [7e59d6b5510d]
11738
11739         * tsgetgrpw.c:
11740         Remove caching; we will just use what is in pwutil.c Use global
11741         buffers for passwd/group structs Rename functions from sudo_* to
11742         my_*
11743         [8c1e068f574c]
11744
11745         * logging.c, sudo.c:
11746         g/c pwcache_init/pwcache_destroy
11747         [60a24909b947]
11748
11749         * sudo.h:
11750         Undo last commit and add sudo_setspent and sudo_endspent instead.
11751         [bac80db08296]
11752
11753         * getspwuid.c, pwutil.c:
11754         Move all but the shadow stuff from getspwuid.c to pwutil.c and
11755         pwcache_get and pwcache_put as they are no longer needed. Also add
11756         preprocessor magic to use private versions of the passwd and group
11757         routines if MYPW is defined (for use by testsudoers).
11758         [a16b8678a426]
11759
11760         * tsgetgrpw.c:
11761         zero out struct passwd/group before filling it in so if there are
11762         fields we don't handle they end up as 0.
11763         [274cb6a93301]
11764
11765         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
11766         Adapt to pwutil.c
11767         [43ebd04c8b82]
11768
11769         * Makefile.in:
11770         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
11771         readability.
11772         [7f88c6061e2d]
11773
11774         * tsgetgrpw.c:
11775         Passwd and group lookup routines for testsudoers that support
11776         alternate passwd and group files.
11777         [d7803101d34e]
11778
11779         * getspwuid.c, pwutil.c:
11780         Split off pw/gr cache and dup code into its own file. This allows
11781         visudo and testsudoers to use the pw/gr cache too.
11782         [ef333d3ffedf]
11783
11784 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11785
11786         * parse.c:
11787         Print Defaults info in "sudo -l" output and wrap lines based on the
11788         terminal width.
11789         [e559eae4250e]
11790
11791 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11792
11793         * match.c, testsudoers.c, visudo.c:
11794         Only check group vector in usergr_matches() if we are matching the
11795         invoking or list user. Always check the group members, even if
11796         there was a group vector.
11797         [d0c7ceb2a041]
11798
11799 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11800
11801         * LICENSE, Makefile.in, fnmatch.3:
11802         No longer bundle fnmatch.3
11803         [72db4a4ff4e1]
11804
11805         * CHANGES, TODO:
11806         checkpoint
11807         [e92781bfd99c]
11808
11809 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11810
11811         * sudo.c:
11812         sort usage
11813         [15e3b876ec2c]
11814
11815         * sudo.pod:
11816         Sort command line options
11817         [c1fa56584bc4]
11818
11819         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
11820         sudo.pod, sudoers.pod:
11821         Add closefrom sudoers option to start closing at a point other than
11822         3. Add closefrom_override sudoers option and -C sudo flag to allow
11823         the user to specify a different closefrom starting point.
11824         [370652b099d1]
11825
11826         * pathnames.h.in:
11827         Add _PATH_DEVNULL for those without it.
11828         [0c4c3e0ceb8b]
11829
11830         * LICENSE:
11831         no more UCB strcasecmp
11832         [397a6298e07f]
11833
11834         * strcasecmp.c:
11835         replace BSD licensed one with version derived from pdksh
11836         [d7cfda8c57a2]
11837
11838 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11839
11840         * sudo.c:
11841         Fix last commit.
11842         [7afb9a180532]
11843
11844         * sudo.c:
11845         Make sure stdin, stdout and stderr are open and dup them to
11846         /dev/null if not.
11847         [590f387068bd]
11848
11849 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11850
11851         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
11852         add sudo_ldap_close
11853         [4273a36765a7]
11854
11855         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
11856         Use TIME_WITH_SYS_TIME
11857         [c32b59bf15fb]
11858
11859         * config.h.in, configure, configure.in:
11860         Add TIME_WITH_SYS_TIME_H
11861         [57cb146f451d]
11862
11863 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11864
11865         * env.c:
11866         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
11867         unconditionally on darwin. From Toby Peterson.
11868         [d69959681c87]
11869
11870         * getspwuid.c:
11871         Check rbinsert() return value. In the case of faked up entries
11872         there is usually a negative response cached that we need to
11873         overwrite.
11874
11875         In pwfree() don't try to zero out a NULL pw_passwd pointer.
11876         [00b32d1a48c1]
11877
11878         * mon_systrace.c:
11879         Use the double fork trick to avoid the monitor process being waited
11880         for by the main program run through sudo.
11881         [e0ce556712ff]
11882
11883 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11884
11885         * sudo.c:
11886         Call initgroups() in -U mode so group matches work normally.
11887         [2235bea15283]
11888
11889         * def_data.h, mkdefaults:
11890         Don't print a trailing comma for the last entry in enum def_tupple
11891         [c43a96bb31df]
11892
11893 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11894
11895         * sudoers.cat, sudoers.man.in, sudoers.pod:
11896         Mention values when lecture, listpw and verifypw are used in boolean
11897         context.
11898         [a0b5c0abaccf]
11899
11900         * def_data.c, def_data.in:
11901         verifypw when used in a boolean TRUE context should be "all", not
11902         "any".
11903         [2eb076ddd5e2]
11904
11905 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11906
11907         * def_data.in, defaults.c:
11908         Allow tuples that can be used as booleans to be used as boolean
11909         TRUE. In this case the 2nd possible value of the tuple is used for
11910         TRUE.
11911         [bd99aa77e88b]
11912
11913 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11914
11915         * configure, configure.in:
11916         Correct the test for 2-parameter timespecsub
11917         [d41c9cb26b97]
11918
11919         * sudo.h:
11920         Add strub struct definitions for passwd, timeval and timespec
11921         [c4ce5c43d8c5]
11922
11923         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
11924         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
11925         and fix a typo in the gettimeofday check.
11926         [8ac9893057ce]
11927
11928 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11929
11930         * match.c, testsudoers.c:
11931         Deal with user_stat being NULL as it is for visudo and testsudoers.
11932         [3605a6ff64d0]
11933
11934         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
11935         Add -U option to use in conjunction with -l instead of -u. Add
11936         support for "sudo -l command" to test a specific command.
11937         [99638789d415]
11938
11939         * gram.c, gram.y, sudo.c:
11940         Set safe_cmnd after sudoers_lookup() if it has not been set.
11941         Previously it was set by sudo "ALL" in the parser but at that point
11942         the fully-qualified pathname has not yet been found.
11943         [ac30d98f8225]
11944
11945 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11946
11947         * parse.c, testsudoers.c:
11948         Correctly handle multiple privileges per userspec and runas
11949         inheritence.
11950         [a98a965181af]
11951
11952 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11953
11954         * defaults.c:
11955         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
11956         [031d3cd4a848]
11957
11958 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11959
11960         * toke.c, toke.l:
11961         make per-command defaults work with sudoedit
11962         [e56fe33db916]
11963
11964         * ldap.c, parse.c, sudo.c, sudo.h:
11965         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
11966         Instead, we just set the approriate defaults variable.
11967         [756eeecc1d86]
11968
11969         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
11970         Document per-command Defaults.
11971         [92a0f84b91c1]
11972
11973         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
11974         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
11975         Add support for command-specific Defaults entries. E.g.
11976         Defaults!/usr/bin/vi noexec
11977         [be3d52bf01cf]
11978
11979         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
11980         Change an occurence of user_matches() -> runas_matches() missed
11981         previously runas_matches(), host_matches() and cmnd_matches() only
11982         really need to pass in a list of members. user_matches() still
11983         needs to pass in a passwd struct because of "sudo -l"
11984         [833b22fc6fa0]
11985
11986         * parse.c:
11987         Check def_authenticate, def_noexec and def_monitor when setting
11988         return flags. XXX May be better to just set the defaults directly
11989         and get rid of those flags.
11990         [b6db22b59d69]
11991
11992         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
11993         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
11994         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
11995         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
11996         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
11997         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
11998         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
11999         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
12000         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
12001         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
12002         visudo.c, zero_bytes.c:
12003         Use: #include <config.h> Not: #include "config.h" That way we get
12004         the correct config.h when build dir != src dir
12005         [97e5670a442b]
12006
12007         * Makefile.in:
12008         Back out part of rev 1.263; fix -I order
12009         [197ea01cad5d]
12010
12011         * toke.c, toke.l:
12012         More robust parsing if #include; could be much better still.
12013         [31bc3cd8f045]
12014
12015         * sudo_edit.c, visudo.c:
12016         Make arg splitting in visudo and sudoedit consistent.
12017         [7bc74485f246]
12018
12019         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
12020         Split alias routines out into their own file.
12021         [d90f633cf9ae]
12022
12023         * error.h:
12024         __attribute__ is already defined in compat.h
12025         [676ed3fe9203]
12026
12027         * visudo.c:
12028         quit() should not be __noreturn__ as it is non-void on some
12029         platforms.
12030         [e528c2b6ba10]
12031
12032         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
12033         Add local error/warning functions like err/warn but that call an
12034         additional cleanup routine in the error case. This means we no
12035         longer need to compile a special version of alloc.o for visudo.
12036         [e78e8aae882e]
12037
12038         * parse.h:
12039         Clarify comments about the data structures
12040         [ae894e266701]
12041
12042 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12043
12044         * visudo.c:
12045         Add support for VISUAL and EDITOR containing command line args. If
12046         env_editor is not set any args in VISUAL and EDITOR are ignored.
12047         Arguments are also now supported in def_editor.
12048         [ff7303b8e298]
12049
12050 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12051
12052         * parse.h:
12053         alias_matches() is no more
12054         [b59825e28084]
12055
12056         * CHANGES, TODO:
12057         sync
12058         [2b8f5f63c1de]
12059
12060         * Makefile.in:
12061         When regenerating the parser, don't replace gram.h unless it has
12062         changed.
12063         [819949668018]
12064
12065         * Makefile.in:
12066         remove Makefile.binary for distclean
12067         [351eec8d00b2]
12068
12069         * env.c:
12070         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
12071         sure we can't overflow new_env.
12072         [3284d17b9c6d]
12073
12074         * sudo_edit.c:
12075         paranoia when stripping trailing slashes from tempdir.
12076         [012f1aa2b81f]
12077
12078         * sudo.c:
12079         Set user_ngroups to 0 if getgroups() returns an error.
12080         [c46d43e9449a]
12081
12082 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12083
12084         * config.h.in, configure, configure.in, sudo.c:
12085         Add configure check for getgroups()
12086         [5d8a214e2cef]
12087
12088         * ldap.c:
12089         Use supplementary group vector in struct sudo_user.
12090         [3d0c463c034d]
12091
12092         * match.c:
12093         Only do string comparisons on the group members if there is no
12094         supplemental group list.
12095         [be1c8362f7ef]
12096
12097         * CHANGES, TODO:
12098         sync
12099         [db188bc5b975]
12100
12101         * sudo_edit.c:
12102         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
12103         chop off any trailing slashes we see and add an explicit one.
12104         [e1b477dafee1]
12105
12106         * match.c:
12107         remove bogus XXX comment
12108         [8aecb8a28d40]
12109
12110         * match.c:
12111         Get rid of alias_matches and correctly fall through to the non-alias
12112         cases when there is no alias with the specified name.
12113         [2cd555246f09]
12114
12115         * getspwuid.c:
12116         Cache non-existent passwd/group entries too.
12117         [8de9a467d271]
12118
12119         * gram.c:
12120         regen
12121         [9ece18c58f36]
12122
12123         * getspwuid.c:
12124         fix typo
12125         [9a7ae371eac1]
12126
12127         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
12128         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
12129         Implement group caching and use the passwd and group caches
12130         throughout.
12131         [f1d8c5015169]
12132
12133 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12134
12135         * match.c:
12136         Properly negate the return value of alias_matches() when
12137         appropriate.
12138         [ce59c4ce77ad]
12139
12140         * match.c:
12141         Make hostname_matches() return TRUE for a match, else FALSE like the
12142         caller expects.
12143         [1dc03902d3a2]
12144
12145         * Makefile.in:
12146         Add missing dependencies on gram.h
12147         [4f94bbb1d50c]
12148
12149         * match.c:
12150         Use runas_matches in alias_matches() now that we have it.
12151         [284d22e91178]
12152
12153         * parse.c, parse.h:
12154         Expand aliases in "sudo -l" mode
12155         [f67a38b79c44]
12156
12157         * gram.y, match.c:
12158         Use ALIAS for the member type when storing an alias instead of
12159         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
12160         more generic type. Expand runas_matches instead of calling
12161         user_matches() inside of it since user_matches() looks up
12162         USERALIASes, not RUNASALIASes.
12163         [52004d75232b]
12164
12165         * CHANGES, getspwuid.c:
12166         Paranoia; zero out pw_passwd before freeing passwd entry.
12167         [bd1b22638f00]
12168
12169         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
12170         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
12171         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
12172         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
12173         Add local error/warning functions like err/warn but that call an
12174         additional cleanup routine in the error case. This means we no
12175         longer need to compile a special version of alloc.o for visudo.
12176         [25000b676cfe]
12177
12178         * match.c:
12179         Use userpw_matches() to compare usernames, not strcmp(), since the
12180         latter checks for "#uid".
12181         [fcbe4b859f66]
12182
12183         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
12184         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
12185         the other by user name. The data returned from the cache should be
12186         considered read-only and is destroyed by sudo_endpwent().
12187         [ee2418ff3f86]
12188
12189         * match.c:
12190         add cast to uid_t
12191         [eb6415302d84]
12192
12193         * gram.y:
12194         missing free in alias_destroy
12195         [572ecb680ad8]
12196
12197         * redblack.c:
12198         Can't use rbapply() for rbdestroy since the destructor is passed a
12199         data pointer, not a node pointer.
12200         [11ce713830c0]
12201
12202         * getspwuid.c, logging.c, sudo.c, sudo.h:
12203         Create and use private versions of setpwent() and endpwent() that
12204         set/end the shadow password file too.
12205         [616bc76d23bf]
12206
12207         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
12208         Store aliases in a red-black tree.
12209         [ce017d540416]
12210
12211         * Makefile.in, redblack.c, redblack.h:
12212         red-black tree implementation
12213         [cd5586e8f48b]
12214
12215         * visudo.c:
12216         Edit all sudoers file if there were unused or undefined aliases and
12217         we are in strict mode.
12218         [b6d5f5bb7262]
12219
12220 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12221
12222         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
12223         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
12224         Bring back the "secure_path" Defaults option now that Defaults take
12225         effect before the path is searched.
12226         [2e52c0e27606]
12227
12228 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12229
12230         * logging.c, parse.c:
12231         A user can always list their own entries, even with -u. Better error
12232         message when failing to list another user's entries.
12233         [e2e24deb0071]
12234
12235         * parse.c, sudo.c, sudo.h:
12236         The syntax to list another user's entries is now "-u otheruser -l".
12237         Only root or users with sudo "ALL" may list other user's entries.
12238         [3c0657e8f5fe]
12239
12240         * sudo.cat, sudo.man.in, sudo.pod:
12241         Update env variable info in SECURITY NOTES
12242         [299716071024]
12243
12244         * env.c:
12245         strip CDPATH too
12246         [9b97643b26f9]
12247
12248         * env.c:
12249         strip exported bash functions from the environment.
12250         [9e5090c8284f]
12251
12252 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12253
12254         * sudo.c:
12255         Only reset sudo_user.pw based on SUDO_USER environment variables for
12256         real commands and sudoedit. This avoids a confusing message when a
12257         user tries "sudo -l" or "sudo -v" and is denied.
12258         [3ea6d0053274]
12259
12260         * gram.c, gram.y, parse.h:
12261         Extend LIST_APPEND to deal with appending lists too
12262         [d963e42f622f]
12263
12264 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12265
12266         * logging.c:
12267         Convert some bitwise AND to ISSET
12268         [130dc40d268e]
12269
12270         * lex.yy.c, toke.c:
12271         toke.c replaces lex.yy.c
12272         [048858df79e7]
12273
12274         * CHANGES, TODO:
12275         sync
12276         [d19e7abf251c]
12277
12278         * BUGS:
12279         new parser fixes most of the outstanding bugs
12280         [0891f66e3758]
12281
12282         * configure:
12283         regen
12284         [1a3358cc7283]
12285
12286         * visudo.c:
12287         Rework for the new parser. Now checks for unused aliases in sudoers.
12288         [ad462ede3094]
12289
12290         * testsudoers.c:
12291         Rewrite for the new parser. Now supports a -d flag (dump) and adds
12292         a -h flag (host). It now defaults to the local hostname unless
12293         otherwise specified.
12294         [1b69685cc601]
12295
12296         * sudo.h:
12297         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
12298         [2e4fb3abfef0]
12299
12300         * sudo.c:
12301         Update for new parse. We now call find_path() *after* we have
12302         updated the global defaults based on sudoers. Also adds support for
12303         listing other user's privs if you are root.
12304         [cf3db9fc3024]
12305
12306         * mon_systrace.c:
12307         Working LDAP support; also remove a now-unneeded rewind().
12308         [649ecf1baf6b]
12309
12310         * logging.c, logging.h:
12311         Add NO_STDERR flag.
12312         [6cb935af94e0]
12313
12314         * ldap.c:
12315         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
12316         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
12317         connecto to LDAP, apply the default options, find the command in the
12318         user's path, and then check whether the user is allowed to run it.
12319         The important thing here is that the default runas user may be
12320         specified as a default option and that needs to be set before we
12321         search for the command.
12322         [fc0426abc6f1]
12323
12324         * ldap.c:
12325         Add casts to unsigned char for isspace() to quiet a gcc warning.
12326         [e5358e3df439]
12327
12328         * defaults.h:
12329         Add prototype for update_defaults()
12330         [564dac3db74e]
12331
12332         * defaults.c:
12333         Don't warn about line numbers now that we operate on a set of data
12334         structures (or LDAP) and not a file.
12335         [bcd9ffb9b67c]
12336
12337         * config.h.in:
12338         No long use lsearch()
12339         [9d048c587319]
12340
12341         * Makefile.in:
12342         Update for new and changed file names.
12343         [6f424a7c4515]
12344
12345         * LICENSE:
12346         no more BSD lsearch.c
12347         [463a96d89026]
12348
12349         * match.c:
12350         foo_matches() routines now live in match.c Added user_matches(),
12351         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
12352         that operate on the parsed sudoers file.
12353         [b14da8a0567e]
12354
12355         * parse.lex, toke.l:
12356         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
12357         WORD no longer needs to exclude '@' kill yywrap()
12358         [a922294eb7b7]
12359
12360         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
12361         sudo.tab.h:
12362         Rewritten parser that converts sudoers into a set of data
12363         structures. This eliminates ordering issues and makes it possible to
12364         apply sudoers Defaults entries before searching for the command.
12365         [30d2ec4d203c]
12366
12367         * configure.in, emul/search.h, lsearch.c:
12368         We won't be using lsearch() any longer.
12369         [29c4d54bfac0]
12370
12371         * ldap.c:
12372         sudo should not send mail if someone who runs 'sudo -l' has no
12373         entry.
12374         [6fc27a69fd9c]
12375
12376         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12377         visudo.man.in:
12378         regen
12379         [8166347917f3]
12380
12381         * visudo.pod:
12382         Update warnings to match new visudo
12383         [004c0766798f]
12384
12385         * sudoers.pod:
12386         The new parser doesn't have the old ordering constraints.
12387         [ffd43bd08661]
12388
12389         * sudo.pod:
12390         Document that -l now takes an optional username argument
12391         [278f9557de8b]
12392
12393 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12394
12395         * RUNSON:
12396         AIX 5.2.0.0 works
12397         [523acd29d858]
12398
12399         * ldap.c:
12400         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
12401         a compilation problem with Solaris 9's native LDAP.
12402
12403         Set FLAG_MONITOR when needed.
12404         [35824ade672d]
12405
12406 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12407
12408         * mon_systrace.c:
12409         Call sudo_goodpath() *after* changing the cwd to match the traced
12410         process. Fixes relative paths.
12411         [12ee111d0ad7]
12412
12413 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12414
12415         * testsudoers.c:
12416         Kill set_perms() stub--it is no longer needed.
12417         [116ed702935d]
12418
12419 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12420
12421         * sudoers.cat, sudoers.man.in, sudoers.pod:
12422         stay_setuid now requires set_reuid() or setresuid()
12423         [8511f67e25d5]
12424
12425         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
12426         configure.in, set_perms.c, sudo.c, sudo.h:
12427         Kill use of POSIX saved uids; they aren't worth bothering with.
12428         [b3b1f19f18c1]
12429
12430 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12431
12432         * glob.c:
12433         remove call to issetugid()
12434         [63f2e492c08f]
12435
12436         * sudoers.cat, sudoers.man.in, sudoers.pod:
12437         Remove warning about wildcards. Now that we use glob() the bug is
12438         fixed.
12439         [b15729d32266]
12440
12441         * parse.c:
12442         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
12443         each result that matches the basename of the user's command. This
12444         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
12445         /usr/bin/blah. Fixes bug #143.
12446         [e31eb6310340]
12447
12448         * config.h.in, configure, configure.in:
12449         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
12450         GLOB_BRACE)
12451         [677ed6661e17]
12452
12453         * config.h.in, configure, configure.in:
12454         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
12455         [aaa2329dd266]
12456
12457         * LICENSE:
12458         reference glob
12459         [bedc9a923423]
12460
12461         * glob.c:
12462         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
12463         removed.
12464         [81799451473c]
12465
12466         * emul/glob.h:
12467         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
12468         removed.
12469         [0335cf31fb1e]
12470
12471 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12472
12473         * mon_systrace.c:
12474         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
12475         means we are out of space in the stack gap...
12476         [5b02b702021e]
12477
12478         * CHANGES:
12479         sync
12480         [be3826273e56]
12481
12482         * mon_systrace.c:
12483         Take a stab at ldap sudoers support here.
12484         [9d023695b0de]
12485
12486         * mon_systrace.c, mon_systrace.h:
12487         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
12488         doesn't cause reboot to inadvertanly kill itself.
12489         [d4aab2365610]
12490
12491         * mon_systrace.c:
12492         put "monitor" in the proctitle, not "systrace"
12493         [9a9025767d86]
12494
12495         * mon_systrace.c:
12496         When modifying the environment, don't replace envp when we can get
12497         away with just rewriting pointers in the traced process.
12498         [c03622f7a2e2]
12499
12500         * mon_systrace.c, mon_systrace.h:
12501         Add environment updating via STRIOCINJECT (if available).
12502         [037291016870]
12503
12504         * sudoers.cat, sudoers.man.in:
12505         regen
12506         [869acc511046]
12507
12508 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12509
12510         * lex.yy.c:
12511         regen
12512         [4e61a9bd3c97]
12513
12514         * parse.lex:
12515         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
12516         [b70d7bd6e147]
12517
12518         * mon_systrace.c:
12519         Include file is now mon_systrace.h
12520         [ead4e36d92ae]
12521
12522         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
12523         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
12524         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
12525         No longer call it tracing, it is now "monitoring" which should be
12526         more a obvious name to non-hackers.
12527         [aa811ded0789]
12528
12529 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12530
12531         * mon_systrace.c, mon_systrace.h:
12532         Fix some XXX
12533         [a271072dacc6]
12534
12535         * mon_systrace.c, mon_systrace.h:
12536         No need to include syscall.h, use 1024 as the max # of entries (the
12537         max that systrace(4) allows).
12538
12539         Only need to use SYSTR_POLICY_ASSIGN once
12540
12541         Change check_syscall() -> find_handler() and have it return the
12542         handler instead of just running it. We need this since handler now
12543         have two parts: one part that generates and answer and another that
12544         gets called after the answer is accepted (to do logging).
12545
12546         Add some missing check_exec for emul execv
12547         [a89d243f0525]
12548
12549         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
12550         Add $Sudo$ tags.
12551         [6f3fedb0daba]
12552
12553         * config.h.in:
12554         Add missing HAVE_LINUX_SYSTRACE_H
12555         [ff75ab7bfc53]
12556
12557         * Makefile.in:
12558         add trace_systrace.o dependency
12559         [88a408668ab2]
12560
12561 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12562
12563         * configure, configure.in:
12564         Also look for systrace.h in /usr/include/linux
12565         [98b98b436cf3]
12566
12567         * mon_systrace.c, mon_systrace.h:
12568         Move all struct defs and prototypes into trace_systrace.h and mark
12569         all but systace_attach() static.
12570         [85511253b570]
12571
12572         * mon_systrace.c, mon_systrace.h:
12573         Add support for tracing emulations. At the moment, all emulations
12574         are compiled in. It might make sense to #ifdef them in the future,
12575         though this impeeds readability.
12576         [87bb50abf277]
12577
12578         * Makefile.in, configure, configure.in:
12579         rename systrace.c -> trace_systrace.c
12580         [31cfa4407d93]
12581
12582         * parse.yacc, sudo.tab.c:
12583         Allow this to build with a K&R compiler again
12584         [32876af5bb98]
12585
12586         * TODO:
12587         sync
12588         [46865bd70f7c]
12589
12590         * compat.h, sudo.c, visudo.c:
12591         Use __attribute__((__noreturn__))
12592         [65bbad71fe89]
12593
12594         * visudo.c:
12595         Exit() takes a negative value to indicate it was not called via
12596         signal.
12597         [b93032ed7b60]
12598
12599         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
12600         visudo.man.in:
12601         regen
12602         [45bcf4661558]
12603
12604         * Makefile.in, visudo.c:
12605         Define Err() and Errx() that are like err() and errx() but call
12606         Exit() instead of exit(). Build private copy of alloc.o for visudo
12607         that calls Err() and Errx().
12608         [c6d02bf42edd]
12609
12610 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
12611
12612         * lex.yy.c, sudo.tab.c:
12613         regen
12614         [39de7e7c59da]
12615
12616         * CHANGES:
12617         sync
12618         [ba481d9ed1aa]
12619
12620         * visudo.c:
12621         Overhaul visudo for editing multiple files: o visudo has been
12622         broken out into functions (more work needed here) o each file is
12623         now edited before sudoers is re-parsed o if a #include line is
12624         added that file will be edited too
12625
12626         TODO: o cleanup temp files when exiting via err() or errx() o
12627         continue breaking things out into separate functions
12628         [80c35cf534eb]
12629
12630         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
12631         Add keepopen arg to open_sudoers that open_sudoers can use to
12632         indicate to the caller that the fd should not be closed when it is
12633         done with it. To be used by visudo to keep locked fds from being
12634         closed prematurely (and thus losing the lock).
12635         [f330fe632470]
12636
12637         * parse.yacc, sudo.c:
12638         Add errorfile global that contains the name of the file that caused
12639         the error.
12640         [98079c7a37ed]
12641
12642         * parse.lex:
12643         return COMMENT to yacc grammar for a #include line
12644         [2024a8de4fa8]
12645
12646         * parse.lex:
12647         Remove us of unput() in favor of yyless() which is cheaper.
12648         [c61291902beb]
12649
12650         * parse.yacc:
12651         Allow an empty sudoers file.
12652         [62fb111db2e7]
12653
12654 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12655
12656         * mon_systrace.c:
12657         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
12658         [9e15869ef597]
12659
12660         * lex.yy.c, sudo.tab.c:
12661         regen
12662         [c29bdd43bfad]
12663
12664         * visudo.c:
12665         Do signal setup before calling edit_sudoers(). Don't shadow the
12666         "quiet" global.
12667         [74252efd09ff]
12668
12669         * visudo.c:
12670         If a sudoers file includes other files, edit those too. Does not yes
12671         deal with creating the new includes files itself.
12672         [06af7b9c173f]
12673
12674         * testsudoers.c:
12675         init_parser now takes a path
12676         [b5ee186eb192]
12677
12678         * parse.c, parse.h, parse.lex, parse.yacc:
12679         More scaffolding for dealing with multiple sudoers files: o
12680         init_parser() now takes a path used to populate the sudoers global
12681         o the sudoers global is used to print the correct file in yyerror()
12682         o when switching to a new sudoers file, perserve old file name and
12683         line number
12684         [d9be4970b8bd]
12685
12686         * Makefile.in, pathnames.h.in:
12687         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
12688         multiple sudoers files.
12689         [6ccc4e921c43]
12690
12691         * parse.c, sudo.c:
12692         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
12693         we start at the right file position when reading include files.
12694         [91fcb961e7a4]
12695
12696         * sudoers.pod:
12697         document #include
12698         [fbb92a25a726]
12699
12700         * lex.yy.c:
12701         regen
12702         [50cd7a4c9dff]
12703
12704         * parse.lex:
12705         Add max depth of 128 for the include stack to avoid loops.
12706
12707         Since yyerror() doesn't stop parsing, pass return values back to
12708         yylex and call yyterminate() on error.
12709         [e79dbffb729d]
12710
12711 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12712
12713         * sudoers.pod:
12714         document tracing
12715         [165a467eadd8]
12716
12717         * sudo.pod:
12718         Mention PREVENTING SHELL ESCAPES section of sudoers man page
12719         [3217ccecd834]
12720
12721         * lex.yy.c, sudo.tab.c:
12722         regen
12723         [fbd58d1d3a76]
12724
12725         * parse.lex:
12726         Add support for #include in sudoers (visudo support TBD)
12727         [a78015ca81af]
12728
12729         * parse.yacc:
12730         make yyerror()'s argument const
12731         [7d8e168c019a]
12732
12733         * testsudoers.c, visudo.c:
12734         Add open_sudoers() stubs.
12735         [087466787198]
12736
12737         * sudo.c, sudo.h:
12738         Rename check_sudoers() open_sudoers() and make it return a FILE *
12739         [142fc511fc65]
12740
12741 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12742
12743         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
12744         version.h:
12745         Crank version
12746         [1adc3f839480]
12747
12748         * Makefile.in, sudo.psf:
12749         Better HP-UX depot construction
12750         [2d952b000e63]
12751
12752 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
12753
12754         * mon_systrace.c:
12755         o Made children global so check_exec() can lookup a child. o
12756         Replaced uid in struct childinfo with struct passwd * (for runas) o
12757         new_child() now takes a parent pid so the runas info can be
12758         inherited o Added find_child() to lookup a child by its pid o
12759         update_child() now fills in a struct passwd o Converted the big
12760         if/else mess in set_policy to a switch o Syscalls that change uid
12761         are now "ask" so we get SYSTR_MSG_UGID events
12762         [29b9ea3f09a3]
12763
12764         * getspwuid.c:
12765         Add flag to sudo_pwdup that indicates whether or not to lookup the
12766         shadow password. Will be used to a struct passwd that has the
12767         shadow password already filled in.
12768         [e19d43dd7238]
12769
12770         * mon_systrace.c:
12771         add missing increment of addr in read_string()
12772         [f9eb0f060cb6]
12773
12774         * mon_systrace.c:
12775         Remove bogus call to update_child() and some cosmetic fixes
12776         [701ab0b97fef]
12777
12778         * mon_systrace.c:
12779         Don't leak /dev/systrace fd to tracee Make initialized global for
12780         simplicity If STRIOCATTACH returns EBUSY we are already being traced
12781         Check for user_args == NULL in setproctitle() call Add missing calls
12782         to STRIOCANSWER
12783         [1956edf9bc3a]
12784
12785         * sudo.c:
12786         g/c sudo_pwdup proto
12787         [b7c4d6249ecb]
12788
12789         * Makefile.in, sudo.psf:
12790         Add target for building a depot file
12791         [357019efd99b]
12792
12793         * mon_systrace.c:
12794         trim includes
12795         [501534428471]
12796
12797 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
12798
12799         * lex.yy.c, sudo.tab.c, sudo.tab.h:
12800         regen
12801         [52fd250c6986]
12802
12803         * INSTALL:
12804         document --with-systrace
12805         [79623927c94e]
12806
12807         * config.h.in, configure, configure.in:
12808         Add check for setproctitle
12809         [1730cf1c26ed]
12810
12811         * mon_systrace.c:
12812         pass struct str_msg_ask in to syscall checker so it can set the
12813         error code
12814         [1703fd2fdef6]
12815
12816         * mon_systrace.c:
12817         systrace(4) support for sudo. On systems with the systrace(4)
12818         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
12819         intercept exec calls and check the exec args against the sudoers
12820         file. In other words, sudo can now control subcommands and shell
12821         escapes.
12822         [928c9217c386]
12823
12824         * sudo.c, sudo.h:
12825         Call systrace_attach() if FLAG_TRACE is set.
12826         [014ba9402fa5]
12827
12828         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
12829         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
12830         [a99904db5e56]
12831
12832         * parse.c, sudo.c:
12833         Don't close sudoers_fp, keep it open and set close on exec flag
12834         instead.
12835         [43a9fec60bee]
12836
12837         * def_data.c, def_data.h, def_data.in:
12838         Add trace option
12839         [5b643b86730a]
12840
12841         * Makefile.in:
12842         Add systrace
12843         [47a0519c427c]
12844
12845         * INSTALL:
12846         SunOS /bin/sh blows up with configure
12847         [005a23cc5615]
12848
12849         * configure, configure.in:
12850         Include sys/param.h before systrace.h
12851         [9345bc8efecf]
12852
12853         * configure:
12854         regen
12855         [a8f53fcbb254]
12856
12857         * pathnames.h.in:
12858         _PATH_DEV_SYSTRACE
12859         [d2ad1e492a00]
12860
12861         * configure.in:
12862         line up options in --help
12863         [fa51f2821d09]
12864
12865         * config.h.in, configure.in:
12866         Add --with-systrace
12867         [a264d54bc413]
12868
12869 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12870
12871         * configure:
12872         regen
12873         [a4dad0bcc523]
12874
12875         * aclocal.m4, configure.in:
12876         make this work with autoconf-2.59
12877         [c4a92b6a684a]
12878
12879 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12880
12881         * sudo_edit.c:
12882         Simplify logic around open & stat of files and do sanity on edited
12883         file even if we lack fstat (still racable but worth doing).
12884         [adda65ade70c]
12885
12886 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12887
12888         * HISTORY:
12889         Add support url
12890         [bf6590fbde9f]
12891
12892         * Makefile.in:
12893         versino 1.6.8p1
12894         [b84ebfaf1552] [SUDO_1_6_8p1]
12895
12896         * CHANGES:
12897         more changes for 1.6.8p1
12898         [e23a9c0393b6]
12899
12900         * version.h:
12901         1.6.8p1
12902         [872f14504b5f]
12903
12904         * CHANGES, sudo_edit.c:
12905         Add sanity check so we don't try to edit something other than a
12906         regular file.
12907         [350134ec6d4e]
12908
12909 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
12910
12911         * CHANGES:
12912         sync
12913         [3091ca9eae00]
12914
12915         * INSTALL:
12916         document --with-ldap-conf-file
12917         [0e2cd6b896f1]
12918
12919 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12920
12921         * CHANGES, ins_csops.h:
12922         political correctness strikes again
12923         [428e8bc77f55]
12924
12925         * RUNSON:
12926         sync
12927         [27f44bd423dc]
12928
12929 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12930
12931         * Makefile.binary.in, Makefile.in:
12932         Install sudoedit man link
12933         [19a55234fc1f]
12934
12935         * INSTALL:
12936         Update PAM note and mention where HP-UX users can download gcc
12937         binaries.
12938         [d37cdbbabfd4]
12939
12940         * Makefile.in:
12941         libtool wants to install stuff from .libs so fake one up for binary
12942         installations.
12943         [a681bc6fcfba]
12944
12945         * Makefile.binary.in:
12946         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
12947         [3e0c4b3372cc]
12948
12949         * Makefile.in:
12950         Deal with "uname -m" having slashes in it rm -f old sudoedit link
12951         instead of using ln -f
12952         [cff33fb97e5b]
12953
12954         * Makefile.binary, Makefile.binary.in:
12955         Makefile.binary -> Makefile.binary.in for config.status substitution
12956         Add support for installing noexec bits
12957         [37d8bb3483c6]
12958
12959         * Makefile.in:
12960         Copy noexec bits into binary dists too No longer use my old arch
12961         script for making binary dists
12962         [e7058bab9e33]
12963
12964         * Makefile.binary:
12965         Install sudoedit link.
12966         [417d1e101711]
12967
12968 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12969
12970         * emul/utime.h:
12971         avoid __P so there is no need for compat.h to be included
12972         [6d8d1f1abf7d]
12973
12974         * utimes.c:
12975         Don't use HAVE_UTIME_H before including config.h.
12976         [013b7bb61181]
12977
12978 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12979
12980         * compat.h:
12981         Fix Solatis futimes macro
12982         [d4eda2ca0d29]
12983
12984 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12985
12986         * sudo_edit.c:
12987         Rename ots -> omtim for improved readability.
12988         [127ca5bb297c]
12989
12990 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12991
12992         * sudo_edit.c:
12993         Redo changes in revision 1.7. Don't really need to keep the temp
12994         file open; re-opening it with the invoking user's euid is
12995         sufficient.
12996         [55a883165a95]
12997
12998         * CHANGES:
12999         sync
13000         [9015b291170d]
13001
13002         * sudo.cat, sudo.man.in:
13003         regen
13004         [c0313f6ed783]
13005
13006         * sudo.pod:
13007         back out revision 1.70; it is no long applicable
13008         [b641d503aff6]
13009
13010         * env.c:
13011         Let the loader initialize nep
13012         [bec192139b02]
13013
13014         * config.h.in, configure, configure.in:
13015         Removed unneed check for fchown Add check for gettimeofday Move
13016         autoheader template stuff into separate AH_TEMPLATE lines
13017         [bfc0edbd43f2]
13018
13019         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
13020         Use timespec throughout.
13021         [1a178a23b69b]
13022
13023         * Makefile.in:
13024         gettime.[co]
13025         [6aeb48a7ab7f]
13026
13027         * gettime.c:
13028         function to return the current time in a struct timespec
13029         [bf8eb12cb63f]
13030
13031         * utimes.c:
13032         Not a darpa-sponsored file.
13033         [121ce5e2036c]
13034
13035 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13036
13037         * compat.h, config.h.in, configure, configure.in:
13038         Add a check for struct timespec and provide it for those without.
13039         [42124055030d]
13040
13041         * config.h.in, configure, configure.in, sudo_edit.c:
13042         Add checks for st_mtim and st_mtimespec and add macros for pulling
13043         the mtime sec and nsec out of struct stat. These are used in
13044         sudo_edit() to better tell whether or not the file has changed.
13045         [23debfbb3fab]
13046
13047         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
13048         Add an extra param to touch() for nsec
13049         [56f7a4ba8ddb]
13050
13051         * sudo_edit.c:
13052         Call mkstemp() as the in invoking user so we don't have to chown the
13053         file later. Only touch() the temp file if we can do it via the file
13054         descriptor. Don't check for modification of the temp file if we lack
13055         fstat(). Catch errors read()ing the temp file.
13056         [665f52c70836]
13057
13058         * fileops.c:
13059         If path is NULL and fd == -1 return -1.
13060         [757a518a824c]
13061
13062         * sudo_edit.c:
13063         closefrom() is overkill, the only extra fds are the ones we opened
13064         so just close those in the child.
13065         [f361c9d2a1f4]
13066
13067         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
13068         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
13069         visudo.c:
13070         Use utimes() and futimes() instead of utime() in touch(), emulating
13071         as needed. Not all systems are able to support setting the times of
13072         an fd so touch() takes both an fd and a file name as arguments.
13073         [3d9276f29717]
13074
13075 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
13076
13077         * env.c:
13078         Rare SEGV
13079         [8995f828782d]
13080
13081 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13082
13083         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13084         visudo.man.in:
13085         regen
13086         [b8e9406711c5]
13087
13088         * sudo.pod, sudoers.pod, visudo.pod:
13089         Add SUPPORT section and re-order some of the sections to match the
13090         order we use in OpenBSD.
13091         [fa37bd917e2c]
13092
13093 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
13094
13095         * env.c:
13096         Openldap ~/.ldaprc fix
13097         [1a37afe6850f]
13098
13099 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13100
13101         * sudo.pod:
13102         Talk about how the editor must write its changes to the original
13103         file and not just use rename(2).
13104         [c55ed91c5ee9]
13105
13106         * CHANGES:
13107         sync
13108         [62af26bd37a2]
13109
13110         * sudo_edit.c:
13111         Keep the temp file open instead of re-opening after the editor has
13112         exited.
13113         [de41eeb6dcf2]
13114
13115         * sample.pam:
13116         Update for current redhat/fedora core.
13117         [8cf083077333]
13118
13119 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
13120
13121         * README.LDAP:
13122         tls_ examples
13123         [ba783d88a034]
13124
13125 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
13126
13127         * ldap.c:
13128         config tls_* options
13129         [0b0e0797b3b9]
13130
13131 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13132
13133         * configure, configure.in:
13134         No need for -lcrypt when using pam.
13135         [41fff3a53e68]
13136
13137 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13138
13139         * configure:
13140         regen
13141         [75820aecce2c]
13142
13143 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
13144
13145         * configure.in, ldap.c, pathnames.h.in:
13146         Allow --with-ldap-conf-file option to override LDAP_CONF
13147         [c9909bc484a5]
13148
13149         * ldap.c:
13150         cleanup debug message
13151         [1f6ca4824d8d]
13152
13153 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
13154
13155         * README.LDAP:
13156         more config info
13157         [f2e7147fd507]
13158
13159 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13160
13161         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
13162         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
13163         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
13164         longer use gross statics in command_matches(). Also rename some
13165         variables for improved clarity.
13166         [7169a6c7bea4]
13167
13168 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13169
13170         * INSTALL:
13171         document HP's crippled compiler deficiency.
13172         [c405ea5a8d4c]
13173
13174         * INSTALL:
13175         Fix some thinkos in --with-editor and --with-env-editor
13176         descriptions. Noticed by Norihiko Murase.
13177         [dd781de1c985]
13178
13179         * configure, configure.in:
13180         --with-noexec takes an optional PATH argument.
13181         [8f6ab77f22cc]
13182
13183         * INSTALL:
13184         document --with-noexec
13185         [50cb1fc627ce]
13186
13187 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13188
13189         * RUNSON, TODO:
13190         sync
13191         [f2503bd13373] [SUDO_1_6_8]
13192
13193         * sudo_edit.c:
13194         Better warning message when sudoedit is unable to write to the
13195         destination file.
13196         [f78c18f2ffa8]
13197
13198         * sudo.cat, sudo.man.in:
13199         regen
13200         [7e2bf63d6d9a]
13201
13202         * sudo.pod:
13203         Don't italicize the string "sudoedit"
13204         [c691643bd269]
13205
13206 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13207
13208         * HISTORY:
13209         Mention GratiSoft.
13210         [dc53de581b2d]
13211
13212 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13213
13214         * sudo.tab.c:
13215         regen
13216         [8ae0484dfc38]
13217
13218         * parse.yacc:
13219         Reset used_runas to FALSE when re-intializing the parser.
13220         [b7403f353a02]
13221
13222 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13223
13224         * config.guess:
13225         Correct OpenBSD mips support
13226         [314fc7afc165]
13227
13228         * config.guess:
13229         Add OpenBSD/mips
13230         [ac87d0a773ef]
13231
13232 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
13233
13234         * README.LDAP:
13235         More behavior notes
13236         [13be1d212b47]
13237
13238         * README.LDAP:
13239         Updates on current behavior
13240         [d498a8866d6f]
13241
13242 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13243
13244         * sudoers.pod:
13245         =back does not take an indentlevel (makes no difference to formatted
13246         files).
13247         [9c8523bb382a]
13248
13249         * sudo.pod:
13250         =back does not take an indentlevel (makes no difference to formatted
13251         files).
13252         [e5f479e24fa8]
13253
13254         * CHANGES:
13255         new
13256         [2dbd9aba8b33]
13257
13258         * sudo.c:
13259         Consistency. Use same error for bad -u #uid when targetpw is set as
13260         we do when a bad -u username is specified.
13261         [922961c4a9d6]
13262
13263         * TODO:
13264         Add checksum idea from Steve Mancini
13265         [e6ece1b766ba]
13266
13267         * sudoers.cat, sudoers.man.in:
13268         regen
13269         [370d2317829f]
13270
13271         * sudo.cat, sudo.man.in:
13272         regen
13273         [f93d41fc38b1]
13274
13275         * sudo.pod, sudoers.pod:
13276         Document the restriction on uids specified via -u when targetpw is
13277         set.
13278         [878fedb455db]
13279
13280         * sudo.c:
13281         Error out when targetpw is enabled and sudo is run with -u #uid but
13282         #uid does not exist in the passwd database. We can't do target
13283         authentication when the target is not in passwd!
13284         [27c5888c86eb]
13285
13286         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
13287         regen
13288         [ceb65711050c]
13289
13290         * TODO:
13291         Some more todo for the next release.
13292         [7b7417be7601]
13293
13294         * INSTALL:
13295         Make it clear that PAM should be used for DCE support when possible.
13296         [7502029fd385]
13297
13298         * sudoers.pod:
13299         o Document problems with wildcards and relative paths. o Make the
13300         order requirements more prominent. o Change a "set" to "reset" for
13301         clarity.
13302         [bacdd181b33f]
13303
13304 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13305
13306         * sudo.pod:
13307         Mention --with-secure-path, not SECURE_PATH.
13308         [41283ddde5e1]
13309
13310 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
13311
13312         * ldap.c:
13313         reflect changes to parse.c
13314         [8880fe9b724d]
13315
13316 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13317
13318         * sudo.tab.c:
13319         regen
13320         [a57658ca9177]
13321
13322         * parse.c, parse.h, testsudoers.c, visudo.c:
13323         Don't pass user_cmnd and user_args to command_matches(), just use
13324         the globals there. Since we keep state with statics anyway it is
13325         misleading to pretend that passing in different cmnd and cmnd_args
13326         will work.
13327         [0a2544991fd6]
13328
13329         * parse.yacc:
13330         Don't pass user_cmnd and user_args to command_matches(), just use
13331         the globals there. Since we keep state with statics anyway it is
13332         misleading to pretend that passing in different cmnd and cmnd_args
13333         will work.
13334         [a4910bf6032b]
13335
13336         * parse.c:
13337         Fix a bug introduced in rev. 1.149. When checking for pseudo-
13338         commands check for a '/' anywhere in cmnd, not just the first
13339         character.
13340         [ce98142f03ca]
13341
13342 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
13343
13344         * sudo.man.in, sudo.pod:
13345         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
13346         [a91800e094b1]
13347
13348         * sudoers.man.in, sudoers.pod:
13349         Add ignore_local_sudoers
13350         [741ddcbf7083]
13351
13352         * README.LDAP:
13353         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
13354         janth@moldung.no
13355         [742c02e07cd9]
13356
13357 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13358
13359         * CHANGES:
13360         typo
13361         [e7cdefbd7a9a]
13362
13363 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13364
13365         * CHANGES:
13366         sync
13367         [734dafc4a85e]
13368
13369         * parse.c:
13370         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
13371         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
13372         [151b7f593568]
13373
13374 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13375
13376         * CHANGES:
13377         PAM change
13378         [d8fb6d6a22d0]
13379
13380 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
13381
13382         * ldap.c:
13383         Better debugging of ALL command
13384         [9db3e84029dc]
13385
13386 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13387
13388         * parse.c:
13389         When matching for "sudoedit" in sudoers check both the command the
13390         user typed *and* the command that is listed in the sudoers entry.
13391         [f36ca1f94095]
13392
13393 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
13394
13395         * ldap.c:
13396         Added !command feature
13397         [ed539574611b]
13398
13399 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13400
13401         * auth/pam.c:
13402         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
13403         [2be8e0e8813a]
13404
13405 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13406
13407         * LICENSE:
13408         License is ISC-style, not BSD-style
13409         [ac0589e1dd5d]
13410
13411         * CHANGES:
13412         sync
13413         [16058a30f404]
13414
13415 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13416
13417         * sudo.cat, sudo.man.in:
13418         regen
13419         [8820eb9c809b]
13420
13421         * sudo.pod:
13422         o Update some out of date bits to reality o Change the shell promt
13423         in examples to bourne-shell style o Clarify some details o Add a
13424         CAVEAT about "sudo cd /foo"
13425         [b0af373214b6]
13426
13427         * check.c:
13428         Don't ask for a password if invoking user == target user.
13429         [dd5c96141132]
13430
13431         * sudo.c:
13432         typo in comment
13433         [278d20f9b249]
13434
13435 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13436
13437         * sudoers.cat, sudoers.man.in:
13438         regen
13439         [9036c6f39eff]
13440
13441         * sudoers.pod:
13442         Expand on NOEXEC a little.
13443         [9a13756aebe4]
13444
13445         * TODO:
13446         sync
13447         [8d2c1af48de8]
13448
13449         * visudo.cat, visudo.man.in:
13450         regen
13451         [3921f01607c8]
13452
13453         * sudo.tab.c:
13454         regen
13455         [9338c3d68250]
13456
13457         * visudo.pod:
13458         Add a check in visudo for runas_default being set after it has
13459         already been used.
13460         [6700358d7ad8]
13461
13462         * CHANGES, parse.yacc, visudo.c:
13463         Add a check in visudo for runas_default being set after it has
13464         already been used.
13465         [803560986a8a]
13466
13467         * sudo.tab.c:
13468         regen
13469         [b60636e2cf63]
13470
13471         * parse.yacc:
13472         Add a MATCHED macro for testing whether foo_matches has been set to
13473         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
13474         Doesn't change the actual code generated.
13475         [f376da8ccdc8]
13476
13477 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13478
13479         * sudoers.cat:
13480         regen
13481         [6cceb6d6c9bd]
13482
13483         * sudoers.man.in:
13484         regen
13485         [5acd12b730b3]
13486
13487         * sudoers.pod:
13488         Correct description of where Defaults specs should go.
13489         [6b11ff53d7ad]
13490
13491         * sudoers:
13492         Correct description of where Defaults specs should go.
13493         [868db857630d]
13494
13495         * testsudoers.c, visudo.c:
13496         update (c) year
13497         [272c8a53604c]
13498
13499         * logging.h:
13500         update (c) year
13501         [3cec76d400ce]
13502
13503         * ldap.c:
13504         update (c) year
13505         [f264632488a0]
13506
13507         * find_path.c:
13508         update (c) year
13509         [40c227af9227]
13510
13511         * auth/pam.c:
13512         update (c) year
13513         [87149e0eed50]
13514
13515         * auth/bsdauth.c, auth/kerb5.c:
13516         update (c) year
13517         [d72eb434c068]
13518
13519 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13520
13521         * sudo.tab.c:
13522         regen
13523         [83408d9e9d2e]
13524
13525         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
13526         Remove trailing spaces, no actual code changes.
13527         [4c3bf2819293]
13528
13529         * tgetpass.c:
13530         Remove trailing spaces, no actual code changes.
13531         [96f6e0a24c26]
13532
13533         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
13534         Remove trailing spaces, no actual code changes.
13535         [c7075d1cbed5]
13536
13537         * getcwd.c:
13538         Remove trailing spaces, no actual code changes.
13539         [776cc0374547]
13540
13541         * find_path.c:
13542         Remove trailing spaces, no actual code changes.
13543         [7ed7099f3c71]
13544
13545         * compat.h, defaults.c, env.c:
13546         Remove trailing spaces, no actual code changes.
13547         [893e83c33795]
13548
13549         * check.c:
13550         Remove trailing spaces, no actual code changes.
13551         [f77750f8803b]
13552
13553         * sudo.tab.c:
13554         regen
13555         [62e0ed883b31]
13556
13557         * parse.yacc:
13558         Fix a >=0 that should be <0 that was improperly converted when
13559         UNSPEC was added.
13560         [ad1531a55a49]
13561
13562         * parse.yacc:
13563         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
13564         NOMATCH when resetting it.
13565         [ae017a12870a]
13566
13567         * parse.yacc:
13568         Fix pastos introduced in SETNMATCH addition.
13569         [6ea1c9d80681]
13570
13571 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13572
13573         * README.LDAP:
13574         Update for configure changes
13575         [637a635da287]
13576
13577         * sudo.tab.c:
13578         regen
13579         [4753c2788713]
13580
13581         * sudo.h:
13582         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
13583         these in parse.yacc. Also in parse.yacc initialize the *_matches
13584         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
13585         when setting *_matches to a value that may be
13586         NOMATCH/UNSPEC/TRUE/FALSE.
13587         [2ba622e15a4d]
13588
13589         * parse.yacc:
13590         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
13591         these in parse.yacc. Also in parse.yacc initialize the *_matches
13592         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
13593         when setting *_matches to a value that may be
13594         NOMATCH/UNSPEC/TRUE/FALSE.
13595         [746b519e41a6]
13596
13597         * parse.yacc:
13598         Initialize runas to -2, not -1 since we need to be able to
13599         distinguish between the initialized value and the value of a non-
13600         match when passing along the runas value to multiple commands.
13601
13602         The result of this is that an unmatched runas is now set to -1, not
13603         0. This is required now that parse.c treats a FALSE value for runas
13604         as being explicitly denied.
13605         [7791ed3621f6]
13606
13607 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13608
13609         * sudo.c, visudo.c:
13610         Error out if argc < 1.
13611         [ce6b2a9eda3c]
13612
13613         * getprogname.c:
13614         Error out if argc < 1.
13615         [c566cce8dc78]
13616
13617         * configure, configure.in:
13618         Add tests for what libs we need to link with for ldap and for
13619         whether or not lber.h needs to be explicitly included.
13620         [b2e9729cc4e7]
13621
13622 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
13623
13624         * ldap.c:
13625         Solaris native LDAP build fix
13626         [39929e40eb11]
13627
13628 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13629
13630         * ldap.c:
13631         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
13632         unset variable.
13633         [6a4c20a66f98]
13634
13635         * sudo.h:
13636         Add prototype for sudo_ldap_list_matches
13637         [443b007a8dab]
13638
13639         * configure, configure.in:
13640         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
13641         version too. Added check for dd_fd in `DIR' if no dirfd is found;
13642         this is now used to confitionally define the dirfd macro in
13643         compat.h.
13644         [567656978f7e]
13645
13646         * config.h.in:
13647         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
13648         version too. Added check for dd_fd in `DIR' if no dirfd is found;
13649         this is now used to confitionally define the dirfd macro in
13650         compat.h.
13651         [34eace4faec8]
13652
13653         * compat.h:
13654         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
13655         version too. Added check for dd_fd in `DIR' if no dirfd is found;
13656         this is now used to confitionally define the dirfd macro in
13657         compat.h.
13658         [8d50ff1bbf2a]
13659
13660         * closefrom.c:
13661         Only check /proc/$$/fd if we have the dirfd function/macro.
13662         [15e3ccce7553]
13663
13664         * compat.h, config.h.in, configure, configure.in:
13665         Add a check for a dirfd() function (like Linux) and add a dirfd
13666         macro in compat.h if there is no dirfd() function or macro.
13667         [1e95756edb50]
13668
13669         * closefrom.c, getcwd.c:
13670         dirfd() is now defined in compat.h as needed.
13671         [bb1d79271188]
13672
13673         * CHANGES:
13674         Clarify closefrom() note.
13675         [f4e4a5508dda]
13676
13677         * parse.c:
13678         When checking for a command in the directory, only copy the base dir
13679         once.
13680         [7a3276808b87]
13681
13682         * closefrom.c:
13683         If there is a /proc/$$/fd directory, behave like the Solaris
13684         closefrom() and only close the descriptors listed therein.
13685         [19de23779e84]
13686
13687         * alloc.c:
13688         compat.h guarantees INT_MAX is defined.
13689         [1bf0c79d4606]
13690
13691         * compat.h:
13692         Add definitions of OPEN_MAX and INT_MAX for those without it and
13693         remove definition of RLIM_INFINITY (now unused).
13694         [f827d1ebf96e]
13695
13696         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
13697         sudo.c, sudo.h, visudo.c:
13698         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
13699         [59788f211c24]
13700
13701 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13702
13703         * CHANGES:
13704         sync
13705         [d32fa124f1ad]
13706
13707         * RUNSON:
13708         Add some entries that were mailed in a while ago
13709         [ff8d5bfec54e]
13710
13711         * closefrom.c:
13712         o sysconf returns a long, not an int. o check for negative return
13713         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
13714         define OPEN_MAX to 256 for those without it (a fair guess...)
13715         [ccf81ae6deb2]
13716
13717 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13718
13719         * UPGRADE:
13720         Mention change in parse order for RunAs entries.
13721         [dc73b0bca617]
13722
13723         * configure:
13724         regen
13725         [07cce8e0534e]
13726
13727 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13728
13729         * INSTALL, README.LDAP, config.h.in, configure.in:
13730         o --with-ldap now takes an optional dir as a parameter o added
13731         check for ldap_initialize() and start_tls_s()
13732         [2b846c7974c6]
13733
13734         * README.LDAP:
13735         Fix some typos, word choice and formatting issues.
13736         [00dc8ca84b10]
13737
13738 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
13739
13740         * tgetpass.c:
13741         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
13742         read/write as it is simpler.
13743         [30f5446ee8b0]
13744
13745         * configure, configure.in:
13746         Remove hack overriding cross-compiler check. It should no longer be
13747         needed.
13748         [22a6cbd88608]
13749
13750         * compat.h:
13751         Remove select() compat bits since we no longer use select().
13752         [d7bbf7cd36f5]
13753
13754         * CHANGES, tgetpass.c:
13755         Use alarm() instead of select() for the timeout for systems that
13756         don't fully/properly implement select().
13757         [d7cc60f15800]
13758
13759 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13760
13761         * CHANGES:
13762         synbc
13763         [132a39788e07]
13764
13765         * RUNSON:
13766         update
13767         [61ef508380c6]
13768
13769         * set_perms.c:
13770         Deal with systems that have no way of setting the effective uid such
13771         as nsr-tandem-nsk.
13772         [306e00e9b5a4]
13773
13774         * configure, configure.in:
13775         Define NO_SAVED_IDS if we don't find seteuid()
13776         [8588f18345cf]
13777
13778         * config.h.in, configure, configure.in:
13779         Add back check for setreuid() since NSK doesn't have it.
13780         [43127bd703d1]
13781
13782         * sudoers.cat, sudoers.man.in:
13783         regen
13784         [af4f4b20e422]
13785
13786         * CHANGES:
13787         sync
13788         [29ca3b699c24]
13789
13790         * BUGS:
13791         sync
13792         [3593f17f72ed]
13793
13794         * parse.c:
13795         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
13796         explicitly denied and the command matched. This fixes a long-
13797         standing bug and makes: foo machine = (ALL) /usr/bin/blah
13798         foo machine = (!bar) /usr/bin/blah
13799
13800         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
13801         [2f5ee244985a]
13802
13803         * sudoers.pod:
13804         Clarify mail_noperm
13805         [3238b2d41989]
13806
13807 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
13808
13809         * Makefile.in:
13810         Missing DESTDIR in make install for sudo_noexec.la
13811         [91431e821525]
13812
13813 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13814
13815         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13816         visudo.man.in:
13817         regen
13818         [cdfde0dcb556]
13819
13820         * TODO:
13821         sync
13822         [4799b7d8b62c]
13823
13824         * sudoers.pod:
13825         Remove fastboot/fasthalt (who still remembers these?) and add a
13826         minimal sudoedit example.
13827         [19d299f233cd]
13828
13829         * sample.sudoers:
13830         Remove fastboot/fasthalt (who still remembers these?) and add a
13831         minimal sudoedit example.
13832         [b1bca73d6250]
13833
13834         * UPGRADE, sudo.c, visudo.c:
13835         filesystem -> file system
13836         [1e1afaf30469]
13837
13838         * TROUBLESHOOTING:
13839         filesystem -> file system
13840         [39fb594e9338]
13841
13842         * CHANGES, INSTALL:
13843         filesystem -> file system
13844         [85948b608ffe]
13845
13846         * sudo.pod, sudoers.pod:
13847         Fix some minor typos and formatting goofs
13848         [e94d243a0b90]
13849
13850         * lex.yy.c:
13851         regen
13852         [2eed0ab1f4c4]
13853
13854         * visudo.pod:
13855         remove my email addr
13856         [b63262c0389b]
13857
13858         * sudo.pod, sudoers.pod, visudo.pod:
13859         Use @mansectform@ and @mansectsu@ everywhere Make man page
13860         references links with L<>
13861         [f459f4b9ddb9]
13862
13863         * parse.lex:
13864         Accept quoted globbing characters and pass them verbatim for
13865         fnmatch()
13866         [8248b86e9380]
13867
13868         * UPGRADE:
13869         Document that /tmp/.odus is gone.
13870         [3667b66af5bb]
13871
13872         * pathnames.h.in:
13873         No longer use /tmp/.odus as a possible timestamp dir unless
13874         specifically configured to do so. Instead, if no /var/run exists,
13875         use /var/adm/sudo or /usr/adm/sudo.
13876         [48d94c9f9ad4]
13877
13878         * configure:
13879         No longer use /tmp/.odus as a possible timestamp dir unless
13880         specifically configured to do so. Instead, if no /var/run exists,
13881         use /var/adm/sudo or /usr/adm/sudo.
13882         [058d7b8cf07b]
13883
13884         * aclocal.m4:
13885         No longer use /tmp/.odus as a possible timestamp dir unless
13886         specifically configured to do so. Instead, if no /var/run exists,
13887         use /var/adm/sudo or /usr/adm/sudo.
13888         [cf52c4c2803f]
13889
13890         * CHANGES:
13891         No longer use /tmp/.odus as a possible timestamp dir unless
13892         specifically configured to do so. Instead, if no /var/run exists,
13893         use /var/adm/sudo or /usr/adm/sudo.
13894         [6058c4cefcec]
13895
13896         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
13897         Preliminary changes to support nsr-tandem-nsk. Based on patches
13898         from Tom Bates.
13899         [2e5f81834383]
13900
13901         * logging.c:
13902         Preliminary changes to support nsr-tandem-nsk. Based on patches
13903         from Tom Bates.
13904         [934bbe6872b6]
13905
13906         * check.c, compat.h:
13907         Preliminary changes to support nsr-tandem-nsk. Based on patches
13908         from Tom Bates.
13909         [390b698b5924]
13910
13911 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13912
13913         * CHANGES:
13914         There was no 1.6.7p6.
13915         [8013d2e6b062]
13916
13917         * BUGS, CHANGES:
13918         sync
13919         [c38b41f32857]
13920
13921         * Makefile.in:
13922         add missing files to DISTFILES
13923         [e6a80ad03039]
13924
13925         * sudo.cat, sudoers.cat, visudo.cat:
13926         regen
13927         [027bc9746dd5]
13928
13929         * sudoers.man.in:
13930         regen
13931         [f5e85ef686cf]
13932
13933         * Makefile.in:
13934         Fix some line wrap and update (c) year
13935         [bad1f46aa1ca]
13936
13937 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
13938
13939         * README.LDAP:
13940         Build Note
13941         [7a061248249b]
13942
13943 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
13944
13945         * Makefile.in:
13946         Fix install-dirs
13947         [be0726dd92e7]
13948
13949 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13950
13951         * sudo.tab.c:
13952         regen
13953         [3f4f0d1ab8b9]
13954
13955         * visudo.c:
13956         In Exit() when used as a signal handler, emsg is a pointer so
13957         sizeof() is wrong so make it a #define instead. Also avoid using a
13958         negative exit value. Found by Aaron Campbell
13959         [78716a3a3fdc]
13960
13961 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13962
13963         * sudoers.pod:
13964         Remove bogus sentence about uids in a User_List. Document usernames
13965         vs. uid parsing in a Runas_List.
13966         [7ca510b5031c]
13967
13968         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
13969         If the user specified a uid with the -u flag and the uid exists in
13970         the passwd file, set runas_user to the name, not the uid.
13971
13972         When comparing usernames in sudoers, if a name is really a uid
13973         (starts with '#') compare it numerically to pw_uid.
13974         [8d6935d04673]
13975
13976 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13977
13978         * auth/kerb5.c:
13979         krb5_mcc_ops should be const; Johnny C. Lam
13980         [aa8c753e426e]
13981
13982 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
13983
13984         * CHANGES, config.h.in, ldap.c:
13985         Added start_tls support
13986         [7ef864c15b69]
13987
13988 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13989
13990         * Makefile.in:
13991         Clean up libtool stuff for 'make distclean' and add def_data.c,
13992         def_data.h to PARSESRCS.
13993         [bf9bb6bb06ab]
13994
13995 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
13996
13997         * strlcat.c, strlcpy.c:
13998         Un-Fix last license munge
13999         [42654b77ac71]
14000
14001 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14002
14003         * configure:
14004         regen
14005         [e4de6b23a4dc]
14006
14007         * CHANGES, RUNSON, TODO:
14008         checkpoint
14009         [94e1ace84d5c]
14010
14011         * lex.yy.c, sudo.tab.c:
14012         regen
14013         [8ce784505643]
14014
14015         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
14016         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
14017         emul/search.h, emul/utime.h:
14018         More to a less restrictive, ISC-style license.
14019         [a31b20e48003]
14020
14021         * auth/kerb5.c, auth/pam.c:
14022         More to a less restrictive, ISC-style license.
14023         [e41f92b41216]
14024
14025         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
14026         More to a less restrictive, ISC-style license.
14027         [87534c164a52]
14028
14029         * auth/bsdauth.c:
14030         More to a less restrictive, ISC-style license.
14031         [e21be6594b58]
14032
14033         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
14034         More to a less restrictive, ISC-style license.
14035         [6d234be91c5e]
14036
14037         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
14038         visudo.man.in, visudo.pod:
14039         More to a less restrictive, ISC-style license.
14040         [b02aea324fd6]
14041
14042         * sudo_noexec.c:
14043         More to a less restrictive, ISC-style license.
14044         [a6da7631e0b2]
14045
14046         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
14047         sudo_edit.c:
14048         More to a less restrictive, ISC-style license.
14049         [71cdcc241e94]
14050
14051         * sigaction.c, strerror.c:
14052         More to a less restrictive, ISC-style license.
14053         [4bccdedca58a]
14054
14055         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
14056         set_perms.c:
14057         More to a less restrictive, ISC-style license.
14058         [64d772d70ab3]
14059
14060         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
14061         ins_goons.h, insults.h, interfaces.c, interfaces.h:
14062         More to a less restrictive, ISC-style license.
14063         [520381c60a54]
14064
14065         * find_path.c, getprogname.c:
14066         More to a less restrictive, ISC-style license.
14067         [f605d5eab6f1]
14068
14069         * fileops.c:
14070         More to a less restrictive, ISC-style license.
14071         [4129a8b38a67]
14072
14073         * env.c:
14074         More to a less restrictive, ISC-style license.
14075         [d5bd859757de]
14076
14077         * defaults.h:
14078         More to a less restrictive, ISC-style license.
14079         [008f5d5743f5]
14080
14081         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
14082         defaults.c:
14083         More to a less restrictive, ISC-style license.
14084         [d8d7bfc8a18b]
14085
14086         * utime.c, version.h:
14087         More to a less restrictive, ISC-style license.
14088         [e2e038ad8209]
14089
14090         * parse.lex, parse.yacc:
14091         More to a less restrictive, ISC-style license.
14092         [2f5942e847a1]
14093
14094         * Makefile.binary:
14095         More to a less restrictive, ISC-style license.
14096         [1ed561734535]
14097
14098 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
14099
14100         * sudoers2ldif:
14101         Merged in LDAP Support
14102         [3994c4d05947]
14103
14104         * ldap.c, sudo.c, sudo.h:
14105         Merged in LDAP Support
14106         [547eaa346fcc]
14107
14108         * def_data.c, def_data.h, def_data.in:
14109         Merged in LDAP Support
14110         [8fb255280e42]
14111
14112         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
14113         Merged in LDAP Support
14114         [1038092a161e]
14115
14116 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14117
14118         * sudo.h, sudo_noexec.c:
14119         Only do "extern int errno" if errno is not a macro.
14120         [b2e02a08be8b]
14121
14122 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14123
14124         * set_perms.c:
14125         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
14126         euid first, then just call setuid(0) to set the real uid too.
14127         [f08546e2e0ee]
14128
14129         * set_perms.c:
14130         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
14131         instead of seteuid() which may not exist.
14132         [ba508581befb]
14133
14134 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14135
14136         * LICENSE:
14137         2004
14138         [37425513a342]
14139
14140         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
14141         Add --with-pc-insults configure option
14142         [7daa5294c17b]
14143
14144         * visudo.man.in:
14145         Prefer VISUAL over EDITOR like old vipw did.
14146         [996252a4ab65]
14147
14148 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14149
14150         * sudo.man.in, sudoers.man.in:
14151         regen
14152         [a247f1c52eb9]
14153
14154         * sudoers.pod:
14155         Add a note that noexec is not a cure-all.
14156         [9e7fc535367d]
14157
14158         * sudoers.pod:
14159         Mention that disabling "root_sudo" is pretty pointless.
14160         [f38a415afba0]
14161
14162         * configure, configure.in:
14163         Substitute for root_sudo in sudoers.pod
14164         [ce483cfc86be]
14165
14166         * sudo.pod:
14167         Add sudoedit to the NAME section
14168         [51bc453ec2f6]
14169
14170         * sudoers.pod:
14171         Document that fact that setting ignore_dot in sudoers has no effect
14172         due to the fact that find_path() is called *before* sudoers is read.
14173         [6808df7e417c]
14174
14175 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14176
14177         * sudo_edit.c:
14178         Do not require _PATH_USRTMP to be set.
14179         [546f3270dd10]
14180
14181         * BUGS, CHANGES, TODO:
14182         sync
14183         [4205ddeab781]
14184
14185         * sudo.man.in:
14186         regen
14187         [e2143690a88a]
14188
14189         * sudo.pod:
14190         Clarify that when sudo is run by root with the SUDO_USER variable
14191         set, the sudoers lookup happens for root and not the SUDO_USER user.
14192         [47207bec1bdf]
14193
14194 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14195
14196         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
14197         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
14198         Use the SET, CLR and ISSET macros.
14199         [a8b0d7f1e8fd]
14200
14201         * fnmatch.c:
14202         Use the SET, CLR and ISSET macros.
14203         [1afbcba22ba6]
14204
14205         * defaults.c, env.c:
14206         Use the SET, CLR and ISSET macros.
14207         [2f39431e0a49]
14208
14209         * interfaces.h:
14210         MAIN was replaced with _SUDO_MAIN some time ago.
14211         [ea1b38f2ac9d]
14212
14213         * sudo.c:
14214         Don't look at prev_user until after we've parsed sudoers and done
14215         the password check. That way, if sudo/sudoedit is run from a root
14216         process that was invoked by sudo, we check sudoers for root, not the
14217         previous user. This makes sudoedit much more useful and means that
14218         for the sudo case, we get correct logging on who actually ran the
14219         command.
14220         [431dfbf20552]
14221
14222 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14223
14224         * sudo_edit.c:
14225         Add a comment describing why we need to be notified about our child
14226         stopping.
14227         [0bec3ce4b49d]
14228
14229 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14230
14231         * def_data.c, def_data.in:
14232         Update the noexec variable descriptions
14233         [9cb7f1aa0e57]
14234
14235         * sudoers.man.in, sudoers.pod:
14236         noexec now replaces more than just execve()
14237         [23cbdc0ee95c]
14238
14239         * sudo_noexec.c:
14240         Alas, all the world does not go through execve(2). Many systems
14241         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
14242         and it is not uncommon for libc to have underscore ('_') versions of
14243         the functions to be used internally by the library. Instead of
14244         stubbing all these out by hand, define a macro and let it do the
14245         work. Extra exec functions pointed out by Reznic Valery.
14246         [9fa0cd871b0c]
14247
14248         * sudo.c, sudo_edit.c:
14249         Fix suspending the editor in -e mode. Because we do a fork() first
14250         we need to be notified when the child has been stopped and then send
14251         that same signal to ourself so the shell can do its job control
14252         thing.
14253         [773165eb6057]
14254
14255         * visudo.c:
14256         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
14257         there that want to run sudo that still don't support these we can
14258         try to deal with that later.
14259         [6af68e4aff60]
14260
14261         * lex.yy.c:
14262         regen
14263         [403435317d5d]
14264
14265         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
14266         Document sudo -e / sudoedit
14267         [a80f6ea910af]
14268
14269         * configure, configure.in:
14270         fix typo
14271         [5020fcdc27f4]
14272
14273         * config.h.in, configure.in:
14274         Add SET/CLR/ISSET
14275         [03ff57286e7e]
14276
14277 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14278
14279         * sudo.c:
14280         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
14281         long usage() line to not wrap (assumes 80 char display)
14282         [3941fa4004bb]
14283
14284         * Makefile.in, sudo.c:
14285         If sudo is invoked as "sudoedit" the -e flag is implied and no other
14286         flags are permitted.
14287         [929670b01293]
14288
14289         * sudo.h:
14290         Add a new flag, -e, that makes it possible to give users the ability
14291         to edit files with the editor of their choice as the invoking user,
14292         not the runas user. Temporary files are used for the actual edit
14293         and the temp file is copied over the original after the editor is
14294         done.
14295         [c4051414c1f4]
14296
14297         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
14298         Add a new flag, -e, that makes it possible to give users the ability
14299         to edit files with the editor of their choice as the invoking user,
14300         not the runas user. Temporary files are used for the actual edit
14301         and the temp file is copied over the original after the editor is
14302         done.
14303         [37ac05c8ac3c]
14304
14305         * env.c, sudo.c:
14306         If real uid == 0 and the SUDO_USER environment variables is set, use
14307         that to determine the invoking user's true identity. That way the
14308         proper info gets logged by someone who has done "sudo su" but still
14309         uses sudo to as root. We can't do this for non-root users since
14310         that would open up a security hole, though perhaps it would be
14311         acceptable to use getlogin(2) on OSes where this a system call (and
14312         doesn't just look in the utmp file).
14313         [c2f9198708a1]
14314
14315         * pathnames.h.in:
14316         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
14317         [7d9e5768df93]
14318
14319         * config.h.in, configure, configure.in:
14320         Add check for fchown(2)
14321         [a85df18798ed]
14322
14323 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14324
14325         * sudo.c:
14326         Back out portions of the -i commit that set NewArgv[0] in
14327         set_runaspw. It is far to late to set NewArgv[0] there and will have
14328         no effect anyway as cmnd and safe_cmnd have already been set.
14329         [c2d343430c1c]
14330
14331         * visudo.c, visudo.pod:
14332         Prefer VISUAL over EDITOR like old vipw did.
14333         [ae32f477cea3]
14334
14335 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14336
14337         * env.c, sudo.c:
14338         In -i mode always set new environment based on the runas user's
14339         passwd entry.
14340         [fa653b7887a8]
14341
14342 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14343
14344         * sudo.man.in, sudo.pod:
14345         Document the new -i flag and sync SYNOPSIS section with usage() in
14346         sudo.c. Also sort the flags in the OPTIONS section.
14347         [6aabc0ffc47e]
14348
14349         * sudo.c, sudo.h:
14350         o Add -i that acts similar to "su -", based on patches from David J.
14351         MacKenzie o Sort the flags in the usage message
14352         [c0fe7d6beffd]
14353
14354         * sudoers.man.in, sudoers.pod:
14355         Add a missing @runas_default@ substitution.
14356         [60516fe2d090]
14357
14358 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14359
14360         * sudo.c:
14361         Change euid to runas user before calling find_path().
14362         Unfortunately, though runas_user can be modified in sudoers we
14363         haven't parsed sudoers yet.
14364         [f469fdf2e313]
14365
14366         * sudoers.man.in, sudoers.pod:
14367         Add missing defintion of Parameter_List and use single pipes in the
14368         Defaults EBNF definition.
14369         [f7bed6e909bf]
14370
14371         * sudo.c:
14372         Fix a bug when set_runaspw() is used as a callback. We don't want
14373         to reset the contents of runas_pw if the user specified a user via
14374         the -u flag.
14375
14376         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
14377         already have the info in runas_pw.
14378         [efc35623ba09]
14379
14380 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14381
14382         * check.c:
14383         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
14384         [ebd5a76ccd7e]
14385
14386         * sudo.h:
14387         Update sudo_getepw() proto and add one for set_runaspw()
14388         [6ed65795c17f]
14389
14390         * parse.c:
14391         If we can't stat the command as root, try as the runas user instead.
14392         [ae713fca0e15]
14393
14394         * testsudoers.c, visudo.c:
14395         Add stub set_runaspw() function
14396         [42aa37050053]
14397
14398         * sudo.c:
14399         Add set_runaspw() function to fill in runas_pw. This will be used
14400         as a callback to update runas_pw when the runas user changes.
14401         [e570aa0088d0]
14402
14403         * env.c, sudo.c:
14404         PERM_RUNAS -> PERM_FULL_RUNAS
14405         [51eec6f9e89a]
14406
14407         * set_perms.c, sudo.h:
14408         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
14409         changes the euid.
14410         [877c6fe4d12c]
14411
14412         * getspwuid.c:
14413         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
14414         one chunk for easy free()ing. Also change it from static to extern.
14415         [ab503260a7ec]
14416
14417         * defaults.c, defaults.h:
14418         Add callback support
14419         [a61c4ca983fb]
14420
14421         * mkdefaults:
14422         Add a callback field and use it for runas_default
14423         [96b69c27df5e]
14424
14425         * def_data.c, def_data.in:
14426         Add a callback field and use it for runas_default
14427         [d3e9f06872b8]
14428
14429 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14430
14431         * auth/fwtk.c:
14432         Add support for chalnecho and display server responses used by fwtk
14433         >= 2.0
14434         [b1870f7aaf0d]
14435
14436 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14437
14438         * sudoers.man.in, sudoers.pod:
14439         ld.so is ld.so.1 on solaris
14440         [2bf9a123fa4c]
14441
14442         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
14443         Use closefrom() instead of doing the equivalent inline.
14444         [7e3ef6072884]
14445
14446         * closefrom.c:
14447         closefrom(3) for systems w/o it
14448         [35caf58bb636]
14449
14450 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14451
14452         * sudoers.man.in:
14453         Update from .pod file.
14454         [d4c94fc0e0c9]
14455
14456         * configure, configure.in:
14457         Substitute noexec_file for the sudoers man page
14458         [203d3376a551]
14459
14460         * sudo.man.in, sudo.pod:
14461         Mention noexec
14462         [014375ddbb06]
14463
14464         * sudoers.man.in, sudoers.pod:
14465         Document noexec
14466         [49a65d06201f]
14467
14468         * auth/pam.c, config.h.in, configure.in:
14469         Move PAM_CONST macro definition from config.h to pam.c where it
14470         belongs. We can't have this in config.h since that gets included too
14471         early.
14472         [e64748071637]
14473
14474         * auth/pam.c, config.h.in, configure, configure.in:
14475         Some PAM implementations put their headers in /usr/include/pam
14476         instead of /usr/include/security.
14477         [8cc749e9575c]
14478
14479         * configure.in:
14480         I missed changing the EXEC macro -> EXECV here when I changed this
14481         in config.h.in and sudo.c a while ago.
14482         [6f5afac7789f]
14483
14484         * acsite.m4:
14485         OpenBSD vax/m88k/hppa don't do shared libs
14486         [e4901d958bb7]
14487
14488         * configure, configure.in:
14489         o merge the hpux case entries into a single entry w/ its own sub-
14490         case statement. o HP-UX >= 11 support getspnam(), use it in
14491         preference to getprpwuid()
14492         [0caad428894e]
14493
14494         * configure, configure.in:
14495         eval $shrext so that it expands nicely on MacOS X
14496         [40419343eef8]
14497
14498         * Makefile.in:
14499         Don't lie about making a module, it does the wrong thing on mach
14500         [7629b28f5688]
14501
14502         * ltmain.sh:
14503         Remove requirement that libs must begin with "lib". They don't when
14504         we point directly at the lib using LD_PRELOAD or its equivalent.
14505         [d66f3de6ec85]
14506
14507         * acsite.m4:
14508         Disable support for c++, f77 and java. We don't need it, it takes a
14509         lot of time, and it hosed our check for shared lib support.
14510         [4f5749c52ce4]
14511
14512         * configure:
14513         regen
14514         [160865e9d15f]
14515
14516         * configure.in:
14517         Call AC_ENABLE_SHARED and check the status of enable_shared to know
14518         when shared libs are available.
14519         [42504c1668fc]
14520
14521         * acsite.m4:
14522         Duh, OpenBSD suports shared libs too
14523         [8e3cd9417475]
14524
14525         * config.h.in, configure.in:
14526         Only OpenPAM and Linux PAM use const qualifiers.
14527         [b2f76476e866]
14528
14529         * configure, configure.in:
14530         o No need to check for sed, libtool config does that for us o move
14531         check for --with-noexec until after libtool magic is run so we can
14532         use $can_build_shared and $shrext
14533         [668c656e89cc]
14534
14535         * ltmain.sh:
14536         Don't print a bunch of crap about library installs since we are not
14537         really installing a library.
14538         [83fbcad29fe4]
14539
14540         * env.c:
14541         Make format_env() varargs Add noexec support for Darwin, MacOS X,
14542         Irix, and Tru64
14543         [468885d75d10]
14544
14545         * acsite.m4, ltconfig, ltmain.sh:
14546         Update to libtool 1.5 with local changes: o no ldconfig in the
14547         finish step o assume no libprefix or version is needed
14548         [4961cffc3797]
14549
14550         * sudo_noexec.c:
14551         Fix compilation under K&R
14552         [8b309bf0b1b2]
14553
14554 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14555
14556         * CHANGES:
14557         checkpoint
14558         [3c368badab32]
14559
14560         * sudo_noexec.c:
14561         stub execve() that just returns EACCES; used for noexec
14562         functionality
14563         [1297acae283a]
14564
14565         * sudo.tab.h:
14566         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
14567         generated code.
14568         [dcab78c49273]
14569
14570         * sudo.tab.c:
14571         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
14572         generated code.
14573         [0a61c735eabe]
14574
14575 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14576
14577         * def_data.c, def_data.h, def_data.in:
14578         Move the environment defaults to the end and shorten a few of the
14579         descriptions.
14580         [66787b9c612c]
14581
14582         * configure, configure.in:
14583         no shared libs on ultris or convexos
14584         [2c5f3c456e32]
14585
14586         * Makefile.in, configure, configure.in:
14587         Build sudo_noexec shared object using libtool; could use some
14588         cleanup.
14589         [373f483555dd]
14590
14591         * acsite.m4, ltconfig, ltmain.sh:
14592         libtool scaffolding
14593         [c903a42e3d90]
14594
14595         * parse.yacc, sudo.tab.c:
14596         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
14597         important.
14598         [c6e8a34639a4]
14599
14600         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
14601         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
14602         update copyright year
14603         [a16372ae1711]
14604
14605         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
14606         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
14607         option. The default value of noexec_file is set to this.
14608         [7d88e1d3c494]
14609
14610         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
14611         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
14612         sudo.tab.h:
14613         Add support for preloading a shared object containing a dummy
14614         execve() function that just sets error and returns -1. This adds a
14615         "noexec_file" option to load the filename as well as a "noexec" flag
14616         to enable it unconditionally. There is also a NOEXEC tag that can
14617         be attached to specific commands and an EXEC tag to disable it.
14618         [c8b6712feb91]
14619
14620         * mkdefaults:
14621         add missing newline to usage statement
14622         [e84746618362]
14623
14624         * config.h.in, sudo.c:
14625         Rename EXEC macro -> EXECV
14626         [ddaa0c027299]
14627
14628         * logging.c:
14629         Don't truncate usernames to 8 characters in the log message.
14630         [f62a20f27075]
14631
14632         * check.c, sudoers.man.in, sudoers.pod:
14633         Update copyright year
14634         [ca9964054085]
14635
14636         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
14637         sudoers.pod:
14638         Add a new option, lecture_file, that can be used to point to a
14639         custom sudo lecture.
14640         [940133231216]
14641
14642 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14643
14644         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
14645         auth/sudo_auth.c:
14646         Add a zero_bytes() function to do the equivalent of bzero in such a
14647         way that will heopfully not be optimized away by sneaky compilers.
14648         [161b6d74bfb4]
14649
14650         * zero_bytes.c:
14651         Add a zero_bytes() function to do the equivalent of bzero in such a
14652         way that will heopfully not be optimized away by sneaky compilers.
14653         [d035abf0af94]
14654
14655         * Makefile.in, sudo.h:
14656         Add a zero_bytes() function to do the equivalent of bzero in such a
14657         way that will heopfully not be optimized away by sneaky compilers.
14658         [ff136de3e255]
14659
14660         * err.c:
14661         Use #ifdef __STDC__, not #if __STDC__.
14662         [6889dd6bc51a]
14663
14664 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14665
14666         * mkdefaults:
14667         Always put at least one space between the def_* macro name and its
14668         definition.
14669         [6b3ad0e6619a]
14670
14671         * configure, configure.in:
14672         Adjust code for --without-lecture to match new values.
14673         [062aa788a6b9]
14674
14675         * visudo.man.in:
14676         regen after pasto fix
14677         [3deec16906c0]
14678
14679         * sudoers.man.in, sudoers.pod:
14680         Document that "lecture" has changed from a flag to a tuple.
14681         [e2c03062b533]
14682
14683         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
14684         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
14685         Add support for tuples in def_data.in; these are implemented as an
14686         enum type. Currently there is only a single tuple enum but in the
14687         future we may have one tuple enum per T_TUPLE entry in def_data.in.
14688         Currently listpw, verifypw and lecture are tuples. This avoids the
14689         need to have two entries (one ival, one str) for pwflags and syslog
14690         values.
14691
14692         lecture is now a tuple with the following values: never, once,
14693         always
14694
14695         We no longer use both an int and string entry for syslog facilities
14696         and priorities. Instead, there are logfac2str() and logpri2str()
14697         functions that get used when we need to print the string values.
14698         [5293f946c836]
14699
14700         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
14701         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
14702         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
14703         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
14704         sudo.tab.c, visudo.c:
14705         Create def_* macros for each defaults value so we no longer need the
14706         def_{flag,ival,str,list,mode} macros (which have been removed). This
14707         is a step toward more flexible data types in def_data.in.
14708         [009c02934106]
14709
14710         * TODO:
14711         checkpoint
14712         [0a99a4bb5d15]
14713
14714 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14715
14716         * sudo.c:
14717         If we are in -k/-K mode, just spew to stderr. It is not unusual for
14718         users to place "sudo -k" in a .logout file which can cause sudo to
14719         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
14720         Previously, this would result in useless mail and logging.
14721         [d282e7ed63af]
14722
14723 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14724
14725         * visudo.pod:
14726         fix pasto in VISUAL description
14727         [1c6a6148b5f9]
14728
14729 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14730
14731         * configure:
14732         regen
14733         [f44312c63799]
14734
14735         * CHANGES:
14736         checkpoint
14737         [0c42e38f78d5]
14738
14739         * TROUBLESHOOTING:
14740         Some OSes (like Solaris) allow export w/ nosuid too
14741         [973ce85ffa12]
14742
14743 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14744
14745         * compat.h:
14746         We don't use FD_ZERO anymore so just define FD_SET (if not already
14747         there).
14748         [d1c8c11905cd]
14749
14750 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14751
14752         * auth/pam.c:
14753         Fix a core dump on Solaris by preserving the pam_handle_t we used
14754         during authentication for pam_prep_user(). If we didn't
14755         authenticate (ie: ticket still valid), we call pam_init() from
14756         pam_prep_user(). This is something of a hack; it may be better to
14757         change the auth API and add an auth_final() function that acts like
14758         pam_prep_user().
14759         [f787de49b175]
14760
14761 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14762
14763         * set_perms.c:
14764         Add explicit declaration of printerr variable in function header
14765         (was defaulting to int which is OK but oh so K&R :-). From Theo.
14766         [492c2358783f]
14767
14768 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14769
14770         * config.h.in, configure.in:
14771         s/HAVE_STOW/USE_STOW/
14772         [4b99e1824ece]
14773
14774         * logging.c:
14775         Also exit waitpid() loop when pid == 0. Fixes a problem where the
14776         sudo process would spin eating up CPU until sendmail finished when
14777         it has to send mail.
14778         [ec3d5792b9b4]
14779
14780 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14781
14782         * fnmatch.c:
14783         Remove advertising clause, UCB has disavowed it
14784         [43a26bbd6628]
14785
14786         * fnmatch.3:
14787         Remove advertising clause, UCB has disavowed it
14788         [3ff24291bcfa]
14789
14790 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14791
14792         * parse.c:
14793         Don't assume that getgrnam() calls don't modify contents of struct
14794         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
14795         Based on a patch from Kirk Webb.
14796         [5574c68f60f3]
14797
14798 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14799
14800         * configure.in:
14801         missing ;;
14802         [22378f2a9d31]
14803
14804         * configure.in:
14805         darwin has a broken setreuid() in at least some versions
14806         [d572aed930d2]
14807
14808         * env.c:
14809         Fix an off by one error when reallocating the environment; Kevin Pye
14810         [3d98e7cf097a]
14811
14812 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14813
14814         * sudoers.pod:
14815         Fix User_Spec definition; SEKINE Tatsuo
14816         [49b0da65e090]
14817
14818 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14819
14820         * HISTORY:
14821         More info on the early days from Coggs.
14822         [9381ca10b06b]
14823
14824 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14825
14826         * auth/kerb5.c:
14827         remove errant semicolon that prevented compilation under heimdal
14828         [d2f2bb73a598]
14829
14830 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14831
14832         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
14833         add DARPA credit on affected files
14834         [7020785ee50d]
14835
14836         * sudoers.pod:
14837         add DARPA credit on affected files
14838         [83b46318750b]
14839
14840         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
14841         sudoers.man.in:
14842         add DARPA credit on affected files
14843         [d8adf1c2ba22]
14844
14845         * set_perms.c:
14846         add DARPA credit on affected files
14847         [3d79fdabb582]
14848
14849         * pathnames.h.in:
14850         add DARPA credit on affected files
14851         [e334cdda422f]
14852
14853         * logging.c, parse.c:
14854         add DARPA credit on affected files
14855         [8f75f822755b]
14856
14857         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
14858         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
14859         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
14860         interfaces.h:
14861         add DARPA credit on affected files
14862         [da66e28fb3f5]
14863
14864         * auth/kerb5.c, auth/pam.c:
14865         add DARPA credit on affected files
14866         [15da3021b49c]
14867
14868         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
14869         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
14870         version.h:
14871         add DARPA credit on affected files
14872         [868d54cbddea]
14873
14874         * env.c:
14875         add DARPA credit on affected files
14876         [90239f51ef0a]
14877
14878         * defaults.c, defaults.h:
14879         add DARPA credit on affected files
14880         [6a64205fd1eb]
14881
14882         * compat.h:
14883         add DARPA credit on affected files
14884         [316a735783c4]
14885
14886         * Makefile.in, alloc.c, check.c:
14887         add DARPA credit on affected files
14888         [cd939e05c810]
14889
14890         * LICENSE:
14891         slightly different wording for the darpa credit
14892         [e468909c4a21]
14893
14894 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14895
14896         * LICENSE:
14897         Add DARPA credit
14898         [8eb20e2cd63e]
14899
14900 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14901
14902         * auth/kerb5.c:
14903         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
14904         Kerberos like we did before I messed things up ;-)
14905
14906         Use krb5_principal_get_comp_string() to do the same thing w/
14907         Heimdal. I'm not sure if the component should be 0 or 1 in this
14908         case.
14909
14910         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
14911         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
14912         should be a configure check for this I guess.
14913         [74919a3933fe]
14914
14915 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14916
14917         * sample.sudoers:
14918         builtin -> built-in; Jason McIntyre
14919         [027f2187923e]
14920
14921         * TROUBLESHOOTING, config.h.in, configure, configure.in:
14922         builtin -> built-in; Jason McIntyre
14923         [70b81ac48943]
14924
14925         * sudoers.pod:
14926         built in -> built-in; Jason McIntyre
14927         [da658ef5138d]
14928
14929 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14930
14931         * CHANGES:
14932         checkpoint for 1.6.7p3
14933         [da85f989fadf]
14934
14935         * HISTORY:
14936         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
14937         Amazingly, sudo source from 1985 is available via groups.google.com
14938         [39e0fc85b89f]
14939
14940         * sudo.c:
14941         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
14942         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
14943         RLIMIT_CORE restoration on some OSes.
14944         [7e2c1a7adfd8]
14945
14946 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14947
14948         * auth/kerb5.c:
14949         Make this compile on Heimdal and MIT Kerberos 5
14950         [44c07d615868]
14951
14952         * config.h.in, configure, configure.in:
14953         Check for heimdal even if we found krb5-config and define
14954         HAVE_HEIMDAL.
14955         [aba0126f0059]
14956
14957         * auth/kerb5.c:
14958         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
14959         no longer defined by MIT kerb5 (though it used to be and indeed
14960         remains so in Heimdal).
14961         [e5a6c64d7cd5]
14962
14963 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14964
14965         * mkinstalldirs:
14966         Remove newer stuff that passes multiple (possibly duplicate)
14967         directories to "mkdir -p" since that seems to break on Tru64 Unix at
14968         least. This basically brings back what shipped with sudo 1.6.6.
14969         [f2a1abd872b3]
14970
14971 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14972
14973         * auth/kerb5.c:
14974         Correct number of args to krb5_principal_get_realm() and fix an
14975         unclosed comment that hid the bug.
14976         [0b37f8ce7824]
14977
14978         * configure:
14979         regen
14980         [1876cb840fe0]
14981
14982         * configure.in:
14983         ++version
14984         [480aff7c048e]
14985
14986         * README:
14987         ++version
14988         [488e0bbff613]
14989
14990         * Makefile.in:
14991         ++version
14992         [97ef63cedc38]
14993
14994         * INSTALL.binary:
14995         ++version
14996         [a506204e77d0]
14997
14998         * INSTALL:
14999         ++version
15000         [555aeba5c2bf]
15001
15002         * CHANGES, version.h:
15003         ++version
15004         [f66985a64063]
15005
15006         * BUGS:
15007         ++version
15008         [ea3573432412]
15009
15010         * configure.in:
15011         use krb5-config to determine Kerberos V details if it exists
15012         [7b46bbdaf774]
15013
15014         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
15015         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
15016         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
15017         testsudoers.c, visudo.c:
15018         Use warn/err and getprogname() throughout. The main exception is
15019         openlog(). Since the admin may be filtering logs based on the
15020         program name in the log files, hard code this to "sudo".
15021         [9f180d015cfa]
15022
15023         * Makefile.in:
15024         Add getprogname.c and err.c
15025         [d411c54a07dc]
15026
15027         * configure:
15028         regen
15029         [6d585d391acc]
15030
15031         * config.h.in, configure.in:
15032         Add checks for getprognam(), __progname and err.h
15033         [bcbccf61d34a]
15034
15035         * emul/err.h:
15036         For systems withour err/warn functions.
15037         [1b33118884d9]
15038
15039         * err.c:
15040         For systems withour err/warn functions.
15041         [26721f6b041f]
15042
15043         * getprogname.c:
15044         For systems neither getprogname() nor __progname; uses Argv[0].
15045         [841cf42af1eb]
15046
15047 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15048
15049         * CHANGES:
15050         checkpoint for 1.6.7p1
15051         [5bfdaf441dce]
15052
15053         * sudo.c, testsudoers.c:
15054         fix strlcpy() rval check (innocuous)
15055         [e05ac7e0d1f3]
15056
15057         * check.c:
15058         oflow detection in expand_prompt() was faulty (false positives). The
15059         count was based on strlcat() return value which includes the length
15060         of the entire string.
15061         [086c5a0acb25]
15062
15063 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
15064
15065         * RUNSON, TODO:
15066         checkpoint for the sudo 1.6.7 release
15067         [096bab4da29a] [SUDO_1_6_7]
15068
15069         * CHANGES:
15070         checkpoint for the sudo 1.6.7 release
15071         [87322187ed78]
15072
15073 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15074
15075         * logging.c:
15076         g/c unused variable
15077         [c57cd4a17765]
15078
15079         * configure:
15080         regen
15081         [e7c1f581dfac]
15082
15083         * configure.in:
15084         use man sections 8 and 5 for csops
15085         [87de581bda88]
15086
15087 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15088
15089         * configure:
15090         regen
15091         [cb1433a9c7a1]
15092
15093         * configure.in:
15094         Add -lskey or -lopie directly to SUDO_LIBS instead of having
15095         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
15096         [ac5667978939]
15097
15098         * configure:
15099         regen
15100         [638459118a2a]
15101
15102         * configure.in:
15103         Add --with-blibpath for AIX. An alternate libpath may be specified
15104         or
15105         -blibpath support can be disabled. Also change conifgure such that
15106         -blibpath is not specified if no -L libpaths were added to
15107         SUDO_LDFLAGS.
15108         [c7d17b480cad]
15109
15110         * aclocal.m4:
15111         Add --with-blibpath for AIX. An alternate libpath may be specified
15112         or
15113         -blibpath support can be disabled. Also change conifgure such that
15114         -blibpath is not specified if no -L libpaths were added to
15115         SUDO_LDFLAGS.
15116         [37022e991575]
15117
15118         * INSTALL:
15119         Add --with-blibpath for AIX. An alternate libpath may be specified
15120         or
15121         -blibpath support can be disabled. Also change conifgure such that
15122         -blibpath is not specified if no -L libpaths were added to
15123         SUDO_LDFLAGS.
15124         [4b4bbe5bbe1b]
15125
15126         * configure.in:
15127         add AIX blibpath support
15128         [16ba788bf086]
15129
15130         * INSTALL, configure.in:
15131         --with-skey and --with-opie now take an option directory argument
15132         This obsoletes a --with-csops hack (/tools/cs/skey)
15133
15134         Also remove the remaining direct uses of "echo"
15135         [5b4986a90c03]
15136
15137 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15138
15139         * configure.in:
15140         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
15141         for KTH Kerberos IV and V.
15142         [119f97b48e18]
15143
15144         * aclocal.m4:
15145         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
15146         -R/path/to/dir if $with_rpath) to the specified variable.
15147         [e55e49d076ce]
15148
15149         * INSTALL, configure.in:
15150         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
15151         option, --with-rpath to control this behavior.
15152         [d4730c5399ab]
15153
15154         * configure.in:
15155         for kerb4 put libdes after libkrb on the link line
15156         [5c566100eab6]
15157
15158         * auth/kerb4.c:
15159         typo
15160         [6541b72b64a3]
15161
15162         * configure.in:
15163         fix kerberos lib check when a path is specified
15164         [ae833a914c6f]
15165
15166         * logging.c:
15167         Fix boolean thinko in SIGCHLD reaper and call reapchild after
15168         sending mail instead of doing a conditional sudo_waitpid.
15169         [86fa9a35df5a]
15170
15171 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15172
15173         * configure:
15174         regen
15175         [e6275cf528ba]
15176
15177         * configure.in:
15178         replace =DIR with [=DIR] where sensible
15179         [c39a59173b38]
15180
15181         * configure.in:
15182         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
15183         detection based on openssh's configure.in
15184         [5b7a340912df]
15185
15186         * INSTALL:
15187         --with-kerb4 and --with-kerb5 now take an optional argument.
15188         [71ed87fc9c64]
15189
15190 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15191
15192         * auth/securid.c:
15193         Kill remaining strcpy(), the programmer's guide says username is 32
15194         bytes.
15195         [bdba70fcd08d]
15196
15197         * auth/kerb4.c:
15198         trat uid_t as unsigned long for printf and use snprintf, not sprintf
15199         [8072f5f8966d]
15200
15201         * auth/rfc1938.c:
15202         use snprintf
15203         [fc0c70c665fe]
15204
15205 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15206
15207         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
15208         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
15209         auth/rfc1938.c, auth/sudo_auth.c:
15210         update copyright year
15211         [b0a10ccb1d0e]
15212
15213         * sudo.man.in, sudoers.man.in, visudo.man.in:
15214         update copyright year
15215         [8fce0034eb51]
15216
15217         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
15218         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
15219         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
15220         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
15221         update copyright year
15222         [d541e75fe520]
15223
15224         * check.c, env.c, sudo.c:
15225         Cast [ug]ids to unsigned long and printf with %lu
15226         [2ede64d3592b]
15227
15228         * configure:
15229         regen
15230         [c7c3245bdf3e]
15231
15232         * configure.in:
15233         correct error messages for --with-sudoers-{mode,uid,gid}
15234         [77fc15b1c9db]
15235
15236         * alloc.c:
15237         make the malloc(0) error specific to each function to aid tracking
15238         down bugs.
15239         [a58c34374b4b]
15240
15241         * alloc.c:
15242         deal with platforms where size_t is signed and there is no SIZE_MAX
15243         or SIZE_T_MAX
15244         [7192abb4ab4e]
15245
15246         * auth/kerb5.c:
15247         Make this compile w/ Heimdal and fix some gcc warnings.
15248         [f52f026f31c2]
15249
15250         * sudo.c:
15251         Use stat_sudoers macro so --with-stow can work
15252         [c3674735c139]
15253
15254         * INSTALL, config.h.in, configure, configure.in:
15255         Add support for --with-stow based on patches from Robert Uhl
15256         [b274cc1dd52c]
15257
15258         * env.c:
15259         fix indentation
15260         [110d9f1721b1]
15261
15262         * configure.in:
15263         back out rev 1.352
15264         [1eee91c83f11]
15265
15266         * lex.yy.c:
15267         regen
15268         [72fba1c9590b]
15269
15270         * parse.lex:
15271         use strlcpy, not strncpy
15272         [4faccbaeccef]
15273
15274         * set_perms.c:
15275         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
15276         [33bf0d18fdc1]
15277
15278         * logging.c:
15279         use pid_t
15280         [3e0536993d2c]
15281
15282 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15283
15284         * strlcat.c, strlcpy.c:
15285         Make gcc shutup about unused rcsid
15286         [1669a0c74e9e]
15287
15288         * interfaces.c:
15289         Move the n == 0 check for the non-getifaddrs cas
15290         [2460be061b2a]
15291
15292         * auth/rfc1938.c:
15293         skeychallenge() on NetBSD take a size parameter
15294         [05acc2012801]
15295
15296         * configure:
15297         regen
15298         [24bccf4749e8]
15299
15300         * configure.in:
15301         put -ldl after -lpam, not before; fixes static linking on Linux
15302         [7f06b7b2b4d8]
15303
15304         * interfaces.c:
15305         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
15306         case.
15307         [239a55068646]
15308
15309         * sudo.cat, sudoers.cat, visudo.cat:
15310         regen
15311         [4a2eed3981ca]
15312
15313         * sudo.man.in, sudoers.man.in, visudo.man.in:
15314         regen
15315         [2c96ea2cf930]
15316
15317         * Makefile.in:
15318         Preserve copyright notice from .pod file in .man.in file
15319         [519fbd09aebc]
15320
15321         * visudo.pod:
15322         Add sudoers(5) to SEE ALSO
15323         [77ecfe3aedf1]
15324
15325 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15326
15327         * lex.yy.c:
15328         regen
15329         [6f5751ce0b74]
15330
15331         * parse.lex:
15332         Don't assume libc can realloc() a NULL string. If malloc/realloc
15333         fails, make sure we just return; yyerror() is not terminal.
15334         [1b8618623708]
15335
15336         * lex.yy.c:
15337         regen
15338         [5d31b46191c6]
15339
15340         * parse.lex:
15341         simplify fill_args a little and use strlcpy for paranoia
15342         [0ea35a55542b]
15343
15344         * sudo.tab.c:
15345         regen
15346         [5a8d508d708b]
15347
15348         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
15349         testsudoers.c:
15350         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
15351         cases the strings were either pre-allocated to the correct size of
15352         length checks were done before the copy but a little paranoia can go
15353         a long way.
15354         [e73d28f1d14e]
15355
15356         * sudo.h:
15357         Add strlc{at,py} protos
15358         [748ffc7fc7f4]
15359
15360         * env.c, interfaces.c:
15361         Use erealloc3()
15362         [47f2cb46aba8]
15363
15364         * configure:
15365         regen
15366         [e7e2fb79f935]
15367
15368         * alloc.c:
15369         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
15370         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
15371         [7e0fa4d6fc1d]
15372
15373         * sudo.c:
15374         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
15375         configure.
15376         [09ea4d3959e9]
15377
15378         * aclocal.m4:
15379         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
15380         [31b4fdfdb8bf]
15381
15382 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15383
15384         * sudo.c:
15385         Use snprintf() for paranoia
15386         [a2659ceb46de]
15387
15388         * parse.yacc:
15389         Use emalloc2 and erealloc3
15390         [90a069842401]
15391
15392         * Makefile.in:
15393         strlc{at,py} for those w/o it
15394         [bac82dc916ee]
15395
15396         * strlcat.c, strlcpy.c:
15397         stlc{at,py} for those w/o it.
15398         [ce7254f5db09]
15399
15400         * config.h.in, configure, configure.in:
15401         Add stlc{at,py} for those w/o it.
15402         [00f08219657a]
15403
15404         * alloc.c, sudo.h:
15405         Add erealloc3(), a realloc() version of emalloc2().
15406         [c96eaf08bbed]
15407
15408         * interfaces.c, sudo.c:
15409         Use emalloc2() to allocate N things of a certain size.
15410         [1e0aba365555]
15411
15412         * alloc.c, sudo.h:
15413         Add emalloc2() -- like calloc() but w/o the bzero and with
15414         error/oflow checking.
15415         [292150bc4153]
15416
15417         * alloc.c:
15418         Error out on malloc(0); suggested by theo
15419         [995279e81326]
15420
15421 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15422
15423         * configure, configure.in:
15424         fix a typo; David Krause
15425         [f161213a17ab]
15426
15427 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15428
15429         * sudo.pod:
15430         fix typo
15431         [3ae5ad9a351a]
15432
15433 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
15434
15435         * env.c:
15436         Remove DYLD_ from the environment for MacOS X; from bbraun
15437         [38caad5a3935]
15438
15439 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15440
15441         * config.h.in, configure.in:
15442         not not; Anil Madhavapeddy
15443         [d4f4f0bfc66b]
15444
15445 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15446
15447         * sudo.pod, sudoers.pod, visudo.pod:
15448         typos; jmc@openbsd.org
15449         [868c0f09bf9e]
15450
15451 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15452
15453         * parse.yacc:
15454         Add some missing ';' rule terminators that bison warns about.
15455         [535b0b8dcce5]
15456
15457         * config.sub:
15458         fix typo I introduced in last merge
15459         [81db4e4f43fe]
15460
15461         * configure:
15462         regenerate with autoconf 2.57
15463         [ca0c1e9564f8]
15464
15465         * config.h.in:
15466         Add missing "$HOME"
15467         [209186197ad1]
15468
15469         * configure.in:
15470         Add some more square backets to make autoconf 2.57 happy
15471         [b5639c14faf7]
15472
15473         * config.sub, mkinstalldirs:
15474         Updates from autoconf-2.57
15475         [36be35eb331b]
15476
15477         * config.guess:
15478         Updates from autoconf-2.57
15479         [ea0f8ca622af]
15480
15481 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15482
15483         * sudo.tab.h:
15484         regen
15485         [13a65a421567]
15486
15487         * lex.yy.c, sudo.tab.c:
15488         regen
15489         [0b529db7cb6d]
15490
15491         * parse.lex, parse.yacc, sudoers.pod:
15492         Add support for Defaults>RunasUser
15493         [20d726373175]
15494
15495 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15496
15497         * visudo.c:
15498         fclose() yyin after each yyparse() is done and use fopen() instead
15499         of using freopen().
15500         [587f8a2df857]
15501
15502         * parse.lex:
15503         Better fix for sudoers files w/o a newline before EOF. It looks
15504         like the issue is that yyrestart() does not reset the start
15505         condition to INITIAL which is an issue since we parse sudoers
15506         multiple times.
15507         [920f8326968a]
15508
15509 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15510
15511         * parse.lex:
15512         Work around what appears to be a flex bug when dealing with files
15513         that lack a final newline before EOF. This adds a rule to match EOF
15514         in the non-initial states which resets the state to INITIAL and
15515         throws an error.
15516         [b94943bb1f81]
15517
15518         * visudo.c:
15519         o The parser needs sudoers to end with a newline but some editors
15520         (emacs) may not add one. Check for a missing newline at EOF and
15521         add one if needed. o Set quiet flag during initial sudoers parse (to
15522         get options) o Move yyrestart() call and always use freopen() to
15523         open yyin after initial sudoers parse.
15524         [12d12f9b07aa]
15525
15526 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15527
15528         * set_perms.c:
15529         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
15530         effective gid, not real gid, when reading sudoers.
15531         [c7d18b810fcd]
15532
15533         * set_perms.c:
15534         don't compile set_perms_posix if we have setreuid or setresuid
15535         [b9cea7a81a29]
15536
15537 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15538
15539         * sudo.pod, sudoers.pod:
15540         document new prompt escapes
15541         [2f088076b640]
15542
15543         * check.c:
15544         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
15545         collapsed to "%" as was originally intended. This also gets rid of
15546         lastchar (does lookahead instead of lookback) which should simplify
15547         the logic slightly.
15548         [4b707b77b3c7]
15549
15550 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15551
15552         * tgetpass.c:
15553         Write the prompt *after* turning off echo to avoid some password
15554         characters being echoed on heavily-loaded machines with fast
15555         typists.
15556         [d38c57775915]
15557
15558         * config.sub:
15559         Add support for mipseb; wiz@danbala.tuwien.ac.at
15560         [cfdac87ed5c8]
15561
15562         * configure.in:
15563         Fix IRIX fallout from name changes in man dir/sect Makefile
15564         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
15565         [9a7618755c23]
15566
15567         * auth/pam.c:
15568         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
15569         the global copy. Problem noted by Peter Pentchev.
15570         [d0a3e189cb06]
15571
15572 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15573
15574         * sudo.tab.c:
15575         regen
15576         [23b931359087]
15577
15578         * parse.yacc:
15579         Add missing yyerror() calls; YYERROR does not seem to call this for
15580         us.
15581         [0be7aeb3ac57]
15582
15583 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15584
15585         * sudo.c:
15586         fix typo in comment; Pedro Bastos
15587         [d7406c460e99]
15588
15589 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15590
15591         * INSTALL:
15592         document --disable-setresuid
15593         [fbd03d03a027]
15594
15595         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
15596         auth/sudo_auth.c:
15597         Sprinkle some volatile qualifiers to prevent over-enthusiastic
15598         optimizers from removing memset() calls.
15599         [5370ac0e6129]
15600
15601         * logging.c, parse.yacc:
15602         minor sign fixes pointed out by gcc -Wsign-compare
15603         [db872438337f]
15604
15605         * set_perms.c, sudo.c, sudo.h:
15606         Revamp set_perms. We now use a version based on setresuid() or
15607         setreuid() when possible since that allows us to support the
15608         stay_setuid option and we always know exactly what the semantics
15609         will be (various Linux kernels have broken POSIX saved uid support).
15610         [523bc212396c]
15611
15612         * config.h.in, configure:
15613         regen from configure.in
15614         [351877ea2624]
15615
15616         * configure.in:
15617         Add checks for setresuid() and a way to disable using it
15618         [a5b21653d169]
15619
15620         * compat.h:
15621         No long need to emulate set*[ug]id() via setres[ug]id() or
15622         setre[ug]id(). The new set_perms stuff only uses things it knows are
15623         there.
15624         [47884bd5d1d9]
15625
15626         * sudo.c:
15627         Before exec, restore state of signal handlers to be the same as when
15628         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
15629         a problem when using sudo with nohup. Based on a patch from Paul
15630         Markham.
15631         [f8f5a1484faa]
15632
15633         * sudo.c:
15634         o timestamp_uid should be uid_t, not int o clarify error message
15635         when sudo is run by root and no_root_sudo is set
15636         [19dda0734264]
15637
15638 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15639
15640         * README:
15641         update ftp link for bison
15642         [98bc191016e3]
15643
15644 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15645
15646         * set_perms.c:
15647         Error out if setusercontext() fails and the runas user is not root.
15648         [089f9ade4686]
15649
15650 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15651
15652         * auth/securid5.c:
15653         Fix rcsid
15654         [07e9e85dcc2f]
15655
15656         * configure.in:
15657         Fix SecurID API test
15658         [5ec201f454a5]
15659
15660 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15661
15662         * env.c:
15663         typo in comment
15664         [9d385c9ac533]
15665
15666         * configure.in:
15667         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
15668         but I don't see a better way at the moment.
15669         [f89e55cbb313]
15670
15671         * Makefile.in, auth/securid5.c:
15672         SecurID API version 5 support from Michael Stroucken
15673         [68500ac7e531]
15674
15675         * configure.in:
15676         Add check for SecurID 5.0 API
15677         [1ee242e6de6b]
15678
15679 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15680
15681         * strerror.c:
15682         We actually do still need config.h to get the 'const' definition for
15683         K&R C.
15684         [d9c982032d85]
15685
15686 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15687
15688         * configure:
15689         regen with autoconf 2.5.3
15690         [c71fc086eef5]
15691
15692         * configure.in:
15693         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
15694         [d90da1efafd9]
15695
15696         * configure.in:
15697         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
15698         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
15699         [dd67afefa90d]
15700
15701         * env.c, sudo.c, sudo.h:
15702         No need for dump_badenv() now that dump_defaults() knows how to dump
15703         lists.
15704         [6bcda468501d]
15705
15706         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
15707         version.h:
15708         ++version
15709         [44e3b8f95f0b]
15710
15711         * sudoers.pod:
15712         document timestampowner
15713         [37ebd69e9dd1]
15714
15715         * check.c:
15716         Don't call set_perms() when doing timestamp stuff unless
15717         timestamp_uid != 0.
15718         [63a63d41d18c]
15719
15720         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
15721         sudo.h, testsudoers.c:
15722         g/c second arg to set_perms--it is no longer used
15723         [7ac4ce50c612]
15724
15725 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15726
15727         * check.c, set_perms.c, sudo.c, sudo.h:
15728         Add support for non-root timestamp dirs. This allows the timestamp
15729         dir to be shared via NFS (though this is not recommended).
15730         [faa83dd2b7fb]
15731
15732         * def_data.c, def_data.h, def_data.in:
15733         Add timestampowner, "Owner of the authentication timestamp dir"
15734         [d47640d4c86a]
15735
15736 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15737
15738         * env.c:
15739         Don't try to pre-compute the size of the new envp, just allocate
15740         space up front and realloc as needed. Changes to the new env
15741         pointer must all be made through insert_env() which now keeps track
15742         of spaced used and allocates as needed.
15743         [39bc934a9f2c]
15744
15745 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15746
15747         * configure:
15748         regen
15749         [0e12c09bb790]
15750
15751         * configure.in:
15752         Fix two typo/pastos; from jrj@purdue.edu
15753         [b718a4bf1181]
15754
15755 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15756
15757         * INSTALL.binary, README:
15758         ++version
15759         [a1e33027278c] [SUDO_1_6_6]
15760
15761         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
15762         visudo.cat, visudo.man.in:
15763         regen
15764         [19eb2be283ef]
15765
15766         * CHANGES, RUNSON, TODO:
15767         Sync with 1.6.6
15768         [2ff9a9087f63]
15769
15770         * check.c:
15771         The the loop used to expand %h and %u, the lastchar variable was not
15772         being initialized. This means that if the last char in the prompt
15773         is '%' and the first char is 'h' or 'u' a extra copy of the host or
15774         user name would be copied, for which space had not been allocated.
15775         [b2e27197857d]
15776
15777 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15778
15779         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
15780         crank version to 1.6.6
15781         [cfd08689e597]
15782
15783         * auth/afs.c:
15784         #undef VOID to get rid of an AFS warning
15785         [b40760564dc1]
15786
15787         * env.c:
15788         Use easprintf instead of emalloc + sprintf for some things.
15789         [e7bfe2e69a03]
15790
15791 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15792
15793         * lex.yy.c, sudo.tab.c:
15794         regen
15795         [35327104383d]
15796
15797         * parse.c, parse.lex, parse.yacc, testsudoers.c:
15798         Remove Chris Jepeway's email address so people don't bug him ;-)
15799         [c03410747a69]
15800
15801 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15802
15803         * sudo.c:
15804         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
15805         endgrent() at the same time.
15806         [28b6097d5d1a]
15807
15808 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15809
15810         * INSTALL:
15811         Make it clear which configure options take arguments.
15812         [38529e7efad0]
15813
15814 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15815
15816         * compat.h:
15817         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
15818         RLIM_INFINITY, just pretend it is -1. This works because we only
15819         check for RLIM_INFINITY and do not set anything to that value.
15820         [53173d34e6eb]
15821
15822 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
15823
15824         * auth/pam.c:
15825         Zero and free allocated memory when there is a conversation error.
15826         [e342133db579]
15827
15828         * auth/bsdauth.c:
15829         Use sigaction() not signal()
15830         [126c2790561f]
15831
15832         * INSTALL:
15833         Mention that some linux kernels have broken POSIX saved ID support
15834         [571ef1a893d3]
15835
15836         * CHANGES:
15837         checkpoint for 1.6.5p2
15838         [9e9e456f7f43]
15839
15840         * configure:
15841         regen
15842         [d53703a46708]
15843
15844         * configure.in:
15845         Add --disable-setreuid flag
15846         [3b9f2679cb55]
15847
15848         * INSTALL:
15849         Document new --disable-setreuid option and change description for
15850         --disable-saved-ids to match new error message.
15851         [14fd3e5f60a5]
15852
15853         * set_perms.c:
15854         fatal() now takes an argument that determines whether or not to call
15855         perror().
15856         [d826b25e62ff]
15857
15858         * TROUBLESHOOTING:
15859         Update for new error messages from set_perms()
15860         [78007c3f76a9]
15861
15862         * PORTING:
15863         Update for new error messages from set_perms()
15864         [60c545a6bcff]
15865
15866 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15867
15868         * auth/pam.c:
15869         Make this compile w/o warnings
15870         [b90843a29af5]
15871
15872         * auth/pam.c:
15873         Mention that we can't use pam_acct_mgmt()
15874         [1dfc5a6e0479]
15875
15876         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
15877         The user's password was not zeroed after use when AIX
15878         authentication, BSD authentication, FWTK or PAM was in use.
15879         [b18fff30b1e7]
15880
15881 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15882
15883         * auth/pam.c:
15884         Avoid giving PAM a NULL password response, use the empty string
15885         instead. This avoids a log warning when the user hits ^C at the
15886         password prompt when PAM is in use.
15887         [c3315805e4e4]
15888
15889         * auth/pam.c:
15890         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
15891         pam_setcred() returns the last saved return code, not the return
15892         code for the setcred module. Because we haven't called
15893         pam_authenticate(), this is not set and so pam_setcred() returns
15894         PAM_PERM_DENIED.
15895         [73db145fa179]
15896
15897         * Makefile.in:
15898         Don't need a '/' between $(DESTDIR) and a directory.
15899         [0901ca618176]
15900
15901         * Makefile.binary:
15902         Don't need a '/' between $(DESTDIR) and a directory.
15903         [cd7eb6098b87]
15904
15905 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15906
15907         * configure:
15908         regen
15909         [41b12c039282]
15910
15911         * configure.in:
15912         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
15913         setreuid() o new NetBSD has a real setreuid() o add check for
15914         freeifaddrs() if getifaddrs() exists.
15915         [a82ee3b01733]
15916
15917         * config.h.in, interfaces.c:
15918         Older BSDi releases lack freeifaddrs() so add a test for that and if
15919         it is not present just use free().
15920         [6270671ea9d5]
15921
15922 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15923
15924         * CHANGES, RUNSON:
15925         Checkpoint for 1.6.5p1
15926         [26134ecf9b36]
15927
15928         * auth/passwd.c:
15929         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
15930         to normal passwords, not AUTH_FATAL (which just causes an exit).
15931         [785e0f4bc0e2]
15932
15933         * visudo.c:
15934         Don't use memory after it has been freed.
15935         [c60492739fdb]
15936
15937         * auth/passwd.c:
15938         skeyaccess() wants a struct passwd * not a char *; Patch from
15939         Phillip E. Lobbes
15940         [65a1d3806fcd] [SUDO_1_6_5]
15941
15942         * BUGS:
15943         ++version
15944         [b2e1825e692e]
15945
15946         * CHANGES, RUNSON, TODO:
15947         checkpoint for sudo 1.6.5
15948         [d730945622e7]
15949
15950 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15951
15952         * configure:
15953         regen
15954         [49744c403ac9]
15955
15956         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
15957         version 1.6.5
15958         [ec30a5f7fc45]
15959
15960         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
15961         visudo.man.in:
15962         sudo version 1.6.5
15963         [458a3bed535d]
15964
15965         * logging.c:
15966         o when invoking the mailer as root use a hard-coded environment that
15967         doesn't include any info from the user's environment. Basically
15968         paranoia.
15969
15970         o Add support for the NO_ROOT_MAILER compile-time option and run the
15971         mailer as the user and not root if NO_ROOT_MAILER is defined.
15972         [4df351ec92ce]
15973
15974         * set_perms.c, sudo.h:
15975         Bring back PERM_FULL_USER
15976         [edb6039bb284]
15977
15978         * configure:
15979         regen
15980         [3eb2943afa03]
15981
15982         * version.h:
15983         version 1.6.5
15984         [044fc9a0c72b]
15985
15986         * INSTALL, config.h.in, configure.in:
15987         Add --disable-root-mailer option to run the mailer as the user and
15988         not root.
15989         [e9f805397963]
15990
15991         * CHANGES:
15992         checkpoint for 1.6.4p2
15993         [b58aae5aa98a]
15994
15995         * PORTING:
15996         Mention the "seteuid(0): Operation not permitted" problem here too
15997         just for good measure.
15998         [90135b37a691]
15999
16000 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16001
16002         * env.c, getspwuid.c, sudo.c:
16003         The SHELL environment variable was preserved from the user's
16004         environment instead of being reset based on the passwd database when
16005         the "env_reset" option was used. Now it is reset as it should be.
16006         [300066ef3c71]
16007
16008         * configure:
16009         regen
16010         [a47d779e6552]
16011
16012         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
16013         sudo.c:
16014         Add a configure option to turn off use of POSIX saved IDs
16015         [fb18cc8e94d0]
16016
16017         * configure:
16018         regen
16019         [d4f2f20025b6]
16020
16021         * configure.in:
16022         add --with-efence option
16023         [45c4f33a8e88]
16024
16025         * sudo.c:
16026         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
16027         "sudo -l" would not work if always_set_home was set.
16028         [c3a6de6c4800]
16029
16030         * lex.yy.c:
16031         regen
16032         [417424452998]
16033
16034         * parse.lex:
16035         Quoted commas were not being treated correctly in command line
16036         arguments.
16037         [753415541b37]
16038
16039         * sudo.c:
16040         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
16041         Otherwise, the set_home option has no effect.
16042
16043         o Fix use of freed memory when the "fqdn" flag is set. This was
16044         introduced by the fix for the "segv when gethostbynam() fails" bug.
16045         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
16046         there is no need to check the "fqdn" flag in set_fqdn() itself.
16047         [4b6a4245c04e]
16048
16049         * env.c:
16050         Add 'continue' statements to optimize the switch statement. From
16051         Solar.
16052         [a82c76975ae5]
16053
16054 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16055
16056         * sudoers.cat, sudoers.man.in:
16057         Regen from new sudoers.pod
16058         [6ecc07b3d0e1] [SUDO_1_6_4]
16059
16060         * sudoers.pod:
16061         Add caveat about stay_setuid flag
16062         [9d228a7bea1b]
16063
16064         * sudo.c:
16065         If set_perms == set_perms_posix and the stay_setuid flag is not set,
16066         set all uids to 0 and use set_perms_fallback().
16067         [c4e54d1ec86f]
16068
16069         * set_perms.c, sudo.h:
16070         Remove PERM_FULL_USER (which is no longer used) and add
16071         PERM_FULL_ROOT (used when exec'ing the mailer).
16072         [15406c522ea2]
16073
16074         * logging.c:
16075         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
16076         never want to run the mailer setuid.
16077         [2294853e0666]
16078
16079 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16080
16081         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
16082         visudo.pod:
16083         Use sudo.ws instead of courtesan.com in URLs
16084         [55204002a308]
16085
16086         * Makefile.binary, Makefile.in:
16087         Fix mansect substitution
16088         [b7b5cbc3aa91]
16089
16090         * Makefile.in:
16091         Substitute man sections in Makefile.binary
16092         [040deb785e56]
16093
16094         * Makefile.binary:
16095         Sync install targets with Makefile.in and substitute in man
16096         sections.
16097         [77882a275281]
16098
16099         * INSTALL, INSTALL.binary:
16100         version is 1.6.4
16101         [0f87aabbcb70]
16102
16103         * Makefile.in:
16104         Repair bindist target
16105         [8d43bfe7e2d1]
16106
16107         * CHANGES:
16108         sync for 1.6.4
16109         [13ca3d4a0a72]
16110
16111 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16112
16113         * install-sh:
16114         Fix case where neither whoami nor id are found
16115         [424dd270bc47]
16116
16117 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16118
16119         * install-sh:
16120         If neither whoami nor id exists, just assume we are root.
16121         [2d2644e42c53]
16122
16123         * alloc.c:
16124         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
16125         on AIX which for some reason isn't pulling in the malloc prototype.
16126         [231440d2ee3b]
16127
16128 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16129
16130         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
16131         (c) 2002
16132         [700e3b41a68e]
16133
16134         * CHANGES:
16135         checkpoint
16136         [33e604bd8d5b]
16137
16138         * sudo.c:
16139         Defer assigning new environment until right before the exec.
16140         [f13c49e75c1c]
16141
16142         * parse.c:
16143         kill extra blank line
16144         [12ef22e9dae3]
16145
16146 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16147
16148         * configure:
16149         regen
16150         [a6cd2d788f74]
16151
16152         * configure.in:
16153         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
16154         compiler doesn't recognise -O2.
16155         [5234aa543692]
16156
16157         * HISTORY:
16158         Clarify origins of Root Group sudo a bit based on info from
16159         billp@rootgroup.com
16160         [4deef01c4208]
16161
16162 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
16163
16164         * LICENSE:
16165         2002
16166         [6c8e089dbd1a]
16167
16168         * CHANGES:
16169         checkpoint for 1.6.4rc1
16170         [3349eb87a49f]
16171
16172 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16173
16174         * config.h.in:
16175         now generated via autoheader
16176         [84657d303cb9]
16177
16178         * configure:
16179         regen
16180         [207bfa6a13f6]
16181
16182         * compat.h:
16183         Move in some stuff that was previously in config.h.
16184         [e576d8b6480f]
16185
16186         * aclocal.m4, configure.in:
16187         Add info for autoheader.
16188         [0549cd5da27c]
16189
16190 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16191
16192         * Makefile.in:
16193         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
16194         -g to facilitate non-root installs
16195         [619216038f56]
16196
16197         * install-sh:
16198         Add -M option (like -m but only for root) If we can't find "whoami",
16199         use "id" w/ some sed.
16200         [b39121c8b792]
16201
16202         * configure:
16203         regen
16204         [b39b93ff9804]
16205
16206         * configure.in:
16207         allow user to always override mansectsu and mansectform
16208         [0fca5e63bd90]
16209
16210 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
16211
16212         * mkinstalldirs:
16213         update from autoconf 2.52
16214         [07bd75a508c3]
16215
16216         * config.guess, config.sub:
16217         Update from autoconf 2.52
16218         [857b90fe31b7]
16219
16220         * configure:
16221         regen with autoconf 2.52
16222         [08e7d1ea2aeb]
16223
16224         * configure.in:
16225         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
16226         mode o Remove compiler-specific checks for HP-UX now that we use
16227         AC_PROG_CC_STDC
16228         [d433a70b6208]
16229
16230         * RUNSON:
16231         Checkpoint
16232         [babf6d2235d1]
16233
16234         * auth/pam.c:
16235         o Add pam_prep_user function to call pam_setcred() for the target
16236         user; on Linux this often sets resource limits. o When calling
16237         pam_end(), try to convert the auth->result to a PAM_FOO value.
16238         This is a hack--we really need to stash the last PAM_FOO value
16239         received and use that instead.
16240         [6ad6f340dd2a]
16241
16242         * set_perms.c, sudo.h:
16243         o Add pam_prep_user function to call pam_setcred() for the target
16244         user; on Linux this often sets resource limits.
16245         [67795421ac82]
16246
16247         * env.c:
16248         Fix off by one error in number of bytes allocated via malloc (does
16249         not affected any released version of sudo).
16250         [5f5915360111]
16251
16252 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16253
16254         * lex.yy.c:
16255         regen
16256         [8208c0277775]
16257
16258         * parse.lex:
16259         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
16260         requiring that they be quoted.
16261         [ae59bc8f68dd]
16262
16263         * sudoers.cat, sudoers.man.in, sudoers.pod:
16264         Mention that no double quotes are needed when
16265         adding/deleting/assigning a single value to a list.
16266         [25efc940a1f0]
16267
16268         * Makefile.in:
16269         Don't rely on mkdefaults being executable, call perl explicitly.
16270         [6edc97ba5f1d]
16271
16272         * sudo.tab.c:
16273         regen
16274         [49130b2e7e4d]
16275
16276         * parse.yacc:
16277         Remove some XXX that are no longer relevant.
16278         [d460ac0d3767]
16279
16280         * defaults.c:
16281         o Roll our own loop instead of using strpbrk() for better
16282         grokability o When adding to a list we must malloc() and use
16283         memcpy(), not strdup() since we must only copy len bytes from str.
16284         [649bef08e1f0]
16285
16286 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16287
16288         * sudo.tab.c:
16289         regen
16290         [f0bbf2c38c0e]
16291
16292         * parse.yacc:
16293         typo in comment
16294         [2563711ff593]
16295
16296 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
16297
16298         * CHANGES:
16299         checkpoint
16300         [a6d8a29fb30e]
16301
16302         * configure:
16303         regen
16304         [bdfcaaf3bd13]
16305
16306         * configure.in:
16307         avoid the -g flag unless --with-devel was specified
16308         [a976707bef30]
16309
16310         * Makefile.in:
16311         mkdefaults, def_data.in and sigaction.c were missing from the
16312         tarball
16313         [6917ffbaa412]
16314
16315         * Makefile.in:
16316         def_data.c was missing
16317         [87c78b11453d]
16318
16319 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16320
16321         * env.c:
16322         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
16323         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
16324         [fc8698e6a45e]
16325
16326         * TODO:
16327         Another TODO item
16328         [6f251d6cd466]
16329
16330         * sudoers:
16331         Add comment for Default section so folks know where it should go.
16332         [7edba626f392]
16333
16334 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16335
16336         * tgetpass.c:
16337         Use TCSETAF, not TCSETA to set terminal in termio case
16338         [fbd172f6c5d3]
16339
16340         * sudoers.cat, sudoers.man.in:
16341         regen from sudoers.pod
16342         [64edd2de816e]
16343
16344         * sudoers.pod:
16345         o Typo, Runas_User_List should be Runas_List o a User_List can not
16346         contain a uid o mention that the Defaults section should come after
16347         Alias definitions but before the user specifications
16348         [54070ba2092b]
16349
16350 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16351
16352         * sudoers.cat, sudoers.man.in:
16353         regen
16354         [e62d1d97693c]
16355
16356         * sudoers.pod:
16357         Fix listpw and verifypw sections, they were not being formatted
16358         properly.
16359         [123868c2f3e9]
16360
16361         * sudoers.cat, sudoers.man.in:
16362         regen
16363         [f94841f8b374]
16364
16365         * sudoers.pod:
16366         fix typos
16367         [f278f1c1184e]
16368
16369         * configure:
16370         regen
16371         [d2270049ba9f]
16372
16373         * config.h.in, configure.in:
16374         use AC_SYS_POSIX_TERMIOS instead of rolling our own
16375         [c1a13f1354b9]
16376
16377         * README:
16378         Reference sudo.ws not courtesan.com
16379         [ca13be67ebd7]
16380
16381         * PORTING:
16382         Add notes on shadow passwords
16383         [aa13863f2314]
16384
16385         * BUGS:
16386         In list mode (sudo -l), characters escaped with a backslash are
16387         shown verbatim with the backslash.
16388         [1a75a2858be2]
16389
16390         * sudoers:
16391         Add simple examples from OpenBSD (Marc Espie)
16392         [3ae9a9ae4125]
16393
16394         * tgetpass.c:
16395         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
16396         [f8817699ee10]
16397
16398         * CHANGES:
16399         minor prettyification
16400         [f523587929b9]
16401
16402         * CHANGES:
16403         Updated change log
16404         [39d9010ee7a8]
16405
16406         * testsudoers.c:
16407         Fix CIDR handling here too.
16408         [c91db8344c32]
16409
16410         * auth/pam.c:
16411         Apparently a NULL response is OK
16412         [83bae61078d9]
16413
16414         * TODO:
16415         Checkpoint for upcoming beta release
16416         [efb95c09df2a]
16417
16418         * TROUBLESHOOTING:
16419         Many people believe that adding a runas spec should obviate the need
16420         for the -u flag. It does not.
16421         [c698bad85b0e]
16422
16423         * RUNSON:
16424         checkpoint update for upcoming 1.6.4 beta
16425         [009e465a0a45]
16426
16427         * config.h.in:
16428         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
16429         if HAVE_STRING_H is defined -- this is safe now
16430         [d27c035f4e14]
16431
16432         * PORTING:
16433         Add signals section
16434         [2d24c13cb3c8]
16435
16436         * configure:
16437         regen
16438         [2b80a939e2ed]
16439
16440         * configure.in:
16441         Fix check for sigaction_t
16442         [6fa41c89ab20]
16443
16444         * sudo.c:
16445         XXX - should call find_path() as runas user, not root. Can't do
16446         that until the parser changes though.
16447         [f0b4f85651bd]
16448
16449         * sudo.c:
16450         If find_path() fails as root, try again as the invoking user (useful
16451         for NFS). Idea from Chip Capelik.
16452         [e03fa7872692]
16453
16454         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
16455         Regenerate after pod file changes
16456         [48e4bd75ec21]
16457
16458         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
16459         sudo.pod, sudoers.pod:
16460         Add new sudoers option "preserve_groups". Previously sudo would not
16461         call initgroups() if the target user was root. Now it always calls
16462         initgroups() unless the -P command line option or the
16463         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
16464         [4f730359f101]
16465
16466 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16467
16468         * compat.h, config.h.in:
16469         Use new HAVE_SIGACTION_T define
16470         [dfb25f3cae5b]
16471
16472         * logging.c:
16473         Fix compilation on K&C
16474         [7355e3275e34]
16475
16476         * configure:
16477         regen
16478         [a710584f92f0]
16479
16480         * configure.in:
16481         Add check for sigaction_t -- IRIX already defines this so don't
16482         redefine it.
16483         [df9c5737f6da]
16484
16485         * snprintf.c:
16486         fix typo
16487         [3d782b8134c8]
16488
16489         * interfaces.c:
16490         need stdlib.h here too
16491         [c789d8973ab2]
16492
16493         * configure:
16494         regen
16495         [44822856bf46]
16496
16497         * configure.in:
16498         Remove redundant checks for string.h, strings.h and unistd.h
16499         [933c94f8bbf4]
16500
16501         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16502         visudo.man.in:
16503         Regen from pod files
16504         [ad18c590f638]
16505
16506         * BUGS:
16507         Update for 1.6.4
16508         [26bc88b69d22]
16509
16510         * configure, lex.yy.c, sudo.tab.c:
16511         regen
16512         [bef89fd6fa2d]
16513
16514         * strerror.c:
16515         Return EINVAL if errnum > sys_nerr
16516         [0512374e6661]
16517
16518         * auth/sudo_auth.h:
16519         o Update copyright year
16520         [a877016db6e2]
16521
16522         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
16523         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
16524         sudo.pod:
16525         o Update copyright year
16526         [e15a1b39039f]
16527
16528         * configure.in:
16529         o Don't define STDC_HEADERS unconditionally for IRIX o Update
16530         copyright year
16531         [82a8cb819e07]
16532
16533         * README:
16534         update version
16535         [d82e523a16b4]
16536
16537         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
16538         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
16539         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
16540         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
16541         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
16542         visudo.c:
16543         o Reorder some headers and use STDC_HEADERS define properly o Update
16544         copyright year
16545         [fe39f76b3795]
16546
16547         * lsearch.c:
16548         o Reorder some headers and use STDC_HEADERS define properly o Update
16549         copyright year
16550         [764ba3d4fa13]
16551
16552         * getspwuid.c, goodpath.c, interfaces.c:
16553         o Reorder some headers and use STDC_HEADERS define properly o Update
16554         copyright year
16555         [fb46d46140d4]
16556
16557         * getcwd.c:
16558         o Reorder some headers and use STDC_HEADERS define properly o Update
16559         copyright year
16560         [b199d70ac7ab]
16561
16562         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
16563         fnmatch.c:
16564         o Reorder some headers and use STDC_HEADERS define properly o Update
16565         copyright year
16566         [dab8f192a3ed]
16567
16568         * configure:
16569         regen
16570         [156658f25cea]
16571
16572         * tgetpass.c:
16573         flags set in signal handlers should be volatile sig_atomic_t
16574         [c22931a5535e]
16575
16576         * config.h.in, configure.in:
16577         Add checks for volatile and sig_atomic_t
16578         [b03b3341381d]
16579
16580         * configure, lex.yy.c:
16581         regen
16582         [ed9daba88217]
16583
16584         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
16585         sudo.c, sudoers.pod:
16586         Remove "secure_path" Defaults option since it cannot work with the
16587         existing parser.
16588         [c9e54a0f5971]
16589
16590         * find_path.c, sudo.c:
16591         Unset "secure_path" if user_is_exempt()
16592         [fb7544565ae8]
16593
16594         * env.c, pathnames.h.in:
16595         o Remove assumption that PATH and TERM are not listed in env_keep o
16596         If no PATH is in the environment use a default value o If TERM is
16597         not set in the non-reset case also give it a default value.
16598         [c987eb7df268]
16599
16600         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
16601         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
16602         systems that define in paths.h
16603         [51865b0cdebf]
16604
16605         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
16606         Add support for skeyaccess(3) if it is present in libskey.
16607         [8add77c7d3e7]
16608
16609 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16610
16611         * sudo.c:
16612         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
16613         [5a3d3cbf2c6d]
16614
16615         * parse.lex:
16616         '\\' is a perfectly legal character to have in a command line
16617         argument.
16618         [c15a466ef00e]
16619
16620         * sudo.c:
16621         o Defer call to set_fqdn() until it is safe to use log_error() o
16622         Don't print errno string value if gethostbyname fails, it is not
16623         relevant
16624         [c0c6bcf08bcb]
16625
16626         * parse.c:
16627         Fix CIDR -> in_addr_t conversion.
16628         [2f307ebeb63f]
16629
16630 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16631
16632         * sudoers.pod:
16633         Remove an extra "User_List" in the User_Spec definition From
16634         ybertrand AT snoopymail.com
16635         [97bde59ea280]
16636
16637         * parse.c:
16638         Make 'listpw=never' work for users who are not explicitly mentioned
16639         in sudoers.
16640         [258f0f30a428]
16641
16642         * sudoers.pod:
16643         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
16644         [4b0f03872ee1]
16645
16646         * sudoers.pod:
16647         Document new list Defaults type and convert env_keep and env_delete
16648         to lists. Document new env_check option.
16649         [a07f1f079fe3]
16650
16651         * lex.yy.c, sudo.tab.c, sudo.tab.h:
16652         regen parser
16653         [e39ac6c6581b]
16654
16655         * parse.lex:
16656         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
16657         to #[0-9-]+.
16658         [69c5388908f3]
16659
16660         * configure:
16661         regen
16662         [0f1877b88cb3]
16663
16664         * aclocal.m4:
16665         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
16666         [6545503ae361]
16667
16668         * config.h.in, configure.in:
16669         Add check for skeyaccess(3)
16670         [6caf69fe6359]
16671
16672         * visudo.pod:
16673         Document new -c, -f, and -q options
16674         [13d0203c21d3]
16675
16676         * visudo.c:
16677         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
16678         [4c2b664d617d]
16679
16680         * configure:
16681         regen
16682         [6d5bd932e7b5]
16683
16684         * aclocal.m4, config.h.in, configure.in:
16685         Add check for isblank and a replacement macro if it doesn't exist.
16686         [b524f5e4f953]
16687
16688 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16689
16690         * visudo.c:
16691         In check-only mode, don't create sudoers if it does not already
16692         exist.
16693         [c748a2d5acad]
16694
16695         * parse.yacc:
16696         o Add a new token, DEFVAR, to indicate a Defaults variable name o
16697         Add support for "+=" and "-=" list operators o replace some 1 and 0
16698         with TRUE and FALSE for greater legibility.
16699         [554cb174b37e]
16700
16701         * parse.lex:
16702         o Use exclusive start conditions to remove some ambiguity in the
16703         lexer. Also reorder some things for clarity. o Add support for
16704         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
16705         a Defaults variable name.
16706         [3a2cf8323e26]
16707
16708         * sudo.h:
16709         Prototype init_envtables()
16710         [b74916469dab]
16711
16712         * env.c:
16713         o Convert environment handling to use lists instead of strings.
16714         This greatly simplifies routines that need to do "foreach" type
16715         operations. o Add new init_envtables() function to set env_check
16716         and env_delete defaults based on initial_badenv_table and
16717         initial_checkenv_table (formerly sudo_badenv_table).
16718         [0a8b404658b6]
16719
16720         * defaults.c, defaults.h:
16721         o Add a new LIST type and functions to manipulate it. o This is for
16722         use with environment handling variables. o Call new
16723         init_envtables() routine inside init_defaults() to initialize the
16724         environment lists.
16725         [ae73e64f0902]
16726
16727         * def_data.c, def_data.h, def_data.in:
16728         Convert environment options to use the new LIST type and add a new
16729         one, env_check that only deletes if the sanity check fails.
16730         [3019503936de]
16731
16732         * testsudoers.c:
16733         Add dummy version of init_envtables()
16734         [9d9e3ee609d9]
16735
16736         * parse.yacc:
16737         honor quiet mode
16738         [8330fba6167c]
16739
16740         * visudo.c:
16741         Add check-only mode
16742         [dab411bc8c35]
16743
16744         * mkdefaults:
16745         Fix generation of entries with NULL descriptions.
16746         [ea75b9fed02e]
16747
16748 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16749
16750         * tgetpass.c:
16751         Use sigaction_t and quiet a gcc warning.
16752         [6f67d719c452]
16753
16754         * sudo.c:
16755         Must reset signal handlers before we exec
16756         [300418120e1a]
16757
16758         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
16759         auth/sudo_auth.c:
16760         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
16761         version needs testing. Set SIGTSTP to SIG_DFL during password entry
16762         so user can suspend us.
16763         [00304aa58747]
16764
16765         * tgetpass.c:
16766         Add support for interrupting/suspending tgetpass via keyboard input.
16767         If you suspend sudo from the password prompt and resume it will re-
16768         prompt you.
16769         [4af2b5101d32]
16770
16771         * sudo.c:
16772         Don't block keyboard interrupt signals, just set them to SIG_IGN.
16773         [d46d7f67ef6b]
16774
16775 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16776
16777         * config.h.in:
16778         add back HAVE_SIGACTION
16779         [c9c7702c603e]
16780
16781         * configure:
16782         regen
16783         [09fe669d337f]
16784
16785         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
16786         Kill POSIX_SIGNALS define and old signal support now that we emulate
16787         POSIX ones Also be sure to correctly initialize struct sigaction.
16788         [4bc2a6dbb2be]
16789
16790         * strerror.c:
16791         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
16792         [1ad64a19f328]
16793
16794         * compat.h:
16795         Add scaffolding for POSIX signal emulation
16796         [945861d4c93b]
16797
16798         * sigaction.c:
16799         o Add missing ';' so this compiles o Can't use NULL since we don't
16800         include stdio.h
16801         [04d0cac7438f]
16802
16803         * sigaction.c:
16804         Emulate sigaction() using sigvec()
16805         [d0b54a989875]
16806
16807 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16808
16809         * sudoers.pod:
16810         Document new behavior of negative values of timestamp_timeout Fix a
16811         typo
16812         [4c0716570d01]
16813
16814         * sudo.pod:
16815         Add security note about command not being logged after 'sudo su' and
16816         friends.
16817         [43294851a33c]
16818
16819         * sudo.pod:
16820         Mention that -V prints default values when run as root, including
16821         the list of environment variables to clear.
16822         [d9e5e550a8c3]
16823
16824         * Makefile.in:
16825         Run pod2man with --quotes=none to avoid stupid quoting of C<>
16826         entries.
16827         [997b23c35dbe]
16828
16829 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16830
16831         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
16832         Add mail_badpass option Also modify mail_always behavior to also
16833         send mail when the password is wrong
16834         [838d40ccafce]
16835
16836         * env.c, sudo.c, sudo.h:
16837         Dump default bad env table when 'sudo -V' is run by root.
16838         [f67f1b8048b0]
16839
16840         * sudoers.pod:
16841         document env_delete
16842         [d74f893663a2]
16843
16844         * env.c:
16845         Add support for '*' in env_keep when not resetting the environment
16846         (ie: the normal case).
16847         [fd4fb62ea8fd]
16848
16849         * env.c:
16850         Add env_delete variable that lets the user replace/add to the
16851         bad_env_table. Allow '*' wildcard in env_keep entries.
16852         [aa728bc35e29]
16853
16854 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16855
16856         * mkinstalldirs:
16857         Force umask to 022 to guarantee sane directory permissions.
16858         [9ab3cfe70569]
16859
16860 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
16861
16862         * Makefile.in:
16863         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
16864         [671010465e6f]
16865
16866         * mkdefaults:
16867         fix breakage in last commit
16868         [8318f8851e56]
16869
16870         * Makefile.in:
16871         acsite.m4 -> aclocal.m4
16872         [30c146873a01]
16873
16874         * check.c:
16875         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
16876         [4dc8b39954da]
16877
16878         * def_data.c:
16879         regenerated from def_data.in
16880         [915ea16ce1eb]
16881
16882         * check.c, defaults.c, defaults.h:
16883         Add new T_UINT type that most things use instead of T_INT If
16884         timestamp_timeout is < 0 then treat the ticket as never expiring (to
16885         be expired manually by the user).
16886         [3a3a636a2a5d]
16887
16888         * def_data.in:
16889         change most T_INT -> T_UINT
16890         [a2228d2457af]
16891
16892         * mkdefaults:
16893         fix warning when no args
16894         [ca70a5394af5]
16895
16896         * visudo.c:
16897         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
16898         we are a signal handler. We no longer print the signal number but
16899         the user can just check the exit value for that.
16900         [dc424f631fef]
16901
16902 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16903
16904         * logging.c:
16905         when setting up pipes in child process check for case where stdin ==
16906         pipe fd 0
16907         [518112d76184]
16908
16909 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16910
16911         * visudo.c:
16912         Ignore editor exit value since XPG4 says vi's exit value is the
16913         count of editing errors made (failed searches, etc).
16914         [b9d952284865]
16915
16916 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16917
16918         * configure:
16919         regen
16920         [cb3aa586f03b]
16921
16922         * configure.in:
16923         sco now is identified by config.guess as *-sco-*
16924         [46664bbdea61]
16925
16926         * configure.in:
16927         Check for getspnam() in -lgen if not in -lc for UnixWare.
16928         [0f152ad1ba93]
16929
16930 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
16931
16932         * sudoers.pod, visudo.pod:
16933         "upper case" -> "uppercase"
16934         [f9151f232326]
16935
16936         * sudoers.pod:
16937         fix typos and grammar; pjanzen@foatdi.harvard.edu
16938         [2855d73d0237]
16939
16940 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16941
16942         * sudoers.pod:
16943         Missing word (specify); krapht@secureops.com
16944         [65523eb37a2c]
16945
16946 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16947
16948         * sudo.c:
16949         If we fail to lookup a login class, apply the default one.
16950         [d4869faa6816]
16951
16952         * logging.c:
16953         In log_error() free message, not logline unconditionally, then free
16954         logline if it is not the same as message. No function change but
16955         this mirrors how they are allocated.
16956         [565e5f6cc643]
16957
16958 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16959
16960         * configure:
16961         regenerate
16962         [834a48f548a2]
16963
16964         * configure.in:
16965         remove some backslash quotes that are unneeded
16966         [50d401d6e2ca]
16967
16968         * configure.in:
16969         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
16970         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
16971         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
16972         to AC_DEFINE things manually.
16973         [f502c5f15f92]
16974
16975         * config.guess, config.sub:
16976         Updated from autoconf-2.50
16977         [6140205915ef]
16978
16979 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
16980
16981         * README:
16982         Update mailing list section. We use mailman now, not majordomo.
16983         [b9a8ca45e6dc]
16984
16985 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16986
16987         * getspwuid.c, logging.c, sudo.c:
16988         Use setpwent()/endpwent() + all the shadow variants to make sure we
16989         don't inadvertantly leak an fd to the child. Apparently Linux's
16990         shadow routines leave the fd open even if you don't call setspent().
16991         Reported by mike@gistnet.com; different patch used.
16992         [d33792ef6c01]
16993
16994 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16995
16996         * sudoers.pod:
16997         s/eg./e.g./
16998         [bd32a0acaf93]
16999
17000         * tgetpass.c:
17001         select() may return EAGAIN. If so, continue like we do for EINTR.
17002         [5f202c943818]
17003
17004         * logging.c:
17005         Fix a non-exploitable buffer overflow in the word splitting code.
17006         This should really be rewritten.
17007         [4c724363863a]
17008
17009         * Makefile.in:
17010         FAQ link goes away
17011         [1d26dd6c8972]
17012
17013         * INSTALL:
17014         Tell people to look in sample.syslog.conf for examples, not FAQ
17015         [affcae3f43ca]
17016
17017         * TROUBLESHOOTING:
17018         Update list of env vars that are cleared
17019         [234e56f1435a]
17020
17021         * sudo.c:
17022         remove struct env_table decl since that stuff has all moved to env.c
17023         [5dd923148777]
17024
17025 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17026
17027         * fileops.c:
17028         Fix a pasto in flock-style unlocking and include <sys/file.h> for
17029         flock on older systems; twetzel@gwdg.de
17030         [d5420d9d2861]
17031
17032         * configure:
17033         regen to get NeXT lockf/flock fix
17034         [d3ba6ed70e15]
17035
17036         * configure.in:
17037         force NeXT to use flock since lockf is broken
17038         [bd5391dca1bb]
17039
17040 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17041
17042         * check.c:
17043         Use stashed user_gid when checking against exempt gid since sudo
17044         sets its gid to a a value that makes sudoers readable. Previously
17045         if you used gid 0 as the exempt group everyone would be exempt. From
17046         Paul Kranenburg <pk@cs.few.eur.nl>
17047         [0b140cc3a817]
17048
17049 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17050
17051         * configure:
17052         regen
17053         [cc455408f32b]
17054
17055         * aclocal.m4:
17056         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
17057         some types (such as ssize_t) therein.
17058         [b6aee85ca331]
17059
17060 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17061
17062         * defaults.c:
17063         Fix negation of paths in a boolean context. Problem found by
17064         apt@UH.EDU
17065         [8aee217a7cdf]
17066
17067 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17068
17069         * visudo.c:
17070         pasto
17071         [ad32b277bf68]
17072
17073 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17074
17075         * visudo.c:
17076         SA_RESETHAND means the opposite of what I was thinking--oops To
17077         block all signals in old-style signals use ~0, not 0xffffffff
17078         [6ecdd793590a]
17079
17080 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17081
17082         * defaults.c:
17083         coerce difference of pointers to int when used in a string length
17084         printf format; deraadt@openbsd.org
17085         [a9d10f07180d]
17086
17087 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17088
17089         * visudo.c:
17090         Block all signals in Exit() to avoid a signal race. There is still
17091         a tiny window but I'm not going to worry about it.
17092         [6661805c0458]
17093
17094 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17095
17096         * env.c:
17097         glibc uses the LANGUAGE env var so clear that too; Solar Designer
17098         [d4ba95628afb]
17099
17100         * lex.yy.c:
17101         Regenerate with a fix to flex.skl that preserves errno from
17102         clobbering by isatty().
17103         [607eec736e19]
17104
17105 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17106
17107         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
17108         auth/sia.c, auth/sudo_auth.c:
17109         Some defaults I_ defines got renamed.
17110         [ec19b23caaf3]
17111
17112         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
17113         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
17114         set_perms.c, sudo.c, sudo.tab.c:
17115         Move defaults info into its own files from which we generate .h and
17116         .c files. This makes adding or rearranging variables much simpler.
17117         [e91b880b5043]
17118
17119 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17120
17121         * configure, configure.in:
17122         fix typo in last commit
17123         [10a6ee2bae71]
17124
17125         * compat.h, config.h.in, configure, configure.in:
17126         Add check + emulation for setegid (like seteuid).
17127         [29492092bd2f]
17128
17129         * env.c:
17130         Make env_keep override badenv_table as documented Fix traversal of
17131         badenv_table (broken in last commit)
17132         [37c9f0d22673]
17133
17134         * set_perms.c, sudo.c, sudo.h:
17135         Don't try and build saved uid version of set_perms on systems w/o
17136         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
17137         set_perms_setreuid simply be set_perms_fallback() and simply include
17138         the appropriate function at compile time (setreuid() vs. setuid()).
17139         [3107333c062c]
17140
17141         * sudoers.cat, sudoers.man.in, sudoers.pod:
17142         PATH is also preserved when env_reset is in effect
17143         [90e45c5711ff]
17144
17145         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
17146         configure.in, defaults.c, defaults.h, env.c, find_path.c,
17147         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
17148         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
17149         visudo.c, visudo.cat, visudo.man.in:
17150         New Defaults options: o stay_setuid - sudo will remain setuid if
17151         system has saved uids or setreuid(2) o env_reset - reset the
17152         environment to a sane default o env_keep - preserve environment
17153         variables that would otherwise be cleared
17154
17155         No longer use getenv/putenv/setenv functions--do environment munging
17156         by hand. Potentially dangerous environment variables can be cleared
17157         only if they contain '/' pr '%' characters to protect buggy
17158         programs. Moved environment routines into env.c (new file)
17159         [c2f97651db4c]
17160
17161         * INSTALL:
17162         Clear up --without-passwd description
17163         [2f336dab6733]
17164
17165         * putenv.c, sudo_setenv.c:
17166         We now build up a new environment from scratch and assign it to
17167         "environ".
17168         [6ae6152f2238]
17169
17170 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17171
17172         * sudo.pod, visudo.pod:
17173         Grammatical fixes from Paul Janzen
17174         [e03ead2e56f8]
17175
17176 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17177
17178         * visudo.c:
17179         If there was a syntax error and the user just wants to quit, unlink
17180         sudoers if it is zero length.
17181         [74ba7921f520]
17182
17183         * visudo.c:
17184         'Q' means ignore parse error, not 'q'
17185         [e8d0e4491fe6]
17186
17187         * visudo.c:
17188         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
17189         <dim@xs4all.nl>
17190         [b24990a72491]
17191
17192 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17193
17194         * set_perms.c:
17195         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
17196         [41a8db10e076]
17197
17198 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17199
17200         * config.guess, config.sub:
17201         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
17202         [6052da895d2e]
17203
17204 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17205
17206         * sudo.c, visudo.c:
17207         Use exit(127), not exit(-1)
17208         [9ff0c3eada34]
17209
17210         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
17211         Move set_perms() to its own file and use POSIX saved uid or
17212         setreuid() if available.
17213
17214         Added stay_setuid option for systems that have libraries that
17215         perform extra paranoia checks in system libraries for setuid
17216         programs (ie: anything with issetugid(2)).
17217         [28960f842698]
17218
17219         * sudo.c:
17220         strip more bits from the environment and add a facility for
17221         stripping things only if they contain '/' or '%' to address printf
17222         format string vulnerabilities in other programs.
17223         [b98d6375f299]
17224
17225 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17226
17227         * configure:
17228         regen
17229         [7e74e5c91049]
17230
17231         * configure.in:
17232         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
17233         strcasecmp().
17234         [a418e9e70442]
17235
17236         * configure:
17237         regen
17238         [bbff244a52bc]
17239
17240         * configure.in:
17241         Check for strcasecmp(3) in -lc89 for NCR Unix
17242         [361c99576681]
17243
17244 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17245
17246         * config.h.in:
17247         Define HAVE_INNETGR #ifdef HAVE__INNETGR
17248         [473cdb92b6db]
17249
17250         * configure:
17251         regen
17252         [4e6364a195e0]
17253
17254         * compat.h, config.h.in, configure.in:
17255         Add check for _innetgr(3) since NCR systems have that instead of
17256         innetgr(3).
17257         [25e6852e7494]
17258
17259 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17260
17261         * auth/securid.c:
17262         check return value of creadcfg() call sd_close() after sd_auth()
17263         store username in sd->username so we don't rely on the USER env
17264         variable
17265         [d106b4f42722]
17266
17267 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17268
17269         * INSTALL:
17270         document --with-bsdauth
17271         [f1518ecc2ee9]
17272
17273         * configure:
17274         regen
17275         [dceb35071ea8]
17276
17277         * configure.in:
17278         --with-bsdauth assumes --with-logincap
17279         [4200778083fd]
17280
17281         * auth/bsdauth.c, auth/fwtk.c:
17282         When prompting for a response to a challenge, if the user just hits
17283         return then reprompt with echo turned on.
17284         [a539b6474a97]
17285
17286 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17287
17288         * sudo.c:
17289         Remove debugging code that should not have been committed, oops.
17290         [9862607b77a7]
17291
17292         * auth/bsdauth.c:
17293         Use lower-level routines and get the password ourselves. Checks for
17294         a challenge and if there is one echo is not turned off.
17295         [2d8fcd166baa]
17296
17297         * auth/pam.c, auth/sudo_auth.h:
17298         minor housekeeping, no real code changes
17299         [d0074a277fb4]
17300
17301 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17302
17303         * sudo.c:
17304         Fix a coredump in the logging functions if gethostname(2) fails by
17305         deferring the call to log_error() until things are better setup.
17306
17307         Fix return value of set_loginclass() in non-BSD-auth case.
17308
17309         Hard-code 'sudo' in the usage message so we can fit more options on
17310         a line
17311         [d9d1b7579818]
17312
17313         * logging.c:
17314         Fix errant ';' (typo) that broken MSG_ONLY
17315         [849b2276a470]
17316
17317 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17318
17319         * sudo.cat, sudo.man.in:
17320         regen
17321         [bb3c8c6704d1]
17322
17323         * sudo.pod:
17324         Document -a flag
17325         [e18316cebaac]
17326
17327         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
17328         configure, configure.in, getspwuid.c, sudo.c:
17329         Add support for BSD authentication.
17330         [f374cfd9ca0d]
17331
17332 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17333
17334         * sudoers.pod:
17335         Fix typo; from sato@complex.eng.hokudai.ac.jp
17336         [3085fee9766e]
17337
17338 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17339
17340         * sudoers.pod:
17341         Mention negating umask
17342         [c9e410294dae]
17343
17344         * defaults.c:
17345         Allow user to specify umask of 0777 (same as !umask)
17346         [bb771daa96fe]
17347
17348 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17349
17350         * sudo.pod, visudo.pod:
17351         Fix a typo and give a URL for the sudo history.
17352         [77f73199aedb]
17353
17354 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17355
17356         * defaults.c, sudo.pod:
17357         fix typos; pepper@reppep.com
17358         [5532c7421340]
17359
17360 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17361
17362         * sudo.c, sudo.h, sudo_setenv.c:
17363         sudo_setenv() now exits on memory alloc failure instead of returning
17364         -1.
17365         [71f1cf18f47b]
17366
17367 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17368
17369         * sudo.c:
17370         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
17371         and possibly others.
17372         [b69d985b0d22]
17373
17374         * logging.c:
17375         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
17376         that "%m" won't be expanded but we don't use that anyway since the
17377         logging routines may splat to stderr as well.
17378         [8d37a544d0c0]
17379
17380         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
17381         sudoers.pod:
17382         Add always_set_home variable
17383         [dbcaff646e07]
17384
17385         * configure, configure.in:
17386         Have to hard code default values in help since the defaults are set
17387         _after_ the help stuff.
17388         [7b5d6d72f55c]
17389
17390 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17391
17392         * lex.yy.c, parse.lex:
17393         Allow special characters (including '#') to be embedded in pathnames
17394         if quoted by a '\\'. The quoted chars will be dealt with by
17395         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
17396         [3ed33cf09977]
17397
17398 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17399
17400         * install-sh:
17401         Better path searching for programs we need.
17402         [60517cb1f0d6]
17403
17404         * TROUBLESHOOTING:
17405         Add section on "C compiler cannot create executables" errors.
17406         [e4ada6eaee59]
17407
17408         * Makefile.binary, Makefile.in, version.h:
17409         Crank version
17410         [93d1bd5b7f5e]
17411
17412         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
17413         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
17414         visudo.man.in, visudo.pod:
17415         Substitute values from configure into man pages.
17416         [619854c356c1]
17417
17418 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17419
17420         * parse.c, sudo.c:
17421         The listpw and verifypw sudoers options would not take effect
17422         because the value of the default was checked *before* sudoers was
17423         parsed. Instead of passing in the value of PWCHECK_* to
17424         sudoers_lookup(), pass in the arg for def_ival() so the check can be
17425         deferred until after sudoers is parsed.
17426         [4f596e358f72]
17427
17428 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17429
17430         * tgetpass.c:
17431         When writing prompt, no need to write the NUL as well;
17432         hag@linnaean.org
17433         [fbcdd7b431ee]
17434
17435 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17436
17437         * install-sh:
17438         When looking for chown, check in /sbin too
17439         [657ba6653f8c]
17440
17441 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17442
17443         * visudo.c:
17444         Remove extraneous call to init_defaults() and set runas_user to NULL
17445         betweem parses so init_defaults will reset it each time, thus
17446         avoiding a reference to free()d data.
17447         [7421fcd692af]
17448
17449 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17450
17451         * config.h.in, interfaces.c, interfaces.h, sudo.c:
17452         Add support for using getifaddrs() to get the list of ip addr /
17453         netmask pairs. Currently IPv4-only.
17454         [a35bc4f7306d]
17455
17456         * visudo.c:
17457         Add a missing check for UserEditor == NULL Add missing '+' before
17458         line number when invoking editor to fix a syntax error
17459         [f0d4635f6082]
17460
17461 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17462
17463         * sudo.c:
17464         Call clean_env very early in main() for paranoia's sake. Idea from
17465         Marc Esipovich.
17466         [f8d72ebd0115]
17467
17468 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17469
17470         * sudo.h:
17471         Update proto for evasprintf and easprintf
17472         [d147d6e58419]
17473
17474         * alloc.c:
17475         Make easprintf() and evasprintf() return an int.
17476         [b2ca5d089667]
17477
17478         * check.c:
17479         If the targetpw flag is set, use target username as part of the
17480         timestamp path. If tty tickets are in effect cat the tty and the
17481         target username with a ':' as the separator.
17482         [de11abc693c2]
17483
17484 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17485
17486         * auth/pam.c:
17487         Backout part of last change; setting PAM_USER to the invoking user
17488         breaks things like targetpw.
17489         [427218a7387f]
17490
17491         * auth/pam.c:
17492         set tty and username via pam_set_item
17493         [85d1922dbcc9]
17494
17495         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
17496         Fix root, runas, and target authentication for non-passwd file auth
17497         methods.
17498         [a14535e7b30c]
17499
17500 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17501
17502         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
17503         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
17504         Use B<-Z> not C<-Z> for command line flags in all places. This is
17505         more consistent and works around a bug in Pod::Man.
17506         [64b5a05f30c5]
17507
17508         * sudoers.cat, sudoers.man.in, sudoers.pod:
17509         Fix an occurence of 'semicolon' that should be 'colon'
17510         [4ea5aacae3fb]
17511
17512 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17513
17514         * configure, configure.in:
17515         Fix --with-badpri help line
17516         [3cc40977c043]
17517
17518 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17519
17520         * defaults.c, logging.c, sudo.c:
17521         Bracket calls to syslog with an openlog() and closelog() since some
17522         authentication methods (like PAM) may do their own logging via
17523         syslog. Since we don't use syslog much (usually just once per
17524         session) this doesn't really incur a performance penalty. It also
17525         Fixes a SEGV with pam_kafs.
17526         [fe1cc28529f6]
17527
17528 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17529
17530         * sudo.c:
17531         Fix -H flag. runas_homedir is only valid after
17532         set_perms(PERM_RUNAS, mode)
17533         [ce9b1c6f68a6]
17534
17535 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
17536
17537         * INSTALL:
17538         Clarify the fact that insults are not enabled just by including them
17539         in the binary.
17540         [d5a31d48320c]
17541
17542 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17543
17544         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17545         visudo.man.in:
17546         Regenerated with perl 5.6.0 pod2man
17547         [21751433768b]
17548
17549         * Makefile.in:
17550         Give date string to pod2man since its default is ugly and it ain't
17551         got no alibi.
17552         [0080b2f6298f]
17553
17554         * Makefile.in:
17555         Do section substitution on the output of pod2man and remove hack
17556         needed for old pod2man.
17557         [1ef843d5c78b]
17558
17559         * sudo.pod, sudoers.pod, visudo.pod:
17560         Put back real man sections, we will do the substitution later.
17561         [f728c1abad7e]
17562
17563 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17564
17565         * configure, configure.in:
17566         Don't bother checking for the path to vi if user specified --with-
17567         editor
17568         [bf698487e0d5]
17569
17570 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17571
17572         * CHANGES, visudo.c:
17573         Visudo now does its own fork/exec instead of calling system(3).
17574         [99bbcd88863b]
17575
17576         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
17577         sudoers.pod, visudo.c:
17578         Visudo now checks for the existence of an editor and gives a
17579         sensible error if it does not exist.
17580
17581         The path to the editor for visudo is now a colon-separated list of
17582         allowable editors. If the user has $EDITOR set and it matches one
17583         of the allowed editors that editor will be used. If not, the first
17584         editor in the list that actually exists is used.
17585         [cc86eb9f5440]
17586
17587         * sudo.cat, sudo.man.in, sudo.pod:
17588         Clear up confusion wrt sudo's return value.
17589         [9385b12d8e79]
17590
17591 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17592
17593         * Makefile.in:
17594         Strip sudo and visudo for bindist target
17595         [a995ddd79177]
17596
17597         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
17598         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
17599         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
17600         [5eb9e60a726f] [SUDO_1_6_3]
17601
17602         * visudo.cat, visudo.man.in, visudo.pod:
17603         Typo: @sysconf@ -> @sysconfdir@
17604         [f07f52fcd099]
17605
17606         * Makefile.in:
17607         'make dist' should not cause any files to be modified so remove its
17608         dependencies.
17609         [7f44a2666a9c]
17610
17611         * CHANGES:
17612         Whoops, forgot to add release marker
17613         [16c0f16b35b8]
17614
17615 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17616
17617         * CHANGES:
17618         Final change for 1.6.3 (or so I hope)
17619         [473c89da6123]
17620
17621         * sudo.cat, sudoers.cat, visudo.cat:
17622         Use SYSV man sections since BSD systems will have nroff...
17623         [0a6bd154324e]
17624
17625 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17626
17627         * parse.yacc, sudo.tab.c:
17628         When checking to see if the host/user matches in a defaults spec,
17629         check against TRUE, not just non-zero since it might be -1.
17630         [41f2b7ad3fdd]
17631
17632         * configure, configure.in:
17633         OSF/1 puts file formats in section 4, not 5.
17634         [d77c1301afa9]
17635
17636         * CHANGES, INSTALL, sudo.c:
17637         Make login class support work on BSD/OS
17638         [e9bbe3c08ade]
17639
17640         * RUNSON:
17641         Update for 1.6.3
17642         [c40ce1d76c4d]
17643
17644         * configure, configure.in:
17645         If there is no inet_addr but there *is* an __inet_addr that's ok
17646         since inet_addr is probably just a macro then. The better thing to
17647         do would be to look for the macro, but this is fine for now.
17648         [1b8865ae4d68]
17649
17650         * configure, configure.in:
17651         Don't use shlicc for BSD/OS 4.x
17652         [83fbf6dedd2c]
17653
17654         * Makefile.in, configure, configure.in:
17655         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
17656         configure variable so we can deal with this. Also, only remove *.man
17657         for 'distclean' not 'clean'.
17658         [30d56e6de214]
17659
17660         * sudo.c:
17661         set_loginclass() should be static like the proto says
17662         [d570a2d55fb8]
17663
17664 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17665
17666         * fnmatch.c:
17667         Add #ifdef __STDC__ around the rangematch function header to avoid
17668         promotion of test to int, thus violating the prototype. Gcc handles
17669         this gracefully but more std ANSI compilers will complain.
17670         [7d98c3e332b2]
17671
17672         * emul/fnmatch.h:
17673         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
17674         [4e1320852f8b]
17675
17676         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
17677         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
17678         FNM_CASEFOLD in configure
17679         [9ef952bf1896]
17680
17681         * CHANGES, TODO:
17682         update for 1.6.3
17683         [e4ba6368a0c5]
17684
17685         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
17686         Fully qualified hosts w/ wildcards were not matching the FQHOST
17687         token type. There's really no need for a separate token for fully-
17688         qualified vs. unqualified anymore so FQHOST is now history and
17689         hostname_matches now decides which hostname (short or long) to check
17690         based on whether or not the pattern contains a '.'.
17691         [fbd2887d9811]
17692
17693         * parse.h:
17694         Fully qualified hosts w/ wildcards were not matching the FQHOST
17695         token type. There's really no need for a separate token for fully-
17696         qualified vs. unqualified anymore so FQHOST is now history and
17697         hostname_matches now decides which hostname (short or long) to check
17698         based on whether or not the pattern contains a '.'.
17699         [dd7bbe223461]
17700
17701         * lex.yy.c, parse.c, parse.lex, parse.yacc:
17702         Fully qualified hosts w/ wildcards were not matching the FQHOST
17703         token type. There's really no need for a separate token for fully-
17704         qualified vs. unqualified anymore so FQHOST is now history and
17705         hostname_matches now decides which hostname (short or long) to check
17706         based on whether or not the pattern contains a '.'.
17707         [630d9d205397]
17708
17709         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
17710         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
17711         Add support for wildcards in the hostname.
17712         [d8d821ed4238]
17713
17714         * Makefile.in:
17715         Add targets for *.man.in, using config.status to generate *.man from
17716         *.man.in
17717         [640e50ede485]
17718
17719         * sudoers.cat, sudoers.man.in, sudoers.pod:
17720         Document set_logname option and enbolden refs to sudo and visudo.
17721         [9622b3a48707]
17722
17723         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
17724         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
17725         visudo.cat, visudo.man.in, visudo.pod:
17726         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
17727         from Michael D. Marchionna. configure now does substitution on the
17728         man pages, allowing us to fix up the paths and set the section
17729         correctly. Based on an idea from Michael D. Marchionna.
17730         [463e928a0a2f]
17731
17732         * auth/passwd.c:
17733         Better fix for handling HP-UX aging info.
17734         [3950f42d8549]
17735
17736         * sudo.c:
17737         Add support for set_logname run-time default
17738         [c6a7cc76b8b4]
17739
17740         * sudo.man.in, sudoers.man.in, visudo.man.in:
17741         configure does substitution on these to produce *.man
17742         [b83fc3c1bfc9]
17743
17744         * sudo.man, sudoers.man, visudo.man:
17745         These files now get generated from *.man.in at configure time.
17746         [c499061f79e0]
17747
17748 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17749
17750         * defaults.c, defaults.h:
17751         Add set_logname option so users can turn off setting of LOGNAME/USER
17752         environment variables.
17753         [6316869180b8]
17754
17755         * lsearch.c, parse.c, testsudoers.c:
17756         kill register
17757         [6e104e653748]
17758
17759 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17760
17761         * auth/passwd.c:
17762         HP-UX adds extra info at the end for password aging so when
17763         comparing the result of crypt to pw_passwd we only compare the first
17764         len(epass) bytes *unless* the user entered an empty string for a
17765         password.
17766         [3d24d4e4e889]
17767
17768         * logging.c:
17769         Get rid of grandchild hack, it was causing problems and there is
17770         really no need for it. This fixes a bug where we spin eating up CPU
17771         when the user runs a long-running process like a shell.
17772         [5743b10b1e81]
17773
17774 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17775
17776         * sudo.c:
17777         User can always specify a login class if he/she is already root.
17778         [710d160cef9f]
17779
17780         * config.h.in, configure, configure.in, defaults.c, defaults.h,
17781         sudo.c, sudo.h:
17782         FreeBSD login class (login.conf) support.
17783         [026b981d6328]
17784
17785 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17786
17787         * auth/sudo_auth.c:
17788         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
17789         [9cd4929f1a78]
17790
17791 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17792
17793         * auth/passwd.c:
17794         Truncate unencrypted password to 8 chars if encrypted password is
17795         exactly 13 characters (indicateing standard a DES password). Many
17796         versions of crypt() do this for you, but not all (like HP-UX's).
17797         [a9d0259cb193]
17798
17799 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17800
17801         * INSTALL, RUNSON:
17802         Mention that gcc on dynix may have problems
17803         [77b97fa5bf1b]
17804
17805 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17806
17807         * Makefile.in:
17808         Link visudo with NET_LIBS since we now call syslog via defaults.c
17809         [9e3830b277cc]
17810
17811         * defaults.c:
17812         Use Argv[0] as the first arg to openlog() since visudo uses this
17813         too.
17814         [e61078f328ec]
17815
17816 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17817
17818         * sudo.c:
17819         Stash coredumpsize resource limit and retsore it before the exec()
17820         Otherwise the child ends up with a coredumpsize of 0.
17821         [f6a4783835a3]
17822
17823 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17824
17825         * sudo.cat, sudo.man, sudo.pod:
17826         document -S flag
17827         [3ebd805b7142]
17828
17829         * sudo.c:
17830         fix usage string
17831         [66b2dfa47fe8]
17832
17833         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
17834         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
17835         Added -S flag (read passwd from stdin) and tgetpass_flags global
17836         that holds flags to be passed in to tgetpass(). Change echo_off
17837         param to tgetpass() into a flags field. There are currently 2
17838         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
17839         tgetpass(), abstract the echo set/clear via macros and if (flags &
17840         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
17841         [a4fcbb712cd0]
17842
17843         * tgetpass.c:
17844         Fixed a bug that caused an infinite loop when the password timeout
17845         was disabled.
17846         [2be1ffc5a39f]
17847
17848 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17849
17850         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
17851         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
17852         Add rootpw, runaspw, and targetpw options.
17853         [2d4563e46df7]
17854
17855         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
17856         visudo.c:
17857         enveditor -> env_editor
17858         [ddc5f856e583]
17859
17860 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17861
17862         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
17863         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
17864         visudo.man:
17865         crank versino to 1.6.3
17866         [a5f7d3e74360]
17867
17868         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
17869         sudoers.pod, visudo.c:
17870         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
17871         them. This means that visudo will now parse the sudoers file
17872         *before* it is edited so a bogus sudoers file will cause a warning
17873         to go to stderr. Also, visudo checks the variables once--it does not
17874         check them after each editor run since that could be confusing.
17875         [9f5af18e9212]
17876
17877 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
17878
17879         * RUNSON:
17880         1.6.2 -> 1.6.2p1
17881         [e25b74f1d1af]
17882
17883         * check.c, sudo.c, sudo.h:
17884         Move user_is_exempt prototype into sudo.h
17885         [daf26a6ded8a]
17886
17887 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17888
17889         * configure, configure.in:
17890         Fix thinko, some && should have been || in the last commit
17891         [4b9b2d487ded]
17892
17893         * configure, configure.in:
17894         Don't initialized Makefile variables to be NULL since the user may
17895         want to import variables from their environment.
17896         [7be019f4422c]
17897
17898 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17899
17900         * configure, configure.in:
17901         typo
17902         [38f4d8971f0a]
17903
17904 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17905
17906         * sudo.tab.c:
17907         fix a yacc (skeleton.c) warning
17908         [a2da228a937b]
17909
17910 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17911
17912         * INSTALL, RUNSON, configure, configure.in:
17913         Make pam work on HP-UX 11.0;jaearick@colby.edu
17914         [b94de0ff6f42]
17915
17916         * CHANGES:
17917         recent changes; prepare for 1.6.2p1
17918         [b291635ea141]
17919
17920         * find_path.c:
17921         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
17922         [4306285c4f6e]
17923
17924 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
17925
17926         * sudo.tab.c:
17927         Regen with yacc that has a memory leak plugged.
17928         [e26383a04eb7]
17929
17930         * sudoers.cat, sudoers.man, sudoers.pod:
17931         Expanded docs on sudoers 'defaults' options based on INSTALL file
17932         info.
17933         [54c3d62d6c74]
17934
17935         * INSTALL:
17936         Fix some while lies
17937         [d15311782150]
17938
17939 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17940
17941         * Makefile.in:
17942         When making a bindist, link FAQ to TROUBLESHOOTING instead of
17943         copying.
17944         [2d88a6ac88cf]
17945
17946         * sudoers.cat, sudoers.man, sudoers.pod:
17947         Add netgroup caveat
17948         [28d119f466e3] [SUDO_1_6_2]
17949
17950         * RUNSON:
17951         Last minute updates
17952         [89fb4ed22d52]
17953
17954         * TROUBLESHOOTING:
17955         PAM entry
17956         [a9fd59f39457]
17957
17958         * auth/pam.c:
17959         correct a comment
17960         [a29627225ba9]
17961
17962         * CHANGES, RUNSON:
17963         update for 1.6.2
17964         [b7f1c40ea732]
17965
17966         * auth/pam.c:
17967         Better detection of PAM errors and fix custom prompts with PAM.
17968         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
17969         [ff69234b94a5]
17970
17971 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
17972
17973         * snprintf.c:
17974         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
17975         long long value.
17976         [9d918c3a2ecd]
17977
17978 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
17979
17980         * CHANGES, config.h.in, configure, configure.in, visudo.c:
17981         Fix sudoers locking in visudo. We now lock the sudoers file itself,
17982         not the temp file (since locking the temp file can foul up editors).
17983         The previous locking scheme didn't work because the fd was closed
17984         too early.
17985         [de2011bb11ed]
17986
17987         * config.h.in, configure, configure.in:
17988         Don't need test for ftruncate() any more.
17989         [e5f71c848104]
17990
17991         * configure, configure.in:
17992         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
17993         the unbundled HP-UX cc.
17994         [2c373612c644]
17995
17996 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
17997
17998         * sudoers.cat, sudoers.man, sudoers.pod:
17999         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
18000         [05360d2c314e]
18001
18002 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18003
18004         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
18005         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
18006         version.h, visudo.c:
18007         update copyright year on changed files
18008         [5792a2a28a4c]
18009
18010         * RUNSON:
18011         updates
18012         [edf8f19aa403]
18013
18014         * CHANGES:
18015         aix fix
18016         [4d4a243b31e2]
18017
18018         * INSTALL:
18019         Crank version to 1.6.2
18020         [bcb5cb411624]
18021
18022         * configure:
18023         Crank version to 1.6.2
18024         [32a19f33427f]
18025
18026         * sudo.c:
18027         When using rlimit check for RLIM_INFINITY When computing the value
18028         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
18029         [8c16166802e5]
18030
18031         * CHANGES:
18032         recent changes
18033         [09fc7112e44d]
18034
18035         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
18036         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
18037         Crank version to 1.6.2
18038         [055fa61a7c61]
18039
18040         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
18041         Add 'shell_noargs' runtime option back in. We have to defer
18042         checking until after the sudoers file has been parsed but since
18043         there are now other options that operate that way this one can too.
18044         Based on a patch from bguillory@email.com.
18045         [231db7a007a6]
18046
18047         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
18048         Add "listpw" and "verifypw" options.
18049         [190683bac878]
18050
18051         * sudoers.cat, sudoers.man, sudoers.pod:
18052         o Fix some typos/omissions o Add section on verifypw and listpw o
18053         Define how NOPASSWD interacts with the -v and -l flags
18054         [6feb7350eb79]
18055
18056 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18057
18058         * configure, configure.in:
18059         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
18060         -D_HPUX_SOURCE to CPPFLAGS.
18061         [06cc35d89dc8]
18062
18063         * defaults.c, defaults.h:
18064         In struct sudo_defs_types, move the union to the end and don't
18065         initialize the union member since that only works with an ANSI
18066         compiler. We set the value of the union by hand in init_defaults()
18067         anyway. This allows sudo to compile on a K&R compiler again.
18068         [623487e1fcfa]
18069
18070 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18071
18072         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
18073         netgr_matches needs to check shost as well as host since they may be
18074         different.
18075         [3f43ace23d3e]
18076
18077         * tgetpass.c:
18078         End on \r as well as \n
18079         [cb7c6e6f4202]
18080
18081 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18082
18083         * sudo.c:
18084         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
18085         from 0400 to whatever SUDOERS_MODE is (converting from the old
18086         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
18087         0400 which should always be the case.
18088         [34cd83d49d20]
18089
18090         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
18091         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
18092         w/o a passwd if there is *any* entry for the user on the host with a
18093         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
18094         the user on the host w/ the specified runas user have the NOPASSWD
18095         flag set.
18096         [4b3b85697653]
18097
18098         * Makefile.in:
18099         add check target
18100         [3d24d34a76fd]
18101
18102 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18103
18104         * visudo.c:
18105         Treat EOF at whatnow prompt like 'x' instead of looping.
18106         [5deffc27114c]
18107
18108 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18109
18110         * CHANGES:
18111         recent changes
18112         [5836a9452568] [SUDO_1_6_1]
18113
18114 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18115
18116         * config.h.in, configure, configure.in, sudo.c:
18117         Add check for initgroups() since old SYSV lacks this.
18118         [657a6005a569]
18119
18120         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
18121         parse.c, testsudoers.c:
18122         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
18123         exists.
18124         [17d081e917d6]
18125
18126 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18127
18128         * auth/sudo_auth.c:
18129         Don't allow insults to be enabled if the insults[] array is empty.
18130         Otherwise there would be division by zero.
18131         [b20c14db6029]
18132
18133         * insults.h:
18134         Don't allow insults to be enabled if the insults[] array is empty.
18135         Otherwise there would be division by zero.
18136         [028f130204b0]
18137
18138         * CHANGES, RUNSON:
18139         Don't allow insults to be enabled if the insults[] array is empty.
18140         Otherwise there would be division by zero.
18141         [974f4780254b]
18142
18143         * insults.h:
18144         Don't care about USE_INSULTS #define since the insult stuff may be
18145         overridden at runtime.
18146         [b873df8b299c]
18147
18148         * auth/sudo_auth.c:
18149         Honor insults flag.
18150         [756111640fdc]
18151
18152         * CHANGES, parse.c:
18153         Don't ask the user for a password if the user is not allowed to run
18154         the command and the authenticate flag (in sudoers) is false.
18155         [cea9fdc09c76]
18156
18157         * CHANGES, RUNSON, lex.yy.c, parse.lex:
18158         o Whenever we get a bare newline we change to the INITIAL state. o
18159         Enter GOTRUNAS when we see Runas_Alias
18160
18161         This allows #uid to work in a RunasAlias.
18162         [a475513e7c7a]
18163
18164 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18165
18166         * CHANGES, parse.yacc, sudo.tab.c:
18167         fix parsing of runas lists: o oprunasuser and runaslist now return a
18168         value o in a runasspec, if a runaslist does not return TRUE, set
18169         runas_matches to FALSE. Normally, a runaslist only returns FALSE
18170         for explicitly denied users. o since runaslist does not modify the
18171         stack there is no need for a push/pop in runasalias.
18172         [82b305b34a8c]
18173
18174         * check.c, sudo.c:
18175         Don't kill the user's tickets until after sudoers has been parsed
18176         since tty_tickets and ticket_dir could be set in sudoers.
18177         [f43e25367f3a]
18178
18179         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
18180         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
18181         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
18182         crank version to 1.6
18183         [95f8bdcf9bb2]
18184
18185         * testsudoers.c:
18186         add set_fqdn() stub
18187         [bbc81af5b41a]
18188
18189 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18190
18191         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
18192         sudoers.man, sudoers.pod, visudo.c:
18193         o Kill shell_noargs option, it cannot work since the command needs
18194         to be set before sudoers is parsed. o Fix the "set_home" sudoers
18195         option (only worked at compile time). o Fix "fqdn" sudoers option.
18196         We now set host/shost via set_fqdn which gets called when the
18197         "fqdn" option is set in sudoers. o Move the openlog() to
18198         store_syslogfac() so this gets overridden correctly from the
18199         sudoers file.
18200         [3dca861f0f5d]
18201
18202         * auth/securid.c:
18203         SecurID support should compile now.
18204         [a544e5c6ea34]
18205
18206 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18207
18208         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
18209         visudo.man, visudo.pod:
18210         fix some syntactic goofs
18211         [b3451f0d5239]
18212
18213 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18214
18215         * Makefile.in, sudo.html, sudoers.html, visudo.html:
18216         No longer need the .html files as they are generated automatically
18217         on the web site.
18218         [1b4aa4204584]
18219
18220         * CHANGES, LICENSE:
18221         kill characters that made wml unhappy
18222         [b988fbc6da56]
18223
18224         * HISTORY:
18225         typo
18226         [a418963f7fce]
18227
18228 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
18229
18230         * README:
18231         majordomo@cs.colorado.edu -> majordomo@courtesan.com
18232         [5d151e8ffd3b]
18233
18234         * Makefile.in, configure:
18235         Wrap script execution w/ /bin/sh for the benefit of ctm
18236         [3a9c4766b2c3]
18237
18238 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18239
18240         * sudo.c:
18241         Make the -s flag be exclusive too. Also reorder the flags in the
18242         exclusive usage message so they are alphabetical.
18243         [4c7af200db34]
18244
18245 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18246
18247         * auth/pam.c:
18248         make pam errors other than PAM_PERM_DENIED fatal
18249         [64bcb3fd2baf]
18250
18251         * auth/API:
18252         fix typo
18253         [f3134c88b12e]
18254
18255         * INSTALL:
18256         make it clear that /etc/pam.d/sudo is required on linux
18257         [213cc3eaad82]
18258
18259         * auth/pam.c:
18260         fix a warning on redhat and spew an error if pam_authenticate()
18261         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
18262         [7e46dd19da89]
18263
18264         * sudo.cat, sudo.html, sudo.man, sudo.pod:
18265         Be very clear that the password required is the user's not root's
18266         [a6da127347e5]
18267
18268 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18269
18270         * Makefile.in:
18271         add sample.syslog.conf to DISTFILES and BINFILES
18272         [8661c27c007e]
18273
18274 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18275
18276         * RUNSON:
18277         updates from Brian Jackson + some formatting
18278         [6d31c6fa63f8]
18279
18280 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18281
18282         * INSTALL.binary, Makefile.binary, README, RUNSON:
18283         o One RUNSon update o Changes for automating real binary releases
18284         [dd9585f4406c]
18285
18286         * Makefile.in:
18287         Add bindist target
18288         [546ed3fa94bb]
18289
18290 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18291
18292         * TROUBLESHOOTING:
18293         talk about run-time options in addition to compile-time options
18294         [1eb813ff0a9a] [SUDO_1_6_0]
18295
18296         * CHANGES:
18297         fix typos
18298         [65e92bb70a7b]
18299
18300         * sudo.c:
18301         need sys/time.h if HAVE_SETRLIMIT
18302         [ce31655a8a60]
18303
18304         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
18305         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
18306         get rid of references to sudo-bugs. Now mention the web site or the
18307         sudo@ alias
18308         [a9db861fd8c6]
18309
18310         * sudoers.html:
18311         repair pod2html damage
18312         [62ece4277f1f]
18313
18314         * RUNSON, TODO:
18315         Update for 1.6 release
18316         [98569c57ba2a]
18317
18318         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
18319         Add warning about using ALL in a command context.
18320         [6c77685ab280]
18321
18322 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18323
18324         * visudo.c:
18325         Call yyrestart() on a parse error to reset the lexer state.
18326         [1370a27acdb2]
18327
18328         * lex.yy.c, parse.lex:
18329         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
18330         since it might not get called in yywrap if we get a parse error
18331         (and we only reread the file on error anyway).
18332         [37f4b449e28e]
18333
18334         * lex.yy.c, parse.lex:
18335         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
18336         might still exist. Call yyrestart() instead of using the deprecated
18337         YY_NEW_FILE macro.
18338         [7d0d873046c6]
18339
18340         * lex.yy.c, parse.lex:
18341         flex doesn't need %N table size declarations
18342         [268b020fd60a]
18343
18344         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
18345         Mention what characters need to be escaped in names.
18346         [72ccbb6b0f31]
18347
18348 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18349
18350         * configure:
18351         regen
18352         [65827abb5c7b]
18353
18354         * INSTALL:
18355         clarify Mac OS X entry
18356         [8da1549a71f5]
18357
18358         * RUNSON:
18359         update
18360         [0cff8df7459f]
18361
18362         * configure.in:
18363         o Use AC_MSG_ERROR throughout o Check syslog configure options for
18364         danity
18365         [4cb81e642e5c]
18366
18367 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18368
18369         * defaults.c:
18370         Fix printing of type T_MODE in dump_defaults()
18371         [a868bb6f5515]
18372
18373         * strcasecmp.c:
18374         missing sys/types.h
18375         [ca694ca325b6]
18376
18377         * INSTALL:
18378         Break out options that may be overridden at run time into their own
18379         section. Add a not about Max OS X and correct some lies.
18380         [d8bcfd120593]
18381
18382 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18383
18384         * CHANGES, config.h.in, configure, configure.in, sudo.c:
18385         o Now use getrlimit to find the highest fd when closing all non-std
18386         fd's o Turn off core dumps via setrlimit for the sake of paranoia
18387         [dd9f651b6def]
18388
18389         * RUNSON:
18390         updates
18391         [f581841fe615]
18392
18393 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18394
18395         * CHANGES:
18396         updates
18397         [553baa1d44c7]
18398
18399         * tgetpass.c:
18400         When read()'ing, do a single character at a time to be sure we don't
18401         go oast the newline.
18402         [907d33f55bb4]
18403
18404         * sudo.c:
18405         For the sudo_root option, check against user_uid, not getuid() since
18406         at this point, ruid == euid == 0.
18407         [92d5c51939b4]
18408
18409         * RUNSON:
18410         some updates
18411         [e3ed0c1f312b]
18412
18413         * logging.h:
18414         Fix compilation problem when --with-logging=file was specified.
18415         This means that syslog is now required to build sudo but that should
18416         not be a problem. If it is it can be fixed trivially with a
18417         configure check for syslog() or syslog.h.
18418         [839a4b069190]
18419
18420         * tgetpass.c:
18421         Make this work again for things like "sudo echo hi | more" where the
18422         tty gets put into character at a time mode. We read until we read
18423         end of line or we run out of space (similar to fgets(3)).
18424         [c8f746df2e63]
18425
18426 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18427
18428         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
18429         change ital to bold
18430         [f860978e530a]
18431
18432         * RUNSON:
18433         update
18434         [9bcfbb405568]
18435
18436 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18437
18438         * defaults.c:
18439         Error out if syslog parameters are given without a value. For
18440         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
18441         no facilities in the 4.2BSD syslog.
18442         [69e7a686f5f0]
18443
18444 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18445
18446         * defaults.c:
18447         Ignore the syslog facility for systems w/ old syslog like Ultrix.
18448         [5c250adbbb84]
18449
18450         * TROUBLESHOOTING:
18451         people with "." early in their path can have problems running sudo
18452         from the build dir ;-)
18453         [20a1744a24a4]
18454
18455 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18456
18457         * sudo.cat, sudo.html, sudo.man, sudo.pod:
18458         Remove -r realm option
18459         [127caa537f95]
18460
18461         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
18462         configure.in, sudo.c:
18463         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
18464         [7177a3893a62]
18465
18466         * CHANGES:
18467         update to reality
18468         [766cfbb512d6]
18469
18470 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18471
18472         * auth/fwtk.c:
18473         include <auth.h> to get function prototypes.
18474         [d6c7c12d09fe]
18475
18476         * sudo.cat, sudo.html, sudo.man, sudo.pod:
18477         document -L flag
18478         [dc803e1ce0d7]
18479
18480 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
18481
18482         * sudo.c:
18483         in set_perms(), always call setuid(0) before changing the ruid/euid
18484         so we always know it will succeed.
18485         [8cced1b862bf]
18486
18487         * defaults.h:
18488         #undef T_FOO to avoid conflicts with system defines (like on
18489         ULTRIX).
18490         [d9f0aac092b0]
18491
18492         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
18493         sudoers.pod:
18494         Docuement "Defaults" lines in /etc/sudoers. Still needs some
18495         fleshing out but this is a start.
18496         [521a1e629bbc]
18497
18498 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18499
18500         * use strtol, not strtoul since not everyone has not strtoul
18501         [988462f093cc]
18502
18503         * defaults.c:
18504         use strtol, not strtoul since not everyone has not strtoul
18505         [fce835ce62e3]
18506
18507         * lex.yy.c, parse.lex:
18508         last {WORD} rule should only apply in the INITIAL state
18509         [9b57570bfa83]
18510
18511         * lex.yy.c, parse.lex:
18512         o Add support for escaped characters in the WORD macro o Modify
18513         fill() to squash escape chars
18514         [87572d59e4e0]
18515
18516         * defaults.c, defaults.h:
18517         o Add T_PATH flag to allow simple sanity checks for default values
18518         that are supposed to be pathnames. o Fix a duplicate free when
18519         visudo finds an error.
18520         [bdc6855a6c6d]
18521
18522 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18523
18524         * defaults.c, defaults.h, logging.c:
18525         mail_if_foo -> mail_foo
18526         [cbee9415875d]
18527
18528 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18529
18530         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
18531         o Add requiretty option o Move O_NOCTTY to compat.h
18532         [65b8bf0e1795]
18533
18534         * logging.c:
18535         The exit() in log_error() was mistakenly removed in a previous
18536         version. Put it back...
18537         [9473449130a4]
18538
18539 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
18540
18541         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
18542         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
18543         configure, configure.in, defaults.c, defaults.h, find_path.c,
18544         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
18545         o Change defaults stuff to put the value right in the struct. o
18546         Implement mailer_flags o Store syslog stuff both in int and string
18547         form. Setting the string form magically updates the int version.
18548         o Add boolean attribute to strings where it makes sense to say !foo
18549         [4698953f9a36]
18550
18551         * tgetpass.c:
18552         add O_NOCTTY when opening /dev/tty just in case
18553         [4c6d1d1bb300]
18554
18555 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18556
18557         * auth/API:
18558         cleanup function no longer takes a status arg
18559         [0819edbfe7f8]
18560
18561         * INSTALL:
18562         the the
18563         [19aadb65ea28]
18564
18565 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18566
18567         * TODO, config.h.in, configure, configure.in, logging.c:
18568         Use strftime() instead of ctime() if it is available.
18569         [fb60ea63b514]
18570
18571 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18572
18573         * defaults.c:
18574         fix copyright date
18575         [4a53b54aa72f]
18576
18577         * RUNSON:
18578         update ReliantUNIX entry
18579         [de618a4f67d9]
18580
18581         * defaults.c, defaults.h, logging.c:
18582         add log_year option
18583         [251a9e20568a]
18584
18585         * configure, configure.in:
18586         add --without-sendmail to help output
18587         [93162f199902]
18588
18589         * configure, configure.in:
18590         enforce an otctal arg for --with-suoders-mode
18591         [45e1b04ccad3]
18592
18593 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
18594
18595         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
18596         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
18597         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
18598         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
18599         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
18600         testsudoers.c, version.c, visudo.c:
18601         Add support for "Defaults" line in sudoers to make configuration
18602         variables changable at runtime (and on a global, per-host and per-
18603         user basis). Both the names and the internal representation are
18604         still subject to change. It was necessary to make sudo_user.runas
18605         but a char ** instead of a char * since this value can be changed by
18606         a Defaults line. There is a similar (but more complicated) issue
18607         with sudo_user.prompt but it is handled differently at the moment.
18608
18609         Add a "-L" flag to list the name of options with their descriptions.
18610         This may only be temporary.
18611
18612         Move some prototypes to parse.h
18613
18614         Be much less restrictive on what is allowed for a username.
18615         [f71abf7ba80c]
18616
18617         * sample.syslog.conf:
18618         Add more info
18619         [e952e6f42d4d]
18620
18621 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18622
18623         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
18624         strcasecmp.c:
18625         UCB has dropped the advertising clause from their license.
18626         [a5602b36a341]
18627
18628 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18629
18630         * auth/sudo_auth.h:
18631         move dce_verofy proto to correct section
18632         [972c815af558]
18633
18634         * auth/dce.c:
18635         remove XXX
18636         [820631855be0]
18637
18638 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18639
18640         * emul/fnmatch.h:
18641         Add fnmatch() prototype
18642         [79e84576d92a]
18643
18644         * fnmatch.c, parse.c, testsudoers.c:
18645         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
18646         [1182c89fa811]
18647
18648         * sudo.h:
18649         add strcasecmp proto
18650         [512d1d8a6a0c]
18651
18652         * auth/sudo_auth.c:
18653         add check for case where there are no auth methods
18654         [e4af2b91b43e]
18655
18656         * configure, configure.in:
18657         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
18658         SunOS4 w/ gcc
18659         [746ce8bcec23]
18660
18661         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
18662         include strings.h everywhere we include string.h
18663         [6f7d5d437e7b]
18664
18665         * version.c:
18666         nicer output when showing auth methods
18667         [0eac4b977f9d]
18668
18669         * version.c:
18670         Add support for SEND_MAIL_WHEN_NO_HOST
18671         [9f20a3a3fae6]
18672
18673         * config.h.in, configure, configure.in:
18674         Add _GNU_SOURCE for Linux
18675         [c7bd8c511847]
18676
18677         * lex.yy.c, parse.lex:
18678         fix definition of OCTECT
18679         [4af30e63244d]
18680
18681         * configure, configure.in:
18682         aix_auth.o not authenticate.o
18683         [fe95dfb08df4]
18684
18685 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
18686
18687         * sudo.c:
18688         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
18689         keyboard). Since we run with ruid/euid == 0 the user can't really
18690         signal us in nasty ways.
18691         [a7f6487c0f48]
18692
18693         * visudo.c:
18694         Don't need to worry about catching too many signals since we do
18695         locking on the tmp file. If a lockfile is really stale, it will be
18696         detected and overwritten.
18697         [28983db3e749]
18698
18699         * INSTALL, Makefile.in:
18700         include auth/API in tarball
18701         [014991600252]
18702
18703         * auth/sudo_auth.c:
18704         move memset() of plaintext pw outside of verify loop and only do the
18705         memset if we are *not* in standalone mode.
18706         [66f8e87567e2]
18707
18708         * auth/sudo_auth.c, auth/sudo_auth.h:
18709         DCE is not a standalone method
18710         [34963e2d8a1b]
18711
18712         * sudo.c:
18713         fix --enable-noargs-shell
18714         [4234062abbb0]
18715
18716         * snprintf.c:
18717         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
18718         [c430b80454c6]
18719
18720         * auth/fwtk.c, auth/sia.c:
18721         _cleanup() function returns an int.
18722         [d1a1cc071ec1]
18723
18724         * auth/dce.c:
18725         there were still some return(0)'s hanging around, make them
18726         AUTH_FAILURE
18727         [1002aa1962c3]
18728
18729         * parse.c:
18730         typo in comment
18731         [5abc410dbfd2]
18732
18733         * version.c:
18734         add missing semicolon
18735         [a262283b52a5]
18736
18737         * auth/sudo_auth.h:
18738         missing backslash
18739         [bf89f6bd2900]
18740
18741 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
18742
18743         * CHANGES, config.h.in, configure, configure.in:
18744         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
18745         [f1a9bca0cf67]
18746
18747         * Makefile.in:
18748         add parse.h to HDRS
18749         [a3d054987766]
18750
18751         * Makefile.in, configure, configure.in:
18752         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
18753         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
18754         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
18755         testsudoers to build on Solaris and is a bit cleaner in general.
18756         [4e6239e97002]
18757
18758         * UPGRADE:
18759         mention ptmp -> sudoers.tmp
18760         [ec3baa0fe8a1]
18761
18762         * config.h.in, configure, configure.in:
18763         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
18764         [6f93dc7f39f5]
18765
18766         * RUNSON:
18767         add 2 reports
18768         [ce0fcc00ee4e]
18769
18770         * auth/kerb5.c:
18771         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
18772         return a value more like a system function
18773         [0dd56aa21424]
18774
18775         * auth/dce.c:
18776         Add an XXX
18777         [58fc8562c212]
18778
18779         * TODO:
18780         more things todo!
18781         [5a459d0cf339]
18782
18783         * sample.sudoers:
18784         update based on what is in the man page
18785         [1a0477db96fa]
18786
18787         * parse.yacc, sudo.tab.c:
18788         minor change to first line printed in -l mode
18789         [69eb57d96952]
18790
18791         * sudo.cat, sudo.html, sudo.man, sudo.pod:
18792         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
18793         standard and add "EXAMPLES" section
18794         [7e543335ebe1]
18795
18796         * visudo.cat, visudo.html, visudo.man, visudo.pod:
18797         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
18798         standard
18799         [f82d87ed65c2]
18800
18801         * logging.c, parse.c, sudo.h:
18802         add FLAG_NO_CHECK
18803         [c7d69176a2d7]
18804
18805         * lex.yy.c, parse.lex:
18806         make an OCTET really be limited to 0-255
18807         [6ee568dd6a02]
18808
18809         * UPGRADE:
18810         mention timestamp changes
18811         [e44d5302bf60]
18812
18813         * PORTING:
18814         cosmetic cleanup
18815         [36fa3a2664dd]
18816
18817         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
18818         new sudoers(8) man page
18819         [e674d06283d0]
18820
18821 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18822
18823         * version.c:
18824         Update comments about syslog name tables
18825         [63830a782dcb]
18826
18827         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
18828         strcasecmp.c, sudo.tab.c:
18829         include strcasecmp() for those without it
18830         [a0d8e2488bbc]
18831
18832         * sample.sudoers:
18833         Use the : operator some more and fix a typo
18834         [18804c70da86]
18835
18836         * HISTORY:
18837         update the history of sudo
18838         [9d9b3d5279b3]
18839
18840         * parse.c, parse.lex, testsudoers.c:
18841         CIDR-style netmask support
18842         [768644467353]
18843
18844         * CHANGES:
18845         recent changes
18846         [a4319e9d07cb]
18847
18848         * sudo.tab.c, sudo.tab.h:
18849         these should be generated with byacc, not bison
18850         [f57b9489b752]
18851
18852         * lex.yy.c:
18853         regen
18854         [522461f95dfa]
18855
18856         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
18857         In "sudo -l" mode, the type of the stored (expanded) alias was not
18858         stored with the contents. This could lead to incorrect output if
18859         the sudoers file had different alias types with the same name.
18860         Normal parsing (ie: not in '-l' mode) is unaffected.
18861         [823fe2bc4b79]
18862
18863 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18864
18865         * configure, configure.in:
18866         define _XOPEN_SOURCE to get at crypt() proto on some systems
18867         [1b3769b86fb9]
18868
18869 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18870
18871         * snprintf.c:
18872         fix comment
18873         [fc1264df00f7]
18874
18875         * tgetpass.c:
18876         don't need limits.h
18877         [f1631829af45]
18878
18879         * snprintf.c:
18880         kill bogus reference to vfprintf
18881         [a0b99b25d389]
18882
18883         * sample.sudoers, sudoers:
18884         better examples
18885         [b4d87ea64cc8]
18886
18887         * snprintf.c:
18888         Add some const in the K&R defs. This is safe since we define const
18889         away if the compiler doesn't grok it.
18890         [614d6e83d45e]
18891
18892         * aclocal.m4, configure:
18893         Better test for working long long support. Ultrix compiler supports
18894         basic long long but not all operations on them.
18895         [5da1508710ed]
18896
18897         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
18898         snprintf.c, sudo.c:
18899         Add check for LONG_IS_QUAD #undef MAXINT before including
18900         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
18901         in snprintf.c and use LONG_IS_QUAD
18902         [a1f7993367fc]
18903
18904 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18905
18906         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
18907         snprintf.c:
18908         UCB-derived snprintf + asprintf support. Supports quads if the
18909         compiler does. No floating point yet, perhaps later...
18910         [0caf05aba945]
18911
18912 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18913
18914         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
18915         goodpath.c, logging.c, parse.c, sudo.c:
18916         Run most of the code as root, not the invoking user. It doesn't
18917         really gain us anything to run as the user since an attacker can
18918         just have an setuid(0) in their egg. Running as root solves
18919         potential problems wrt signalling.
18920         [408e530dda01]
18921
18922         * sudo.tab.c:
18923         regen
18924         [f8cfb37e37de]
18925
18926 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18927
18928         * logging.c, sudo.c:
18929         Don't wait for child to finish in log_error(), let the signal
18930         handler get it if we are still running, else let init reap it for
18931         us. The extra time it takes to wait lets the user know that mail is
18932         being sent.
18933
18934         Install SIGCHLD handler in main() and for POSIX signals, block
18935         everything
18936         *except* SIGCHLD.
18937         [d2b6ab0ef3be]
18938
18939         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
18940         parse.yacc, sudo.c, sudo.h:
18941         sudoers_lookup() now returns a bitmap instead of an int. This makes
18942         it possible to express things like "failed to validate because user
18943         not listed for this host". Some thigns that were previously
18944         VALIDATE_FOO are now FLAG_FOO. This may change later on.
18945
18946         Reorganized code in log_auth() and sudo.c to deal with above
18947         changes.
18948
18949         Safer versions of push/pushcp with in the do { ... } while (0) style
18950
18951         parse.yacc now saves info on the stack to allow parse.c to determine
18952         if a user was listed, but not for the host he/she tried to run on.
18953
18954         Added --with-mail-if-no-host option
18955         [63326cb01efc]
18956
18957 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18958
18959         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
18960         visudo.man, visudo.pod:
18961         o NewArgv and NewArgc don't need to be externally visible. o If
18962         pedantic > 1, it is a parse error. o Add -s (strict) option to
18963         visudo which sets pedantic to 2.
18964         [5d7d81b55cd5]
18965
18966         * HISTORY, INSTALL:
18967         Just have sudo-bugs contact info in one place
18968         [e7f6588ea683]
18969
18970         * sudo.cat, sudo.html, sudo.man, sudo.pod:
18971         Add BUGS section
18972         [6607d96ea510]
18973
18974         * Makefile.in, configure, configure.in:
18975         Add testsudoers to default build target if --with-devel Don't clean
18976         generated parser files unless "distclean".
18977         [5827b769dc57]
18978
18979         * parse.yacc, sudo.tab.c:
18980         In pedantic mode we need to save *all* the aliases, not just those
18981         that match, or we get spurious warnings.
18982         [24f5b1f0e1de]
18983
18984         * TROUBLESHOOTING:
18985         reference samples.sylog.conf
18986         [11841668380a]
18987
18988 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18989
18990         * sample.syslog.conf:
18991         Sample entries for syslog.conf
18992         [0f7697d878a1]
18993
18994         * CHANGES:
18995         recent changes
18996         [8bca8810c6bd]
18997
18998         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
18999         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
19000         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
19001         auth/sudo_auth.c, auth/sudo_auth.h:
19002         In struct sudo_auth, turn need_root and configured into flags and
19003         add a flag to specify an auth method is running alone (the only
19004         one). Pass auth methods their sudo_auth pointer, not the data
19005         pointer. This allows us to get at the flags and tell if we are the
19006         only auth method. That, in turn, allows the method to be able to
19007         decide what should/should not be a fatal error. Currently only
19008         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
19009         define and te hackery that went with it. With access to the
19010         sudo_auth struct, methods can also get at a string holding their
19011         cannonical name (useful in error messages).
19012         [b7e320fc6511]
19013
19014         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
19015         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
19016         sudo.tab.h:
19017         o --with-otp deprecated, use --without-passwd instead o real
19018         dependencies in the Makefile o --with-devel option to enable yacc,
19019         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
19020         back to being a token, not a string but don't leak memory o rename
19021         hsotspec -> host in parse.yacc
19022         [912c45226cb2]
19023
19024 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19025
19026         * BUGS, CHANGES:
19027         recent changes
19028         [801fa6e55687]
19029
19030         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
19031         sudo.c, sudo.h:
19032         o Digital UNIX needs to check for *snprintf() before -ldb is added
19033         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
19034         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
19035         functions in snprintf.c to fix -Wall o Add missing includes to fix
19036         more -Wall
19037         [8d207203e126]
19038
19039         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
19040         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
19041         visudo.c:
19042         o Add a "pedentic" flag to the parser. This makes sudo warn in
19043         cases where an alias may be used before it is defined. Only turned
19044         on for visudo and testsudoers. o Add --disable-authentication option
19045         that makes sudo not require authentication by default. The PASSWD
19046         tag can be used to require authentication for an entry. We no
19047         longer overload --without-passwd.
19048         [f307e09adf98]
19049
19050         * lex.yy.c, parse.lex:
19051         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
19052         username can contain just about anything so be very permissive. Also
19053         drop the unused \. punctuation.
19054         [06a50614ff89]
19055
19056 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19057
19058         * parse.yacc, sudo.tab.c:
19059         o add a 'val' element to aliasinfo struct and move -> parse.h o
19060         find_alias() now returns an aliasinfo * instead of boolean o
19061         add_alias() now takes a value parameter to store in the
19062         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
19063         return: 1) positive match 0) negative match (due to '!')
19064         -1) no match This means setting $$ explicitly in all cases, which I
19065         should have done in the first place. It also means that we always
19066         store a value that is != -1 and when we see a '!' we can set
19067         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
19068         now works the way it should in lists and some of the rules are more
19069         uniform and sensible.
19070         [ad8e73b5d581]
19071
19072         * Makefile.in:
19073         add parse.h dependency
19074         [4ccccd464d30]
19075
19076         * parse.h:
19077         kill unused *_matched macros
19078         [02cba6dcb732]
19079
19080         * parse.yacc:
19081         Allow a list of users as the first thing in a user spec, not just a
19082         single entry. This makes things more uniform, though it does allow
19083         you to write user specs that are hard to read.
19084         [3c4c91c508ca]
19085
19086         * sudo.tab.c:
19087         parse.yacc
19088         [feca81881bb6]
19089
19090         * configure:
19091         regen
19092         [6f247010bb3b]
19093
19094         * configure.in:
19095         fix check for crypt() in libufc
19096         [82770736f4b0]
19097
19098 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19099
19100         * README:
19101         sudo-users list now exists
19102         [4716d2bb0bbf]
19103
19104         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
19105         Update to reality.
19106         [1eda2d57e42a]
19107
19108         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
19109         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
19110         version.c, visudo.c:
19111         o Move lock_file() and touch() into fileops.c so visudo can use them
19112         o Visudo now locks the sudoers temp file instead of bailing when the
19113         temp file already exists. This fixes the problem of stale temp
19114         files but it does *require* that you not try to put the temp file in
19115         a world-writable directory. This shoud not be an issue as the temp
19116         file should live in the same dir as sudoers. o Visudo now only
19117         installs the temp file as sudoers if it changed.
19118         [2517cd06c070]
19119
19120 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19121
19122         * logging.c:
19123         add fcntl locking
19124         [c304adeaf515]
19125
19126         * config.h.in, configure, configure.in, logging.c:
19127         Lock the log file.
19128         [d8652704fbdf]
19129
19130         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
19131         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
19132         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
19133         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
19134         -> _PATH_SUDOERS_TMP
19135         [68cad8975807]
19136
19137 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19138
19139         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
19140         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
19141         root sudo -V config reporting
19142         [cdd2613a9dcf]
19143
19144         * configure, configure.in:
19145         aix_auth.o not authenticate.o
19146         [d972e35f6730]
19147
19148         * config.h.in:
19149         Add --with-goodpri and --with-badpri configure options to specify
19150         the syslog priority to use.
19151         [2595ae50ab86]
19152
19153         * INSTALL, configure, configure.in, logging.h:
19154         Add --with-goodpri and --with-badpri configure options to specify
19155         the syslog priority to use.
19156         [8276ee9b2b49]
19157
19158         * compat.h:
19159         kill crufty AIX stuff
19160         [a4f35ef9854e]
19161
19162         * Makefile.in:
19163         Sigh, some versions of make (like Solaris's) don't deal with $< like
19164         I would expect. Both GNU and BSD makes get this right but... So, we
19165         just expand $< inline at the cost of some ugliness.
19166         [b1b456f8801f]
19167
19168         * version.c:
19169         If the invoking user is root, sudo will now print configure info in
19170         -V mode. Currently just prints logging info, to be expanded later.
19171         [392f7ed99267]
19172
19173         * logging.c, logging.h, sudo.c, sudo.h:
19174         o new defines for syslog facility and priority o use new
19175         print_version() functino for -V mode
19176         [78abc5142985]
19177
19178         * check.c:
19179         Don't need version.c
19180         [db9a830ad893]
19181
19182         * aclocal.m4, config.h.in, configure, configure.in:
19183         Add check for syslog facilities and priorities tables in syslog.h
19184         [b86213e5fc5c]
19185
19186         * Makefile.in:
19187         o authenticate -> aix_auth o add version.c
19188         [44b6b9a8d0f5]
19189
19190         * auth/sudo_auth.c:
19191         Missed a prompt -> user_prompt conversion
19192         [e4c60b1f210c]
19193
19194 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19195
19196         * TODO:
19197         sudo should lock its logfile
19198         [6d2830b28b07]
19199
19200         * parse.yacc, sudo.tab.c:
19201         o Add '!' correctly when expanding Aliases. o Add shortcut macros
19202         for append() to make things more readable. o The separator in
19203         append() is now a string instead of a char. o In append(), only
19204         prepend the separator if the last char is not a '!'. This is a
19205         hack but it greatly simplifies '!' handling. o In -l mode, Runas
19206         lists and NOPASSWD/PASSWD tags are now inherited across entries in
19207         a list (matches current behavior). o Fix formatting in -l mode such
19208         that items in a list are separated by a space. Greatlt improves
19209         readability. o Space for name field in struct aliasinfo is now
19210         allocated dyanically instead of using a (big) buffer. o In
19211         add_alias(), only search the list once (lsearch instead of lfind +
19212         lsearch)
19213         [51f7e07addb9]
19214
19215         * lex.yy.c, sudo.tab.c, sudo.tab.h:
19216         regen
19217         [5c19bb05dc21]
19218
19219         * configure, configure.in:
19220         Solais pam doesn't require anye xtra setup
19221         [a25ba03d91d1]
19222
19223         * parse.yacc:
19224         o Simpler '!' support now that the lexer deals with multiple !'s for
19225         us. o In the case of opFOO, have FOO give a boolean return value and
19226         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
19227         it gets fill()'d in parse.lex--fixes a small memory leak. In the
19228         long run it may be better to just fix parse.lex and make ALL back
19229         into a token. However, having it be a string is useful since it
19230         can be easily passed back to the parent rule if we so desire.
19231         [b3c64b443018]
19232
19233         * parse.lex:
19234         o Remove some unnecessary backslashes o collapse multiple !'s by
19235         using !+ and checking if yyleng is even or odd. this allows us to
19236         simplify ! handling in parse.yacc
19237         [76330e8da8e3]
19238
19239         * sudo.c:
19240         -u flag was being ignored
19241         [e30283207585]
19242
19243 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19244
19245         * Makefile.in:
19246         correct fix
19247         [a0e2377dec8f]
19248
19249         * Makefile.in:
19250         work around pod2man stupididy
19251         [7c755640b67f]
19252
19253         * Makefile.in:
19254         correct dependencies for .cat
19255         [5ed7b0653b68]
19256
19257         * sudo.cat, sudo.man, visudo.cat, visudo.man:
19258         regen
19259         [b74510dd6a0a]
19260
19261         * sudo.pod, visudo.pod:
19262         Add copyright Update to reality
19263         [188e9b046c15]
19264
19265         * parse.c, sudo.c, sudo.h:
19266         rename validate() to the more descriptive sudoers_lookup()
19267         [7a1cb652f379]
19268
19269         * auth/aix_auth.c:
19270         use tgetpass
19271         [b8ba5daec40a]
19272
19273 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
19274
19275         * CHANGES:
19276         updates
19277         [e61460cdf4a0]
19278
19279         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
19280         configure, configure.in, sudo.c:
19281         Sudo, not CU Sudo
19282         [9061b3573c0c]
19283
19284         * LICENSE:
19285         add 4th term to license similar to term 5 in the apache license
19286         [92712e895afb]
19287
19288         * emul/search.h, emul/utime.h:
19289         add 4th term to license similar to term 5 in the apache license
19290         [4f93a8b9396e]
19291
19292         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
19293         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
19294         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
19295         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
19296         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
19297         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
19298         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
19299         visudo.c:
19300         add 4th term to license similar to term 5 in the apache license
19301         [afae9f2bf9ec]
19302
19303         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
19304         add 4th term to license similar to term 5 in the apache license
19305         [c389d3fdafac]
19306
19307         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
19308         getspwuid.c, goodpath.c:
19309         add 4th term to license similar to term 5 in the apache license
19310         [969e63dbd38e]
19311
19312         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
19313         insults.h, logging.c, sudo.c, sudo.h:
19314         there was a 1995 release too
19315         [5963fd89457a]
19316
19317 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19318
19319         * CHANGES:
19320         updates
19321         [254b794f16ab]
19322
19323         * check.c:
19324         Use dirs instead of files for timestamp. This allows tty and non-
19325         tty schemes to coexist reasonably. Note, however, that when you
19326         update a tty ticket, the mtime on the user dir gets updated as well.
19327         [44bfac32f799]
19328
19329         * configure, configure.in:
19330         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
19331         when linking test program, not just -lprot. Also add check for
19332         getspnam(). The SCO docs indicate that /etc/shadow can be used but
19333         this may be a lie.
19334         [2ba21d36cc1e]
19335
19336 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
19337
19338         * auth/API:
19339         first cut at auth API description
19340         [3d10df021eb8]
19341
19342 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19343
19344         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
19345         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
19346         auth/sudo_auth.h:
19347         auth API change. There is now an init method that gets run before
19348         the main loop. This allows auth routines to differentiate between
19349         initialization that happens once vs. setup that needs to run each
19350         time through the loop.
19351         [76df1c0d3478]
19352
19353         * auth/kerb5.c, logging.c:
19354         use easprintf() and evasprintf()
19355         [fd97d96dc12f]
19356
19357         * alloc.c, sudo.h:
19358         add easprintf() and evasprintf(), error checking versions of
19359         asprintf() and vasprintf()
19360         [f54385de20b7]
19361
19362         * TODO:
19363         remove 2 items. One done, one won't do.
19364         [64513b47bc7a]
19365
19366         * lex.yy.c, sudo.tab.c:
19367         regen
19368         [4aa299de2752]
19369
19370         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
19371         visudo.html, visudo.man:
19372         regen
19373         [553c0d1209be]
19374
19375         * CHANGES:
19376         new changes
19377         [d7be00b7e36b]
19378
19379         * sudo.pod:
19380         o Document -K flag and update meaning of -k flag. o BSD-style
19381         copyright o Document clearing of BIND resolver environment variables
19382         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
19383         if your OS gives away files
19384         [4a4092be1455]
19385
19386         * visudo.pod:
19387         BSD license
19388         [ad0bfd0a4630]
19389
19390         * version.h:
19391         BSD-style copyright
19392         [ecc6479325be]
19393
19394         * tgetpass.c:
19395         o BSD copyright o no need to block signals, we now do that in main()
19396         o cosmetic changes
19397         [61958beda7ab]
19398
19399         * testsudoers.c, visudo.c:
19400         o BSD-style copyright o Use "struct sudo_user" instead of old
19401         globals. o some cometic cleanup
19402         [88c0c6924082]
19403
19404         * sudo_setenv.c:
19405         BSD-style copyright
19406         [df20290129a0]
19407
19408         * sudo.h:
19409         o BSD copyright o logging and parser bits moved to their own .h
19410         files o new "struct sudo_user" to encapsulate many of the old
19411         globals.
19412         [50fc86bf25cb]
19413
19414         * sudo.c:
19415         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
19416         logging routines o simplified flow of control o BIND resolver
19417         additions to badenv_table
19418         [8c53f15bfcb0]
19419
19420         * strerror.c:
19421         BSD-style copyright
19422         [7c906c3a82ac]
19423
19424         * snprintf.c:
19425         Now compiles on more K&R compilers
19426         [07ab1d3231c7]
19427
19428         * putenv.c:
19429         BSD-style copyright, cosmetic changes
19430         [c42371295881]
19431
19432         * pathnames.h.in:
19433         BSD-style copyright
19434         [e5c34ebd4cf1]
19435
19436         * parse.c, parse.h, parse.lex, parse.yacc:
19437         BSD-style copyright. Move parser-specific defines and structs into
19438         parse.h + other cosmetic changes
19439         [d3088efb6228]
19440
19441         * logging.h:
19442         defines for logging routines
19443         [13147941c02d]
19444
19445         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
19446         BSD-style copyright, cosmetic changes
19447         [e8205e91a4fa]
19448
19449         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
19450         interfaces.h:
19451         BSD-style copyright
19452         [b9499da7cdce]
19453
19454         * configure.in:
19455         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
19456         kill --disable-tgetpass o add --without-passwd o changes to fill in
19457         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
19458         v?asprintf() o replace --with-AuthSRV with --with-fwtk
19459         [9a3f39b9c128]
19460
19461         * config.h.in:
19462         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
19463         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
19464         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
19465         [9a09054db53a]
19466
19467         * compat.h:
19468         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
19469         [25509c566975]
19470
19471         * alloc.c:
19472         BSD-style copyright
19473         [4967be892363]
19474
19475         * TROUBLESHOOTING:
19476         no more --with-getpass
19477         [afd5b670c196]
19478
19479         * TODO:
19480         Take out things I've done...
19481         [375420c8270e]
19482
19483         * README:
19484         Refer to LICENSE
19485         [c486c8db30f6]
19486
19487         * PORTING:
19488         --with-getpass no longer exists
19489         [db48202df1bb]
19490
19491         * Makefile.in:
19492         BSD-style copyright. Update to reflect reality wrt new files and
19493         new auth modules.
19494         [61a2ca7940fb]
19495
19496         * INSTALL:
19497         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
19498         --without-passwd.
19499         [64e8f9e1c05e]
19500
19501         * HISTORY:
19502         Update history a bit
19503         [df60c0a871b8]
19504
19505         * COPYING, LICENSE:
19506         Now distributed under a BSD-style license
19507         [d1a184ccabe1]
19508
19509         * auth/sudo_auth.c:
19510         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
19511         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
19512         global
19513         [891b57060868]
19514
19515         * auth/pam.c, auth/sia.c:
19516         BSD-style copyright and use new log functions
19517         [65c44445ea84]
19518
19519         * auth/kerb5.c:
19520         o BSD-style copyright o Use new log functiongs o Use asprintf() and
19521         snprintf() where sensible.
19522         [1ff0feaacf95]
19523
19524         * check.c:
19525         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
19526         done more reasonably--better sanity checks and tty-based stamps are
19527         now done as files in a directory with the same name as the invoking
19528         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
19529         to mix tty and non-tty based ticket schemes but this may change in
19530         the future (it requires sudo to use a directory instead of a file in
19531         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
19532         the epoch and ``sudo -K'' really deletes the file. That way you
19533         don't get the lecture again just because you killed your ticket in
19534         .logout. BSD-style copyright now.
19535         [ec3460f85be8]
19536
19537         * logging.c:
19538         o rewritten logging routines. log_error() now takes printf-style
19539         varargs and log_auth() for the return value of validate(). o BSD-
19540         style copyright
19541         [438292025c4e]
19542
19543         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
19544         superceded by new auth API
19545         [412060590da7]
19546
19547         * auth/kerb4.c:
19548         BSD-style copyright
19549         [cc4e800833c7]
19550
19551         * auth/fwtk.c:
19552         Use snprintf() where it makes sense and add a BSD-style copyright
19553         [1b7502388a74]
19554
19555         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
19556         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
19557         BSD-style copyright
19558         [42583bedae5c]
19559
19560         * emul/utime.h, utime.c:
19561         BSD-style copyright
19562         [3985c90aba47]
19563
19564         * emul/search.h:
19565         this has been rewritten so use my BSD-style copyright
19566         [176df1b0de6f]
19567
19568 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19569
19570         * snprintf.c:
19571         include malloc.h if no stdlib.h
19572         [7b123f1d1d03]
19573
19574         * snprintf.c:
19575         KTH snprintf()/asprintf() for systems w/o them
19576         [3ca9aefb9d01]
19577
19578         * strerror.c:
19579         strerror() for systems w/o it
19580         [7f0bd8a1c1b4]
19581
19582 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19583
19584         * visudo.c:
19585         stylistic changes
19586         [6f99aceb7170]
19587
19588         * parse.c, parse.lex, parse.yacc:
19589         Add contribution info in the main comment
19590         [e50cec10acd6]
19591
19592 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
19593
19594         * auth/pam.c:
19595         remove missed ref to PAM_nullpw
19596         [a43e59692cdb]
19597
19598         * auth/sudo_auth.h:
19599         pasto
19600         [891ff138ab89]
19601
19602         * auth/kerb5.c:
19603         more or less complete now--still untested
19604         [21036732faa0]
19605
19606         * auth/afs.c, auth/pam.c:
19607         don't use user_name macro, it will go away
19608         [def7cf727349]
19609
19610         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
19611         combine skey/opie code into rfc1938.c
19612         [44d88ca93d3e]
19613
19614         * auth/dce.c, auth/sudo_auth.h:
19615         DCE authentication method; basically unchanged from dce_pwent.c
19616         [4d468473dd6f]
19617
19618         * auth/aix_auth.c, auth/sudo_auth.h:
19619         AIX authenticate() support. Could probably be much better
19620         [000013321a33]
19621
19622         * auth/sia.c:
19623         Fix an uninitialized variable and some cleanup. Now works (tested)
19624         [fd6ad88ff055]
19625
19626         * auth/sia.c, auth/sudo_auth.h:
19627         SIA support for digital unix
19628         [5335f3e70eab]
19629
19630         * auth/pam.c:
19631         don't use prompt global, it will go away
19632         [fadd22dd6ce4]
19633
19634         * auth/secureware.c:
19635         correct copyright years
19636         [6aa07c49f51b]
19637
19638         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
19639         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
19640         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
19641         New authentication API and methods
19642         [9debe9b59c79]
19643
19644 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19645
19646         * sudo.tab.c:
19647         regen
19648         [84578e82c1a6]
19649
19650         * parse.yacc:
19651         only save an entry if user_matches && host_matches, even if the
19652         stack is empty (fix for previous commit)
19653         [00984b078d8a]
19654
19655         * sudo.tab.c:
19656         regen
19657         [66acf160b4b7]
19658
19659         * parse.yacc:
19660         1) Always save an entry on the stack if it is empty. This fixes the
19661         -l and -v flags that were broken by earlier parser changes.
19662
19663         2) In a Runas list, don't negate FALSE -> TRUE since that would make
19664         !foo match any time the user specified a runas user (via -u) other
19665         than foo.
19666         [f322eb54b015]
19667
19668         * testsudoers.c:
19669         interfaces and num_interfaces are now auto, not extern
19670         [113add5c6518]
19671
19672 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19673
19674         * auth.c:
19675         use a static global to keep stae about empty passwords
19676         [bc02e30807d8]
19677
19678         * check_sia.c:
19679         make PASSWORD_NOT_CORRECT logging consistent with other modules
19680         [21962549d5fd]
19681
19682 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19683
19684         * auth.c:
19685         PAM prompt code was wrong, looks like we have to kludge it after
19686         all.
19687         [91f246155ead]
19688
19689         * auth.c:
19690         In the PAM code, when a user hits return at the first password
19691         prompt, exit without a warning just like the normal auth code
19692         [918f59bacdb7]
19693
19694         * configure, configure.in:
19695         kludge around cross-compiler false positives
19696         [5e5fc8356400]
19697
19698         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
19699         New (correct) PAM code Tgetpass now takes an echo flag for use with
19700         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
19701         useless umask setting Change error from BAD_ALLOCATION ->
19702         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
19703         for consistency
19704         [e71397f09dd8]
19705
19706         * sudo.c:
19707         Some -Wall and kill some trailing spaces
19708         [8229b43d5c4e]
19709
19710         * configure.in:
19711         define -D__EXTENSIONS__ for solaris so we get crypt() proto
19712         [7533e4436cab]
19713
19714 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19715
19716         * RUNSON:
19717         add Dynix 4.4.4
19718         [b69f773efbce]
19719
19720         * INSTALL, config.h.in, configure, configure.in:
19721         for kerberos V < version, fall back on old kerb4 auth code
19722         [d685ed3a1d8e]
19723
19724         * INSTALL:
19725         clarify some things
19726         [2f5ba2e8e53a]
19727
19728         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
19729         typos
19730         [8925a109c093]
19731
19732 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19733
19734         * sudo.c:
19735         mention why DONT_LEAK_PATH_INFO is not the default
19736         [0346260cb4ec]
19737
19738 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19739
19740         * tgetpass.c:
19741         Fix open(2) return value checking, was NULL for fopen, should be -1
19742         for open
19743         [355878bf6d8a]
19744
19745         * configure:
19746         regen
19747         [68bf82871862]
19748
19749         * configure.in:
19750         better wording for solaris pam notice
19751         [04e88c7a6c42]
19752
19753         * CHANGES:
19754         document recent changes
19755         [7c922c5622ef]
19756
19757         * TROUBLESHOOTING:
19758         Update shadow password section
19759         [e8448bae7d66]
19760
19761         * auth.c:
19762         move authentication code from check.c to auth.c
19763         [e9f6ecae2399]
19764
19765         * Makefile.in, check.c, sudo.h:
19766         move authentication code to auth.c
19767         [124cded85f46]
19768
19769 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19770
19771         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
19772         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
19773         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
19774         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
19775         visudo.c:
19776         Move interface-related defines to interfaces.h so we don't have to
19777         include <netinet/in.h> everywhere.
19778         [e7599d8ea0bf]
19779
19780 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19781
19782         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
19783         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
19784         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
19785         turns out the old DES crypt does the right thing with passwords
19786         longert than 8 characters. o Fix common typo (necesary ->
19787         necessary) o Update TODO list
19788         [ad75007a6f13]
19789
19790 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19791
19792         * sudo.c:
19793         set $LOGNAME when we set $USER
19794         [391596210fd7]
19795
19796 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
19797
19798         * INSTALL:
19799         add comment about digital unix and interfaces.c warning with gcc
19800         [e20f815901cc]
19801
19802 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19803
19804         * sample.sudoers:
19805         use modern paths and give examples for some of the new parser
19806         features
19807         [e7b2e507c695]
19808
19809 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19810
19811         * parse.c:
19812         fix comment
19813         [5eb0d005a65f]
19814
19815         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
19816         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
19817         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
19818         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
19819         Function names should be flush with the start of the line so they
19820         can be found trivially in an editor and with grep
19821         [3c400abde574]
19822
19823         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
19824         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
19825         free(3) is already void, no need to cast it
19826         [6981e1ebda0f]
19827
19828         * logging.c, sudo.c, sudo.h:
19829         catch case where cmnd_safe is not set (this should not be possible)
19830         [3e1e3038546c]
19831
19832         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
19833         testsudoers.c, visudo.c:
19834         Stash the "safe" path (ie: the one listed in sudoers) to the command
19835         instead of stashing the struct stat. Should be safer.
19836         [aa2883fcf57e]
19837
19838 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19839
19840         * INSTALL, Makefile.in, UPGRADE:
19841         notes on updating from an earlier release
19842         [df9fffa4ab2c]
19843
19844         * CHANGES:
19845         updated
19846         [574f5065d15a]
19847
19848 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19849
19850         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
19851         sudoers.man, sudoers.pod:
19852         You can now specifiy a host list instead of just a host or alias.
19853         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
19854         [e3942bb78021]
19855
19856         * testsudoers.c:
19857         Quiet -Wall
19858         [a3edc8b08c3a]
19859
19860         * parse.yacc, sudo.tab.c:
19861         Move the push from the beginning of cmndspec to the end. This means
19862         we no longer have to do a push at the end of privilege, just reset
19863         some values.
19864         [8ea66e5860c6]
19865
19866         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
19867         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
19868         use "!" most everywhere
19869         [aadae4d1c9d5]
19870
19871 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19872
19873         * sudoers.pod:
19874         modernize paths and update su example based on sample.sudoers one
19875         [3f6a37e16c83]
19876
19877         * sample.sudoers:
19878         New runas semantics
19879         [756ee92865b7]
19880
19881         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
19882         strdup.c, sudo.h:
19883         In estrdup(), do the malloc ourselves so we don't need to rely on
19884         the system strdup(3) which may or may not exist. There is now no
19885         need to provide strdup() for those w/o it. Also, the prototype for
19886         estrdup() was wrong, it returns char * and its param is const.
19887         [5f1f984da8e3]
19888
19889         * getcwd.c:
19890         $Sudo tag
19891         [e4188a35e68c]
19892
19893         * check.c:
19894         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
19895         [2aec87c86cde]
19896
19897         * CHANGES, TODO, parse.yacc, sudo.tab.c:
19898         It is now possible to use the '!' operator in a runas list as well
19899         as in a Cmnd_Alias, Host_Alias and User_Alias.
19900         [a4fdaabda990]
19901
19902         * logging.c, sudo.h:
19903         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
19904         [73d0376785ae]
19905
19906         * sudo.h:
19907         Definitions of *_matched were wrong--user top, not top-2 as
19908         subscript.
19909         [5f8350a57362]
19910
19911         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
19912         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
19913         command but the NOPASSWD flag was set. Make runasspec, runaslist,
19914         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
19915         in the runas list Fix double printing of '%' and '+' for groups and
19916         netgroups respectively Add *_matched macros (no need for local stack
19917         variable). Should only be used directly after a pop (since top must
19918         be >= 2).
19919         [392b1400c4e6]
19920
19921         * aclocal.m4, configure.in:
19922         Add copyright, somewhat silly
19923         [55c2cdd82dca]
19924
19925 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19926
19927         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
19928         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
19929         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
19930         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
19931         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
19932         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
19933         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
19934         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
19935         visudo.man:
19936         Crank version to 1.6 and combine copyright statements
19937         [0e1c791658ae]
19938
19939         * sample.sudoers:
19940         Use ! not ^ to do negation
19941         [1480a0761730]
19942
19943         * lex.yy.c, sudo.tab.c:
19944         regen
19945         [89ca5a46684b]
19946
19947         * parse.lex, parse.yacc:
19948         Make runas and NOPASSWD tags persistent across entris in a command
19949         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
19950         runas or *PASSWD tag the value given becomes the new default for the
19951         rest of the command list.
19952         [f1bbb4066542]
19953
19954 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19955
19956         * CHANGES, RUNSON:
19957         update for 1.5.9
19958         [a1ae9d4a7d54] [SUDO_1_5_9]
19959
19960         * visudo.c:
19961         Shift return value of system(3) by 8 to get real exit value and if
19962         it is not 1 or 0 print the retval along with the error message.
19963         [c1ff50d743fb]
19964
19965 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
19966
19967         * Makefile.in:
19968         testsudoers needs LIBOBJS too
19969         [972571b4e4bf]
19970
19971         * parse.c, parse.yacc, sudo.tab.c:
19972         Fix another parser bug. For a sudoers entry like this: millert
19973         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
19974         as root.
19975         [51968e1eb33d]
19976
19977         * CHANGES:
19978         new change
19979         [271c6110bb62]
19980
19981         * parse.yacc, sudo.tab.c:
19982         Save entries that match a ! command on the matching stack too
19983         [5afb5107116c]
19984
19985         * sudo.c:
19986         Make sudo's usage info better when mutually exclusive args are given
19987         and don't rely on argument order to detect this; nick@zeta.org.au
19988         [2422753c88fd]
19989
19990 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
19991
19992         * CHANGES, Makefile.in, RUNSON:
19993         updates from CU
19994         [b37381e3dafb]
19995
19996         * Makefile.in:
19997         use gzip
19998         [94a64e52a166]
19999
20000         * parse.yacc, sudo.tab.c:
20001         Fix off by one error introduced in *alloc changes
20002         [95ede581153a]
20003
20004         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
20005         check_sia.c, compat.h, config.h.in, configure, configure.in,
20006         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
20007         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20008         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
20009         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
20010         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
20011         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
20012         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
20013         ++version
20014         [c6d88f024e37]
20015
20016         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
20017         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
20018         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
20019         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
20020         Use emalloc/erealloc/estrdup
20021         [44221d97361a]
20022
20023         * alloc.c:
20024         error checking memory allocation routines
20025         [5f8c1e7bbc71]
20026
20027         * parse.yacc, sudo.tab.c:
20028         Still not right, this fixes it for real
20029         [ad553b6f5339]
20030
20031         * parse.yacc, sudo.tab.c:
20032         Fix for previous commit
20033         [4d6f989f9bf2]
20034
20035         * CHANGES, INSTALL, parse.yacc:
20036         Fix a parser bug that was exposed when mixing different runas specs
20037         and ! commands. For example: millert ALL=(daemon)
20038         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
20039         as well as daemon when it should just allow daemon. The problem was
20040         that comma-separated commands in a list shared the same entry on the
20041         matching stack. Now they get their own entry iff there is a full
20042         match. It may be better to just make the runas spec persistent
20043         across all commands in a list like the user and host entries of the
20044         matching stack. However, since that is a fairly major change it
20045         should gets its own minor rev increase.
20046         [c4b939cdcc8e]
20047
20048 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20049
20050         * check.c, config.h.in:
20051         Simplify PAM code and fix a PAM-related warning on Linux
20052         [2468399523b6]
20053
20054 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20055
20056         * CHANGES:
20057         updates
20058         [29d4a997769c]
20059
20060         * sample.sudoers:
20061         better su entry
20062         [76d8285a72ba]
20063
20064         * configure:
20065         regen
20066         [b7450cc6975d]
20067
20068         * check.c, configure.in:
20069         new pam code that works on solaris, should work on linux too;
20070         aelberg@home.com
20071         [84c16c0ff259]
20072
20073 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20074
20075         * RUNSON:
20076         more entries
20077         [b6bef8660759]
20078
20079         * config.h.in:
20080         only include strings.h if there is no string.h
20081         [b66054a32b00]
20082
20083 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20084
20085         * config.guess:
20086         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
20087         [c086d2fe63af]
20088
20089 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20090
20091         * sudo.c:
20092         shost must be set before log functions are called #ifdef HOST_IN_LOG
20093         [d49a7944358f]
20094
20095 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20096
20097         * CHANGES, lex.yy.c, parse.lex:
20098         Fix a bug wrt quoting characters in command args. Stop processing
20099         an arg when you hit a backslash so the quoted-character detection
20100         can catch it.
20101         [2281438d7f41]
20102
20103 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
20104
20105         * interfaces.c:
20106         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
20107         [31118a9e9916]
20108
20109 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20110
20111         * configure, configure.in:
20112         add missing case statement so --without-sendmail works
20113         [ca25614f7dd9]
20114
20115 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20116
20117         * CHANGES:
20118         more
20119         [4d70e44f7f93]
20120
20121 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20122
20123         * configure, configure.in:
20124         only search for -lsun in irix <= 4.x
20125         [e604238317b1]
20126
20127         * configure, configure.in:
20128         back out last configure.in change now that I've hacked autoconf to
20129         fix the real problem and add a missing newline
20130         [2dabf59a79b5]
20131
20132         * CHANGES:
20133         updated
20134         [bb35d526552f]
20135
20136         * getcwd.c:
20137         add def of dirfd() for those without it
20138         [95f0173d8441]
20139
20140         * configure, configure.in:
20141         When falling back to checking for socket() when linking with
20142         "-lsocket -lnsl" check for main() instead since autoconf has already
20143         cached the results of checking for socket() in -lsocket. This is
20144         really an autoconf bug as it should use the extra libs as part of
20145         the cache variable name.
20146         [a845f8b710ad]
20147
20148         * configure.in:
20149         typo
20150         [a7d62f62a478]
20151
20152 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20153
20154         * configure.in:
20155         fix occurrence of $with_timeout that should be
20156         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
20157         bochum.de
20158         [8c4da2cf73d1]
20159
20160 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20161
20162         * sudo.cat, sudo.html, sudo.man, sudo.pod:
20163         fix grammar; espie@openbsd.org
20164         [7031d9dfbc3e] [SUDO_1_5_8]
20165
20166 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20167
20168         * parse.yacc, sudo.c, testsudoers.c:
20169         add cast for strdup in places it does not have it
20170         [7ce4478d3b0f]
20171
20172 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20173
20174         * configure, configure.in:
20175         define for_BSD_TYPES irix
20176         [858337ff4af8]
20177
20178 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20179
20180         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
20181         Make it clear that it is the user's password, not root's, that we
20182         want.
20183         [ae0f51b35ee4]
20184
20185         * check.c, sudo.h:
20186         If the user enters an empty password and really has no password,
20187         accept the empty password they entered. Perviously, they could
20188         enter anything
20189         *but* an empty password. Also, add GETPASS macro that calls either
20190         tgetpass() or getpass() depending on how sudo was configured.
20191         Problem noted by jdg@maths.qmw.ac.uk
20192         [2fde21ce94c1]
20193
20194 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20195
20196         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
20197         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
20198         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
20199         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
20200         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
20201         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
20202         visudo.c:
20203         add explicate copyright
20204         [d3b4449834a5]
20205
20206         * CHANGES:
20207         mention -lsocket, -lnsl configure changes
20208         [9140af4ad8ae]
20209
20210 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20211
20212         * sudo.c:
20213         Don't clobber errno after calling check_sudoers().
20214         [59bd581b2654]
20215
20216 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
20217
20218         * configure, configure.in:
20219         When linking with both -lsocket and -lnsl be sure to do so in that
20220         order. Also, when we can't find socket() or inet_addr() and have to
20221         try linking with both libs, issue a warning.
20222         [0ee547163067]
20223
20224         * sudo.cat, sudo.man, sudo.pod:
20225         clarify bad timestamp and fmt
20226         [70e42cf56c75]
20227
20228 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20229
20230         * INSTALL, RUNSON:
20231         be clear that pam is linux-only and add a RUNSON entry
20232         [7fdeab875e0d]
20233
20234 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20235
20236         * CHANGES, INSTALL, configure, configure.in:
20237         fix and correctly document --with-umask; problem noted by
20238         adap@adap.org
20239         [11cd0481d63a]
20240
20241 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20242
20243         * configure, configure.in:
20244         only use /usr/{man,catman}/local to store man pages if suer didn't
20245         override prefix or mandir
20246         [781ad2cbe9be]
20247
20248         * INSTALL, configure, configure.in:
20249         fix typo, make --with-SecurID take an arg
20250         [026a9b4014fc]
20251
20252 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20253
20254         * RUNSON:
20255         updates from users
20256         [2286982b31e6]
20257
20258         * CHANGES, INSTALL, check.c, configure, configure.in:
20259         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
20260         [23aa4e5c6b02]
20261
20262         * configure, configure.in:
20263         better fix for the problem of unresolved symbols in -lnsl or
20264         -lsocket
20265         [82fe70fc287f]
20266
20267         * configure, configure.in:
20268         when checking for functions in -lnsl and -lsocket link with both of
20269         them to avoid unresolved symbols on some weirdo systems
20270         [1734a591808e]
20271
20272 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20273
20274         * BUGS, CHANGES, RUNSON, TODO:
20275         old changes that didn't make it into RCS before the RCS->CVS switch
20276         [846eb2b8f9aa]
20277
20278 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20279
20280         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
20281         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
20282         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
20283         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
20284         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
20285         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
20286         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
20287         visudo.pod:
20288         add sudo tags
20289         [962f81eaa5ab]
20290
20291         * sudo.h:
20292         testing Sudo tag
20293         [e84cbc521129]
20294
20295         * version.h:
20296         testing Sudo tag
20297         [a8c3a3998b88]
20298
20299         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
20300         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
20301         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
20302         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
20303         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
20304         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
20305         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
20306         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
20307         crank version and regen files
20308         [23eacf00a1a4]
20309
20310         * Makefile.in:
20311         kill rcs goop in update_version and fix now that version is a const
20312         [e6e50bd8d1e1]
20313
20314         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
20315         sudo.c, sudo.h, sudo.pod:
20316         kerb5 support from fcusack@iconnet.net
20317         [8134027986e2]
20318
20319         * realpath.c, sudo_realpath.c:
20320         we no longer use realpath
20321         [0f5f64abc646]
20322
20323         * qualify.c:
20324         replaced by find_path.c
20325         [9e32a87e09c4]
20326
20327         * options.h:
20328         all options are now configure flags
20329         [ee6bd9610102]
20330
20331         * lex.yy.c:
20332         regen
20333         [bdbf8a18161f]
20334
20335         * getwd.c:
20336         superceded by getcwd.c
20337         [1e54ee0990b4]
20338
20339         * getpass.c:
20340         superceded by tgetpass.c
20341         [4e0d1edc30e3]
20342
20343         * SUPPORTED:
20344         superceded by RUNSON
20345         [854c5a21cb53]
20346
20347         * OPTIONS:
20348         No longer used now that we have configure options for everything.
20349         [9b1ae1c89259]
20350
20351         * configure:
20352         regen based on configure.in
20353         [3a4d73936973]
20354
20355         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
20356         sudoers.man, visudo.cat, visudo.html, visudo.man:
20357         regen based on sudo.pod, sudoers.pod, and visudo.pod
20358         [c267beb90778]
20359
20360 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20361
20362         * check.c:
20363         fix tty tickets in remove_timestamp (didn't use ':')
20364         [fd964a74a32b]
20365
20366 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20367
20368         * interfaces.c:
20369         close sock when we are done with it
20370         [95de0380f8a4]
20371
20372 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20373
20374         * parse.yacc:
20375         never say "error on line -1"
20376         [361db1491121]
20377
20378 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20379
20380         * configure.in:
20381         check for -lnsl before -lsocket
20382         [8e966d6bbcb5]
20383
20384         * configure.in:
20385         quote '[', ']' used in ranges correctly
20386         [fa4f9c6ff651]
20387
20388 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20389
20390         * config.h.in:
20391         add missing NO_ROOT_SUDO noted by drno@tsd.edu
20392         [c969f25d1667]
20393
20394 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20395
20396         * version.h:
20397         1.5.7
20398         [7a22de0bc148]
20399
20400         * INSTALL:
20401         more info for 1.5.7
20402         [30ad9e784799]
20403
20404         * README:
20405         update for 1.5.7
20406         [cd03a0a27cd2]
20407
20408         * parse.yacc:
20409         make increases of cm_list_size and ga_list_size be similar to
20410         increases of stacksize (ie: >= not > in initial compare).
20411         [6bd450a896c7]
20412
20413         * parse.yacc:
20414         when we get a syntax error, report it for the previous line since
20415         that's generally where the error occurred.
20416         [c4ac84058f0b]
20417
20418 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20419
20420         * config.h.in, configure.in, interfaces.c:
20421         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
20422         not defined
20423         [d197f31fd1e4] [SUDO_1_5_7]
20424
20425         * config.h.in:
20426         define BSD_COMP for svr4
20427         [87ac1147ff79]
20428
20429         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
20430         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
20431         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
20432         testsudoers.c, tgetpass.c, utime.c, visudo.c:
20433         more -Wall
20434         [d98e2d32db2a]
20435
20436         * configure.in:
20437         kill check for sockio,h
20438         [4399779014c1]
20439
20440         * config.h.in:
20441         no more HAVE_SYS_SOCKIO_H
20442         [67484528e347]
20443
20444         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
20445         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
20446         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
20447         testsudoers.c, tgetpass.c, utime.c, visudo.c:
20448         -Wall
20449         [2b7e83976788]
20450
20451 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20452
20453         * sudo.c:
20454         add missing inform_user()
20455         [8689528c6d55]
20456
20457 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20458
20459         * find_path.c:
20460         return NOT_FOUND if given fully qualified path and it does not exist
20461         previously it would perror(ENOENT) which bypasses the option to not
20462         leak path info
20463         [ccbc3d0130ae]
20464
20465         * configure.in:
20466         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
20467         -ldes
20468         [c77d3b484ece]
20469
20470 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20471
20472         * INSTALL:
20473         tty tickets are user:tty now
20474         [a53a303a614d]
20475
20476         * check.c:
20477         when using tty tickets make it user:tty not user.tty as a username
20478         could have a '.' in it
20479         [3160b3f5c890]
20480
20481 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20482
20483         * sudo.c:
20484         add "ignoring foo found in ." for auth successful case
20485         [24257169e0bd]
20486
20487 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20488
20489         * sudo.c:
20490         add missing printf param
20491         [8c905124f777]
20492
20493 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20494
20495         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
20496         go back to printing "command not found" unless --disable-path-info
20497         specified. Also, tell user when we ignore '.' in their path and it
20498         would have been used but for --with-ignore-dot.
20499         [066e118c11e4]
20500
20501         * check.c, sudo.c:
20502         Only one space after a colon, not two, in printf's
20503         [38452f4c8007]
20504
20505 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20506
20507         * sudo.pod:
20508         document setting $USER
20509         [80557fe6aede]
20510
20511         * check.c:
20512         fix bugs with prompt expansion
20513         [44c4fca5f009]
20514
20515         * sudo.c:
20516         set $USER for root too
20517         [4b525e1c6269]
20518
20519 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20520
20521         * getspwuid.c:
20522         typo
20523         [5107446f43e0]
20524
20525         * configure.in:
20526         HP-UX's iscomsec is in -lsec, not libc
20527         [03c9f700b795]
20528
20529         * configure.in:
20530         remove some entries in the OS case statement that did nothing
20531         [ea96e7e0f624]
20532
20533         * TROUBLESHOOTING:
20534         add "cd" section and flush out syslog section
20535         [5107f7363b78]
20536
20537         * Makefile.in:
20538         no more sudo-lex.yy.c
20539         [ed50826efbbc]
20540
20541         * check_sia.c:
20542         add custom prompt support
20543         [6a285cea10b7]
20544
20545         * testsudoers.c:
20546         kill perror("malloc") since we already have a good error messages
20547         pw_ent -> pw for brevity
20548         [eee31052921e]
20549
20550         * sudo.c:
20551         kill perror("malloc") since we already have a good error messages
20552         pw_ent -> pw for brevity set $USER if -u specified
20553         [9f3753461f8a]
20554
20555         * parse.yacc:
20556         kill perror("malloc") since we already have a good error messages
20557         [849459088ac3]
20558
20559         * parse.c:
20560         kill perror("malloc") since we already have a good error messages
20561         pw_ent -> pw for brevity when checking if %group matches, look up
20562         user in password file so that %groups works in a RunAs spec.
20563         [0489b4ecc59a]
20564
20565         * logging.c:
20566         kill perror("malloc") since we already have a good error messages
20567         [3191a18b3526]
20568
20569         * check.c, getspwuid.c, interfaces.c:
20570         kill perror("malloc") since we already have a good error messages
20571         pw_ent -> pw for brevity
20572         [7193fdb38cf9]
20573
20574 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20575
20576         * tgetpass.c:
20577         the prompt is expanded before tgetpass is called
20578         [0f408f508041]
20579
20580         * sudo.h:
20581         tgetpass now has the same args as getpass again
20582         [b6778cd9d79f]
20583
20584         * getspwuid.c:
20585         add iscomsec, issecure support
20586         [007be7ec7ae7]
20587
20588         * check.c:
20589         we now expand any %h or %u in the prompt before passing to tgetpass
20590         [f3db8c9ee387]
20591
20592         * configure.in:
20593         add check for syslog(3) in -lsocket, -lnsl, -linet
20594         [5a96f902ce00]
20595
20596         * config.h.in:
20597         add HAVE_ISCOMSEC and HAVE_ISSECURE
20598         [f640b0d4cf05]
20599
20600         * configure.in:
20601         add check for iscomsec in HP-UX
20602         [b28b249040f0]
20603
20604         * configure.in:
20605         check for issecure if we have getpwanam on SunOS some options are
20606         incompatible with DUNIX SIA check for dispcrypt on DUNIX
20607         [a49d05d9c913]
20608
20609 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
20610
20611         * config.h.in:
20612         add HAVE_DISPCRYPT
20613         [7376d543d8d6]
20614
20615         * secureware.c:
20616         add back support for non-dispcrypt based checking for older DUNIX
20617         [977b98e936be]
20618
20619         * INSTALL:
20620         sia changes
20621         [c5387c06e30f]
20622
20623         * configure.in:
20624         SIA becomes the default on Digital UNIX now havbe --disable-sia to
20625         turn it off...
20626         [3b647558ea13]
20627
20628         * check.c:
20629         move local includes after system ones
20630         [b2abad4c4aef]
20631
20632 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20633
20634         * check.c, check_sia.c, sudo.h:
20635         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
20636         stderr
20637         [547cbf299661]
20638
20639         * check_sia.c:
20640         fix while loop in sia_attempt_auth() that checks the password. Only
20641         the first iteration was working.
20642         [1886fd1ac831]
20643
20644 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20645
20646         * aclocal.m4:
20647         don't trust UID_MAX or MAXUID
20648         [2aeddb1654d8]
20649
20650         * configure.in:
20651         fix two pastos
20652         [c18f0a10b75d]
20653
20654         * configure.in:
20655         fix typo
20656         [1eb3190ef12d]
20657
20658         * getspwuid.c, secureware.c:
20659         init crypt_type to INT_MAX since it is legal to be negative in DUNX
20660         5.0
20661         [cefbde04822d]
20662
20663         * configure.in:
20664         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
20665         -ldb since DUNX < 4.0 lacks it
20666         [e6b11d971068]
20667
20668 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20669
20670         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
20671         secureware.c, sudo.c, tgetpass.c:
20672         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
20673         minutes if the shadow files don't exist).
20674         [2f297d095004]
20675
20676 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20677
20678         * INSTALL:
20679         updated --with-editor blurb
20680         [77d8a3ea7328]
20681
20682         * TROUBLESHOOTING:
20683         tell how to put sudoers in a different dir
20684         [456cd20eb1d0]
20685
20686         * configure.in:
20687         add missing quotes around $with_editor
20688         [22881748ab1b]
20689
20690         * configure.in:
20691         typo in --with-editor bits
20692         [ab6964580681]
20693
20694         * INSTALL:
20695         I don't expect it to work on Solaris
20696         [1c2fceaaf56e]
20697
20698         * check.c:
20699         add back security/pam_misc.h
20700         [6ffd30033c1e]
20701
20702 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20703
20704         * INSTALL:
20705         remove dunix note since configure checks for this now
20706         [e9904512b8e8]
20707
20708         * configure.in:
20709         add check for broken dunix prot.h (4.0 < 4.0D is bad)
20710         [8a4c1e6aef3b]
20711
20712         * getspwuid.c, secureware.c, tgetpass.c:
20713         new dunix shadow code, use dispcrypt(3)
20714         [1b936bc7268c]
20715
20716         * config.h.in:
20717         add HAVE_INITPRIVS
20718         [4369f4c4f914]
20719
20720         * sudo.c:
20721         call initprivs() if we have it for getprpwuid later on
20722         [11cf5915d826]
20723
20724         * Makefile.in:
20725         clean pathnames.h too
20726         [5f1df3262613]
20727
20728         * configure.in:
20729         quote "Sorry, try again." with [] since it has a comma in it set
20730         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
20731         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
20732         initprivs later.
20733         [e226b0a3f250]
20734
20735         * INSTALL:
20736         update Digital UNIX note about acl.h
20737         [80132b71d73a]
20738
20739         * INSTALL:
20740         add --with-sia
20741         --without-root-sudo -> --disable-root-sudo some reordering
20742         [198386358818]
20743
20744         * secureware.c:
20745         add whitespace
20746         [4aadaf1a54b0]
20747
20748         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
20749         add SIA support
20750         [fa3ddbb9cc51]
20751
20752         * check_sia.c:
20753         Initial revision
20754         [2968551d40e4]
20755
20756 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20757
20758         * configure.in:
20759         when checking for -lsocket, -lnsl, and -linet, check for the
20760         specific functions we need from them.
20761         [8d33e64362a3]
20762
20763         * config.h.in, sudo.h:
20764         move Syslog_* defs into sudo.h
20765         [03d1774f25c7]
20766
20767         * Makefile.in, sudo.h:
20768         added check_secureware
20769         [e46e3cbb9a97]
20770
20771         * configure.in:
20772         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
20773         [dbefe1856503]
20774
20775         * insults.h:
20776         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
20777         defined. configure now does that for us
20778         [e4520ea0581f]
20779
20780         * configure.in:
20781         move some --with options around change a bunch of echo's to
20782         AC_MSG_CHECKING, AC_MSG_RESULT pairs
20783         [ffdf6869fdd7]
20784
20785         * configure.in:
20786         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
20787         syntax error add some echo verbage
20788         [3278c49bf74b]
20789
20790 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20791
20792         * check.c:
20793         moved SecureWare stuff into secureware.c
20794         [42d3d3ac35dc]
20795
20796         * secureware.c:
20797         Initial revision
20798         [aa7f72a249cf]
20799
20800         * INSTALL:
20801         update url to solaris gcc bins
20802         [36a3eb668777]
20803
20804         * INSTALL:
20805         change option formatter and flesh out someentries
20806         [6fbd1db4a8ad]
20807
20808         * TROUBLESHOOTING, sudo.pod, visudo.pod:
20809         environmental variable -> environment variable
20810         [6f14d708e32d]
20811
20812         * BUGS:
20813         everything is now done via configure
20814         [c217858f58ab]
20815
20816         * README:
20817         prev rev was 1.5.6
20818         [7b4177103c35]
20819
20820         * Makefile.in:
20821         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
20822         [31c6b0a5e0e2]
20823
20824         * config.h.in:
20825         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
20826         [d406a1ef6d25]
20827
20828         * Makefile.in:
20829         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
20830         sudoers_mode from configure
20831         [1c509500655a]
20832
20833         * configure.in:
20834         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
20835         the Makefile, not config.h
20836         [d4482f1492fe]
20837
20838         * INSTALL:
20839         document all --with/--enable options
20840         [22d81b312d7f]
20841
20842 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20843
20844         * insults.h:
20845         options.h is no more
20846         [560946a33f7f]
20847
20848         * config.h.in:
20849         assimilated options.h
20850         [dd8ce74613c1]
20851
20852         * configure.in:
20853         moved options from options.h to configure
20854         [d39662f71b4e]
20855
20856         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
20857         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
20858         sudo_setenv.c, visudo.c:
20859         no more options.h
20860         [43924bf0858d]
20861
20862         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
20863         remove references to options.h
20864         [ef3474295395]
20865
20866         * dce_pwent.c, interfaces.c, sudo.c:
20867         kill sys/time.h
20868         [4d833f0034e4]
20869
20870         * tgetpass.c:
20871         if select return < -1 still prompt for pw
20872         [e0009e5c93a2]
20873
20874         * options.h:
20875         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
20876         configure options
20877         [e60a1e546516]
20878
20879         * parse.c:
20880         FAST_MATCH is no longer an optino
20881         [c448dbb3464b]
20882
20883         * check.c:
20884         remove_timestamp() if timestamp is preposterous
20885         [70d9a86c6ecd]
20886
20887         * options.h:
20888         convert more options to --with/--enable
20889         [34646d9b09dc]
20890
20891         * INSTALL, aclocal.m4:
20892         logfile -> logpath
20893         [42de502bc637]
20894
20895         * configure.in:
20896         convert more options into --with and --enable
20897         [92d0898c9844]
20898
20899         * tgetpass.c:
20900         catch EINTR in select and restart
20901         [f045d2f234d7]
20902
20903         * logging.c:
20904         sys/errno -> errno
20905         [7f0c5beab6f2]
20906
20907 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
20908
20909         * sudo.c:
20910         UMASK -> SUDO_UMASK.
20911         [48f308661514]
20912
20913         * check.c, logging.c:
20914         time.h, not sys/time.h
20915         [91de049c79e4]
20916
20917 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20918
20919         * logging.c:
20920         MAILER -> _PATH_SENDMAIL
20921         [df65d6896639]
20922
20923         * INSTALL, configure.in:
20924         no more --with-C2, now it is --disable-shadow
20925         [18bfcab3b9ab]
20926
20927         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
20928         getspwuid.c, sudo.c, tgetpass.c:
20929         new shadow password scheme. Always include shadow support if the
20930         platform supports it and the user did not disable it via configure
20931         [2135d93bb4a9]
20932
20933 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
20934
20935         * configure.in:
20936         --with-getpass -> --{enable,disable}-tgetpass
20937         [451b33fdd4c7]
20938
20939         * Makefile.in:
20940         pathnames.h -> pathnames.h.in
20941         [b109022eca69]
20942
20943         * check.c:
20944         fix version string
20945         [761b25c314ea]
20946
20947         * check.c:
20948         move pam_conv to be static to auth function remove pam_misc.h
20949         (solaris doesn't have one)
20950         [a682e4da987a]
20951
20952         * aclocal.m4:
20953         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
20954         [e6005d0599b5]
20955
20956         * configure.in:
20957         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
20958         [24c0ac2155ef]
20959
20960         * pathnames.h.in:
20961         convert to pathnames.h.in
20962         [013bddf7f684]
20963
20964 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20965
20966         * configure.in:
20967         fix typo in sysv4 matching case /.
20968         [2994c4f88cf5]
20969
20970 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20971
20972         * check.c:
20973         pam stuff needs to run as root, not user, for shadow passwords
20974         [d94ff75de503]
20975
20976 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20977
20978         * BUGS, INSTALL, README, configure.in:
20979         updated version
20980         [775adc7de7ac]
20981
20982         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
20983         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
20984         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
20985         logging.c, options.h, parse.c, parse.lex, parse.yacc,
20986         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
20987         testsudoers.c, tgetpass.c, utime.c, visudo.c:
20988         updated version
20989         [5ca599fb6b93]
20990
20991         * check.c:
20992         user version.h for long message
20993         [47a52ac7e542]
20994
20995         * check.c:
20996         this is version 1.5.6
20997         [8451ac79eee2]
20998
20999 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21000
21001         * Makefile.in:
21002         remove errant backslash
21003         [0222a8a650ff]
21004
21005 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21006
21007         * options.h, parse.yacc, pathnames.h.in:
21008         fix version string
21009         [fdee73255d64] [SUDO_1_5_6]
21010
21011         * BUGS, CHANGES, TODO:
21012         updtaed for 1.5.6
21013         [752443bf7f26]
21014
21015         * RUNSON:
21016         updated for 1.5.6
21017         [0f878123fe6a]
21018
21019 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21020
21021         * interfaces.c:
21022         kill unused localhost_mask var copy if name to ifr_tmp after we zero
21023         it
21024         [8e89c364cef2]
21025
21026 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21027
21028         * INSTALL:
21029         Better description of new vs. old sudoers modes fix some typos
21030         better description of /usr/ucb/cc gotchas on slowaris
21031         [c00b2a6fc1e8]
21032
21033         * Makefile.in:
21034         add sample.pam
21035         [ec7f6cc19b00]
21036
21037         * sudo.c:
21038         set NewArgv[0] to user_shell, not basename(user_shell)
21039         [1e907cbc9f7b]
21040
21041 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21042
21043         * README:
21044         mention TROUBLESHOOTING more fix some typos
21045         [2c2e6907d4a4]
21046
21047         * configure.in:
21048         move --enable/--disable to be after --with
21049         [9b30097f76c1]
21050
21051         * INSTALL:
21052         document --enable/--disable
21053         [c522362e38a8]
21054
21055         * INSTALL:
21056         document --with-pam
21057         [7e38932c78ac]
21058
21059 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21060
21061         * configure.in:
21062         Add message for pam users
21063         [d224f277e3cd]
21064
21065         * sample.pam:
21066         Initial revision
21067         [3a84d7045f54]
21068
21069         * config.h.in:
21070         fix HAVE_PAM
21071         [2f0f303ebd88]
21072
21073         * check.c, config.h.in, configure.in:
21074         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
21075         [ea3e0a72d707]
21076
21077 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21078
21079         * config.h.in:
21080         add HOST_IN_LOG and WRAP_LOG
21081         [822c36eeb6a8]
21082
21083         * logging.c:
21084         add WRAP_LOG and HOST_IN_LOG
21085         [3cf6052bd27e]
21086
21087         * configure.in:
21088         add --enable-log-host and --enable-log-wrap
21089         [c968cc12b353]
21090
21091         * aclocal.m4:
21092         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
21093         [915fef7e11a1]
21094
21095 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21096
21097         * compat.h:
21098         add howmany macro
21099         [9107a057a7c8]
21100
21101         * tgetpass.c:
21102         include sys/param.h to get howmany macro
21103         [7e908b5e1f32]
21104
21105 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21106
21107         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
21108         add RUNAS_DEFAULT
21109         [1e76398ea3fd]
21110
21111 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21112
21113         * fnmatch.c:
21114         bring in stdio.h for NULL
21115         [69c016610cbb]
21116
21117         * aclocal.m4:
21118         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
21119         [15ab2972f8d0]
21120
21121         * sudo.c:
21122         use HAVE_SET_AUTH_PARAMETERS
21123         [8abfdc8c80f7]
21124
21125         * config.h.in:
21126         add HAVE_SET_AUTH_PARAMETERS
21127         [673a5ebd5539]
21128
21129         * configure.in:
21130         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
21131         [a401f5a7469a]
21132
21133         * config.sub:
21134         add support for HI-UX/MPP SR220001 02-03 0 SR2201
21135         [cb657b7acaae]
21136
21137         * interfaces.c:
21138         initialize previfname
21139         [26a1902f56dc]
21140
21141         * interfaces.c:
21142         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
21143         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
21144         kludging it
21145         [fa5c890c313b]
21146
21147         * configure.in:
21148         typo
21149         [bff579fbe95c]
21150
21151         * Makefile.in:
21152         don't need special build line for sudo.tab.o
21153         [10c0a0a912e4]
21154
21155         * Makefile.in:
21156         don't clean sudo.tab.[ch]
21157         [c40d5968efbb]
21158
21159         * sudo.c:
21160         Sudo should prompt for a password before telling the user that a
21161         command could not be found.
21162         [d718c85a0047]
21163
21164         * BUGS:
21165         for 1.5.6
21166         [0cc1fe5b9129]
21167
21168         * INSTALL, README:
21169         no longer require yacc
21170         [d9096fc5b8b6]
21171
21172         * Makefile.in:
21173         typo
21174         [70feb1aefbd5]
21175
21176         * Makefile.in:
21177         y.tab -> sudo.tab include pre-yacc'd parse.yacc
21178         [cc802025fd44]
21179
21180         * parse.lex:
21181         include sudo.tab.h, not y.tab.h don't break out of command args if
21182         you get a '='
21183         [728ad26dbda5]
21184
21185         * insults.h:
21186         fix version ,
21187         [242bbce1b2d4]
21188
21189         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
21190         fix version
21191         [2bb9086fea1e]
21192
21193         * compat.h:
21194         fix version
21195         [7e634d498ce6]
21196
21197         * getcwd.c:
21198         getcwd(3) from OpenBSD for those without it.
21199         [6c68d0df8f6c]
21200
21201         * sudo.h:
21202         HAVE_GETWD -> HAVE_GETCWD
21203         [2ad1e64d60c0]
21204
21205         * configure.in:
21206         pretend sunos doesn't have getcwd(3) since it opens a pipe to
21207         getpwd!
21208         [677992ba5a6a]
21209
21210         * parse.c:
21211         use NAMLEN() macro
21212         [8f5685aa3165]
21213
21214         * fnmatch.c:
21215         remove duplicate include of string.h
21216         [6024f3051ac3]
21217
21218         * configure.in:
21219         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
21220         [3d82a9c22cc2]
21221
21222         * aclocal.m4:
21223         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
21224         [53fbc47282f9]
21225
21226         * config.h.in:
21227         add dev_t and ino_t
21228         [5929bb0c7e1a]
21229
21230 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21231
21232         * check.c:
21233         fix OTP_ONLY for opie
21234         [7edcfa78f2ec]
21235
21236 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21237
21238         * testsudoers.c, tgetpass.c:
21239         include stdlib.h for malloc proto
21240         [c9f4b99a2fe9]
21241
21242 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21243
21244         * Makefile.in:
21245         make update_version saner
21246         [d522f93ee04a]
21247
21248         * config.h.in:
21249         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
21250         [c9a2d21dc608]
21251
21252         * configure.in:
21253         check for waitpid and wait3 or no waitpid
21254         [1f18c3224184]
21255
21256         * logging.c:
21257         used waitpid or wait3 if we have 'em
21258         [391c3279ee65]
21259
21260 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21261
21262         * visudo.c:
21263         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
21264         [fbf53b18178f]
21265
21266 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21267
21268         * configure.in:
21269         don't need to explicately mention -lsocket -lnsl for sequent
21270         [1898dc055352]
21271
21272 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
21273
21274         * configure.in:
21275         dynix should not link with -linet
21276         [278a4b9cfe2a]
21277
21278 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21279
21280         * INSTALL:
21281         mention that HP-UX doesn't ship with yacc
21282         [bde5147198c0]
21283
21284 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21285
21286         * check.c:
21287         ignore kerberos if we can't get the local realm
21288         [1e311a091a27]
21289
21290 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21291
21292         * BUGS, INSTALL, README, configure.in:
21293         ++version
21294         [499ffc746018]
21295
21296         * version.h:
21297         ++
21298         [35ba1ee01bd3]
21299
21300         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
21301         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
21302         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
21303         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
21304         updated version
21305         [b4990a513f31]
21306
21307         * check.c, sudo.h:
21308         fix version
21309         [5710795834e8]
21310
21311         * getcwd.c:
21312         don't use popen/pclose. Do it inline.
21313         [29e57b0646a4]
21314
21315         * lsearch.c:
21316         add rcsid
21317         [b2b55c39858d]
21318
21319         * sudo.c:
21320         typo
21321         [d381ac39ed0f]
21322
21323         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
21324         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
21325         sudo.h:
21326         updated version
21327         [462d6e1a2d75]
21328
21329         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
21330         MAX* + 1 -> MAX*
21331         [2c2eeb78d34f]
21332
21333         * Makefile.in:
21334         getwd.c -> getcwd.c
21335         [7d718c32fc02]
21336
21337         * config.h.in:
21338         kill HAVE_GETWD
21339         [6ad3d702343f]
21340
21341         * configure.in:
21342         getcwd, not getwd
21343         [33e5b9841f58]
21344
21345         * getcwd.c:
21346         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
21347         purpose
21348         [24e58d340161]
21349
21350 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21351
21352         * OPTIONS, options.h:
21353         add STUB_LOAD_INTERFACES
21354         [d747cb23ca83]
21355
21356         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
21357         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21358         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21359         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
21360         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21361         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21362         updated version
21363         [0798229312cc]
21364
21365         * configure.in:
21366         support *-ccur-sysv4 and fix two typos
21367         [24a823ad7cc9]
21368
21369 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21370
21371         * configure.in:
21372         don't echo about with_logfile and with_timedir
21373         [31e4a1e2d9ad]
21374
21375         * INSTALL:
21376         document --with-logfile and --with-timedir
21377         [674f811a40e0]
21378
21379         * aclocal.m4:
21380         support --with-logfile and --with-timedir
21381         [2fc36b35db12]
21382
21383         * configure.in:
21384         Add --with-logfile and --with-timedir
21385         [09045bf07e29]
21386
21387         * sudo.c:
21388         change size computation of NewArgv for UNICOS
21389         [b50df07da3a1]
21390
21391 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21392
21393         * configure.in:
21394         treate -*-sysv4* like *-*-svr4
21395         [471b7ef4dbf2]
21396
21397 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21398
21399         * configure.in:
21400         fix spacing for --with-authenticate help
21401         [8321cb37c410]
21402
21403         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
21404         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21405         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21406         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
21407         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21408         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21409         updated version
21410         [dc1ab97312eb]
21411
21412         * parse.yacc:
21413         fix off by one error in push macro
21414         [bece59c8c3a9]
21415
21416 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21417
21418         * configure.in:
21419         removed bogus alloca hack
21420         [a68dd720462d]
21421
21422         * check.c:
21423         added AIX 4.x authenticate() support
21424         [12985eb448a0]
21425
21426         * parse.yacc:
21427         include alloca.h if using bison and not gcc and it exists. fixes an
21428         alloca problem on hpux 10.x
21429         [e3b5c4f26072]
21430
21431         * INSTALL:
21432         mention --with-authenticate
21433         [78a1c96820e7]
21434
21435         * configure.in:
21436         added AIX authenticate() support
21437         [c983193ec252]
21438
21439         * config.h.in:
21440         add HAVE_AUTHENTICATE
21441         [7b0e5f5db5d9]
21442
21443         * interfaces.c:
21444         dynamically size ifconf buffer
21445         [10afb0e9b2f9]
21446
21447         * configure.in:
21448         quote '[' and ']'
21449         [8fc38a4defad]
21450
21451         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
21452         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21453         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21454         logging.c, options.h, parse.c, parse.lex, parse.yacc,
21455         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21456         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21457         updated version
21458         [5f66de71ec61]
21459
21460         * visudo.pod:
21461         add ERRORS section
21462         [3df3edb73cf6]
21463
21464 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21465
21466         * TROUBLESHOOTING:
21467         add busy stmp file explanation
21468         [6c555d469b6f]
21469
21470 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21471
21472         * configure.in:
21473         the name of the cached var that signals whether or not you are cross
21474         compiling changed. It is now ac_cv_prog_cc_cross
21475         [123911c0658c]
21476
21477 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21478
21479         * INSTALL:
21480         mention glibc 2.07 is fixed wrt lsearch()\.
21481         [ded758524582]
21482
21483 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21484
21485         * sample.sudoers, sudoers.pod:
21486         better example of su but not root su
21487         [b3199610be21]
21488
21489 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21490
21491         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
21492         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
21493         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
21494         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
21495         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21496         testsudoers.c, tgetpass.c, utime.c, visudo.c:
21497         updated version
21498         [46922b84e86b]
21499
21500         * Makefile.in:
21501         correct regexp for updating version
21502         [8032728b2a8a]
21503
21504         * tgetpass.c:
21505         remove bogus flush of stderr spew prompt before turning off echo.
21506         Seems to fix a weird problem where if sudo complained about a bogus
21507         stamp file the user would sometimes not have a chance to enter a
21508         password
21509         [7aa1493cc141]
21510
21511         * check.c:
21512         fix bogus flush of stderr
21513         [6d047871c5e8]
21514
21515         * sudo.c:
21516         close fd's <=2 not <=3 and move that chunk of code up
21517         [553e4faac195]
21518
21519         * configure.in:
21520         support hpux1[0-9] not just hpux10
21521         [5a34a000ff8a]
21522
21523 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21524
21525         * parse.c:
21526         set sudoers_fp to nil after closing
21527         [221a8b4bbf34]
21528
21529 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21530
21531         * config.guess, config.sub:
21532         updated from autoconf 2.12
21533         [6fc86a0fc61b]
21534
21535         * configure.in:
21536         add *-*-svr4 rule
21537         [38f0427f7c9d]
21538
21539 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21540
21541         * tgetpass.c:
21542         fix select usage for high fd's (dynamically allocate readfds)
21543         [c2d1f76e0321]
21544
21545         * check.c:
21546         kill extra whitespace
21547         [d784b6c9c514]
21548
21549         * sudo.c:
21550         do an initgroups() before running a command, unless the target user
21551         is root.
21552         [4ca561287480]
21553
21554 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21555
21556         * TROUBLESHOOTING:
21557         tell people to use tabs, not spaces, in syslog.conf
21558         [8ae90a205134]
21559
21560 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21561
21562         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
21563         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
21564         updated version
21565         [4d855ff5de26]
21566
21567         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
21568         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
21569         updated version
21570         [8e007e178b33]
21571
21572         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
21573         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
21574         updated version
21575         [9ddea5c8814d]
21576
21577         * Makefile.in:
21578         more tweaks to update_version
21579         [047698752855]
21580
21581         * Makefile.in:
21582         fixed up update_version rule
21583         [47b6fa34b77f]
21584
21585         * configure.in:
21586         ++version
21587         [c1ca664e30b7]
21588
21589         * Makefile.in:
21590         removed supe of check.c
21591         [8f340a05296a]
21592
21593         * INSTALL:
21594         ++version I missed
21595         [a298e6c17491]
21596
21597         * RUNSON:
21598         updated
21599         [a14f6057bc15]
21600
21601         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
21602         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
21603         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
21604         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
21605         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
21606         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21607         visudo.c:
21608         updated version
21609         [02231b1a3ab3]
21610
21611         * CHANGES:
21612         updated for 1.5.5
21613         [634e5fcaf40b]
21614
21615         * Makefile.in:
21616         add rules to update version stuff in files so I don't need to do it
21617         by hand
21618         [3620ad60485a]
21619
21620         * sudo.h:
21621         sudoers_fp is now extern
21622         [88c6e9b9ea84]
21623
21624         * sudo.c:
21625         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
21626         don't have to open it again in the parse. This may help with weird
21627         solaris problems where EAGAIN sometime occurrs.
21628         [d3c26451ed1d]
21629
21630         * parse.c:
21631         sudoers file open is now done only in check_sudoers() so we just do
21632         a rewind() instead of an open. May help people on solaris who were
21633         getting EAGAIN.
21634         [c8b8c7722fa5]
21635
21636 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21637
21638         * INSTALL:
21639         mention that newer glibc is fixed
21640         [20f06f5d3ef3]
21641
21642 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21643
21644         * sudo.c:
21645         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
21646         _RLD* instead of _RLD_*
21647         [1e22c588d602]
21648
21649         * parse.c:
21650         typo
21651         [d0b7cb85f08a]
21652
21653         * parse.c:
21654         fix that bug for real
21655         [5a6eeca6d04b]
21656
21657         * INSTALL:
21658         document Linux's libc6 brokenness.
21659         [0246c1aa64ee]
21660
21661         * parse.yacc:
21662         -Wall
21663         [d0e452fb1e2d]
21664
21665         * RUNSON:
21666         updated
21667         [4949a1bbd0a9] [SUDO_1_5_4]
21668
21669         * TROUBLESHOOTING:
21670         remind people to HUP syslogd
21671         [590962faa4f0]
21672
21673         * Makefile.in:
21674         add -O flag to tar
21675         [622d02de339d]
21676
21677         * RUNSON:
21678         updated
21679         [a72930d6e615]
21680
21681         * TODO:
21682         updated
21683         [4a51bd458390]
21684
21685         * sudo.pod:
21686         remove author's email addr. people should mail sudo-bugs
21687         [9b6bbdb3a6d9]
21688
21689         * INSTALL:
21690         fix version
21691         [246274c6c8af]
21692
21693         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
21694         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
21695         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
21696         logging.c, options.h, parse.c, parse.lex, parse.yacc,
21697         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
21698         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
21699         ++version
21700         [f532ff4ee766]
21701
21702         * RUNSON:
21703         updated
21704         [62d5c71358b5]
21705
21706         * INSTALL, Makefile.in:
21707         ++version
21708         [1a7c7628edfc]
21709
21710         * CHANGES:
21711         updated fort 1.5.4
21712         [7e4873508c99]
21713
21714         * check.c:
21715         exit(1) if user enters no passwd
21716         [f382c0e35e4e]
21717
21718         * BUGS:
21719         ++version
21720         [fab6a867ab67]
21721
21722         * parse.c:
21723         commands can start with ./* not just /* -- fixes a serious security
21724         hole.
21725         [244d2fe35ee3]
21726
21727 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21728
21729         * sudo.c:
21730         Don't set the tty variable to NULL when we lack a tty, leave it as
21731         "unknown".
21732         [193b26daba03]
21733
21734 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21735
21736         * sample.sudoers:
21737         fix usage of (username) in conjunction with , and !
21738         [7ae68607f68f]
21739
21740         * visudo.c:
21741         catch the case where the user is not in the passwd file
21742         [31650258deb0]
21743
21744         * tgetpass.c:
21745         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
21746         select(2)
21747         [60ab2d9a9ee8]
21748
21749         * sudo.c:
21750         define tty global to an initial value to avoid dumping core in
21751         logging functions when passwd file is unavailable.
21752         [77056c7bc908]
21753
21754         * sudo.c:
21755         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
21756         passwd entry
21757         [1fdb8e579a5a]
21758
21759         * sudo.pod:
21760         talk about problem of ALL
21761         [1cd1905c9f6f]
21762
21763 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21764
21765         * README:
21766         new web location
21767         [d24dc26f6da5]
21768
21769         * INSTALL:
21770         fdesc bug is fixed in Open/Net BSD
21771         [7d4d81b08ac3]
21772
21773         * HISTORY:
21774         updates from Nieusma
21775         [3a43769a1b78]
21776
21777 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21778
21779         * dce_pwent.c:
21780         move compat.h after the system includes
21781         [5ea43a5968ac]
21782
21783 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21784
21785         * logging.c:
21786         save errno from being clobbered by wait(). From Theo
21787         [f2d1c48cd592]
21788
21789 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
21790
21791         * compat.h:
21792         fix an occurence of setresuid -> setreuid (typo)
21793         [394de35c9b1c]
21794
21795 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21796
21797         * install-sh:
21798         check for path to strip
21799         [2b7ef824bd55]
21800
21801 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21802
21803         * logging.c:
21804         deal with maxfilelen < 0 case
21805         [f0af095178d7]
21806
21807         * OPTIONS:
21808         fixed descriptin
21809         [629f60bd4b5f]
21810
21811 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21812
21813         * sudo.c:
21814         correct error message if mode/owner wrong and not statable by owner
21815         but is statable by root.
21816         [cb631ce2e85e]
21817
21818 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21819
21820         * config.guess, config.sub:
21821         autoconf 2.11
21822         [f3cbe59e0756]
21823
21824 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21825
21826         * CHANGES, RUNSON, TODO:
21827         sudo 1.5.3.
21828         [2be3229b8626]
21829
21830 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21831
21832         * parse.yacc, sudo.h:
21833         command_alias -> generic_alias
21834         [c404ca8c510d] [SUDO_1_5_3]
21835
21836         * sample.sudoers:
21837         added Runas_Alias example and fixed syntax errors
21838         [c304053f4a8a]
21839
21840         * OPTIONS, options.h:
21841         updated MAILSUBJECT
21842         [18d1573fcd2a]
21843
21844         * logging.c:
21845         added %h expansion
21846         [a4bff9b284fd]
21847
21848         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
21849         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
21850         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
21851         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
21852         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
21853         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
21854         visudo.c:
21855         ++version
21856         [211ff20f956f]
21857
21858         * BUGS, emul/utime.h:
21859         ++version
21860         [cde5376579e3]
21861
21862         * sudoers.pod:
21863         document Runas_Alias
21864         [b1a58f28fb2c]
21865
21866         * visudo.pod:
21867         q (uid) -> Q
21868         [d256649a0e6b]
21869
21870         * visudo.c:
21871         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
21872         whatnow
21873         [1cb183d15626]
21874
21875         * parse.yacc:
21876         add size params to sprintf
21877         [9228f698921f]
21878
21879         * parse.lex:
21880         allow trailing space after '\\' but before '\n'
21881         [f51dbbf69fdf]
21882
21883         * find_path.c:
21884         off by one error in path size check
21885         [a6d75ccd7632]
21886
21887         * check.c:
21888         sprintf paranoia
21889         [3ffb12d198dd]
21890
21891 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21892
21893         * parse.yacc:
21894         fixed more_aliases
21895         [aab12f2a50af]
21896
21897         * visudo.c:
21898         now warns if killed by signal ./
21899         [310c186a0fd7]
21900
21901 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21902
21903         * parse.yacc:
21904         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
21905         is gross)
21906         [45590b83120f]
21907
21908         * sudo.c:
21909         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
21910         [d53e01c14c58]
21911
21912         * parse.yacc:
21913         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
21914         [7a4a040aae2d]
21915
21916         * parse.lex:
21917         Add Runas_Alias and simplify a rule.
21918         [6f794a769a37]
21919
21920         * parse.yacc:
21921         always store User_Alias's since they can be used inside of a runas
21922         list. Sigh. Really need a Runas_Alias instead.
21923         [3bab058a873e]
21924
21925 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21926
21927         * visudo.c:
21928         deal with case where there is no sudoers file
21929         [fa38b3bb244d]
21930
21931 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21932
21933         * TROUBLESHOOTING:
21934         added one
21935         [e61346d06725]
21936
21937 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21938
21939         * HISTORY, testsudoers.c:
21940         developement -> development
21941         [4df55e293941]
21942
21943         * INSTALL:
21944         added a note
21945         [3845fb83dbc0]
21946
21947         * RUNSON:
21948         for 1.5.2
21949         [5489b7298942]
21950
21951         * CHANGES:
21952         updated
21953         [0741834929e6]
21954
21955 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21956
21957         * PORTING:
21958         removed seteuid() notes
21959         [1010a60f281d] [SUDO_1_5_2]
21960
21961 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21962
21963         * compat.h:
21964         better seteuid() emulatino
21965         [e807623b662c]
21966
21967         * configure.in:
21968         added check for seteuid
21969         [8cf9fabc6f4f]
21970
21971         * config.h.in:
21972         added HAVE_SETEUID
21973         [596db46aa828]
21974
21975 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21976
21977         * configure.in:
21978         first stab at sequent support
21979         [b85a7bfcac76]
21980
21981         * config.h.in:
21982         added HAVE_SYS_SELECT_H
21983         [93ecdd042463]
21984
21985         * compat.h:
21986         sequent -> _SEQUENT_
21987         [63a38b6da98c]
21988
21989         * compat.h:
21990         added seteuid() macro for DYNIX
21991         [695bd63c5ea6]
21992
21993         * tgetpass.c:
21994         _AIX -> HAVE_SYS_SELECT_H
21995         [b31221211bc2]
21996
21997 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21998
21999         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
22000         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
22001         testsudoers.c, tgetpass.c, utime.c, visudo.c:
22002         ++version
22003         [8052992fd453]
22004
22005         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
22006         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
22007         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
22008         pathnames.h.in, version.h:
22009         ++version
22010         [f7ad15e1598a]
22011
22012         * sudo.pod:
22013         added -H and SUDO_PS1
22014         [bb965241e30c]
22015
22016         * configure.in:
22017         use SUDO_FUNC_FNMATCH
22018         [6a8350d85fb2]
22019
22020         * aclocal.m4:
22021         added SUDO_FUNC_FNMATCH
22022         [45b32c91c4ba]
22023
22024         * sudo.c:
22025         added -H flag
22026         [11ebc6872fd6]
22027
22028         * sudo.h:
22029         added MODE_RESET_HOME /
22030         [67a7f8bcbbd6]
22031
22032 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22033
22034         * INSTALL:
22035         mention OPIE
22036         [5723515d5bbd]
22037
22038         * options.h:
22039         SKEY -> OTP
22040         [c1d268130bc4]
22041
22042         * configure.in:
22043         added opie support
22044         [123872b41b20]
22045
22046         * compat.h, config.h.in:
22047         added HAVE_OPIE
22048         [528c71afc1e5]
22049
22050         * check.c:
22051         added HAVE_OPIE and changed to *_OTP_*
22052         [4c62f5db872a]
22053
22054         * OPTIONS:
22055         SKEY -> OTP
22056         [bd858e5e9652]
22057
22058 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22059
22060         * check.c:
22061         moved fclose() in skey stuff.
22062         [11f7dc8431a6]
22063
22064 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
22065
22066         * putenv.c:
22067         index -> strchr remove unnecesary stuff
22068         [af2d05238062]
22069
22070         * check.c:
22071         now call skeychallenge() to get challenge instead of making one up
22072         ourselves. this way, we get extra goodies in the prompt.
22073         [49b770d98d3a]
22074
22075 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22076
22077         * CHANGES:
22078         added one
22079         [3f5149357e2a] [SUDO_1_5_1]
22080
22081         * parse.lex:
22082         allow logins to start with a number (YUCK!)
22083         [7ed7ef324741]
22084
22085 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22086
22087         * TROUBLESHOOTING:
22088         added soalris 2.5 vs 2.4 note
22089         [16160a251aae]
22090
22091         * configure.in:
22092         DUNIX doesn't need -lnsl
22093         [be924cc322c3]
22094
22095         * CHANGES:
22096         *** empty log message ***
22097         [1b2937521981]
22098
22099         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
22100         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
22101         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
22102         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
22103         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
22104         utime.c, version.h, visudo.c:
22105         courtesan
22106         [5f203589bbfe]
22107
22108         * PORTING, README, RUNSON:
22109         courtesan
22110         [d72517f4937e]
22111
22112         * INSTALL, Makefile.in, TROUBLESHOOTING:
22113         courtesan
22114         [5c007e3c7a71]
22115
22116         * visudo.pod:
22117         *** empty log message ***
22118         [37ebe85bd4e1]
22119
22120         * sudo.pod, visudo.pod:
22121         courtesan
22122         [37f02e2130ea]
22123
22124 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22125
22126         * HISTORY:
22127         added courtesan ./
22128         [b01435226276]
22129
22130 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22131
22132         * sudo.c:
22133         added $SUDO_PROMPT support
22134         [cb1fa72c093d]
22135
22136 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22137
22138         * check.c:
22139         print long skey challemged to stderr, not stdout
22140         [750fc775b3b2]
22141
22142 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22143
22144         * CHANGES:
22145         updated for 1.5.1
22146         [9b615f393057]
22147
22148         * emul/utime.h:
22149         ++version
22150         [a94de18deafb]
22151
22152 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22153
22154         * RUNSON:
22155         updated for 1.5.1
22156         [4092f20ab634]
22157
22158 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22159
22160         * check.c:
22161         use shost, not host for tgetpass
22162         [6061c49ff9be]
22163
22164         * sudo.pod:
22165         documented %u and %h
22166         [6d2922d29897]
22167
22168         * OPTIONS:
22169         documented %u and %h
22170         [1a71da13a864]
22171
22172         * configure.in:
22173         fixed typo
22174         [1230dec2b062]
22175
22176         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
22177         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22178         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
22179         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
22180         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
22181         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
22182         ++version
22183         [65ce8eabf77a]
22184
22185         * BUGS:
22186         ++version
22187         [afecab53aab7]
22188
22189 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22190
22191         * Makefile.in, configure.in, version.h:
22192         ++version
22193         [fb3ff940d672]
22194
22195         * sudo.h:
22196         new tgetpass() params
22197         [9eccc5b0f8ae]
22198
22199         * check.c:
22200         pass use and host to tgetpass
22201         [c56d9d13c401]
22202
22203         * tgetpass.c:
22204         added %u and %h escapes
22205         [04ae775d3e5d]
22206
22207         * OPTIONS, check.c, options.h:
22208         added NO_MESSAGE
22209         [3927dad19057]
22210
22211         * configure.in:
22212         added cray (unicos) support
22213         [1122210c5fb1]
22214
22215 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22216
22217         * OPTIONS, options.h, sudo.c:
22218         added SHELL_SETS_HOME
22219         [0b26909b0929]
22220
22221 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22222
22223         * INSTALL:
22224         added note about "make install"
22225         [7e56ea76d4b4]
22226
22227         * parse.yacc:
22228         changed length/size params from int to size_t
22229         [5654e5ceb1b3]
22230
22231         * OPTIONS:
22232         now get CSOPS insults as well by default
22233         [297323d0179a]
22234
22235         * insults.h:
22236         use csops insults too by default
22237         [07fafc136169]
22238
22239         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
22240         version = 1.5
22241         [4b8772b11e3b]
22242
22243         * sudo.c:
22244         added runas_homedir
22245         [b0e0d4417a15]
22246
22247         * TODO:
22248         updated for 1.5
22249         [66259df825d5]
22250
22251         * RUNSON:
22252         updated for 1.5
22253         [e08bc9ebfe95]
22254
22255         * CHANGES:
22256         1.5 release
22257         [8c16942fea41]
22258
22259         * INSTALL:
22260         added "upgrading" notes
22261         [210d968964ff]
22262
22263 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22264
22265         * visudo.c:
22266         now do chmod and chown after edit of temp file and before rename
22267         [de174e34faa7] [SUDO_1_5_0]
22268
22269 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22270
22271         * Makefile.in:
22272         ++version added INSTALL.configure
22273         [c9e9214f52ae]
22274
22275         * configure.in, version.h:
22276         ++version
22277         [5985abed3eb2]
22278
22279         * TROUBLESHOOTING:
22280         *** empty log message ***
22281         [d65c540ec52e]
22282
22283         * parse.yacc:
22284         added missing cast
22285         [e7247319a7d5]
22286
22287         * sudo.c:
22288         sets $HOME to pw_dir of runas user
22289         [d3f7f4d05752]
22290
22291         * sudo.pod:
22292         document $HOME change
22293         [854454d458c4]
22294
22295 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22296
22297         * sudo.pod:
22298         fixed up some wording
22299         [b0c8582f2c97]
22300
22301         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
22302         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
22303         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
22304         visudo.c:
22305         ++version
22306         [748be723fd8b]
22307
22308         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
22309         insults.h, options.h, pathnames.h.in, sudo.h:
22310         ++version
22311         [acdf8b1b2a1b]
22312
22313         * emul/utime.h:
22314         ++version
22315         [b3f35298ab8d]
22316
22317         * sudo.h:
22318         name nad type changes
22319         [db24ab3da141]
22320
22321         * testsudoers.c:
22322         now works with new sudo
22323         [379346c42cc2]
22324
22325         * parse.yacc:
22326         fixed some XXX
22327         [f5fe4c990052]
22328
22329         * parse.yacc:
22330         some variable name changes + comment headers for functions.
22331         [3dc3bd9aa73d]
22332
22333         * tgetpass.c:
22334         added extra paren's to make compilers happy
22335         [9e4968a34d56]
22336
22337         * sudo.c:
22338         *** empty log message ***
22339         [70c924c1ed69]
22340
22341         * parse.c:
22342         now uses init_parser() if not in sudoers and tries "list" or
22343         "validate" scold but don't be nasty.
22344         [c0d8fb3f8c9e]
22345
22346         * TROUBLESHOOTING:
22347         now can use upper case login names
22348         [c772fffcefe5]
22349
22350         * visudo.c:
22351         now uses init_parser()
22352         [b9efae7243fd]
22353
22354         * INSTALL, README:
22355         updated
22356         [27dc8283fdc8]
22357
22358         * PORTING:
22359         added info about PASSWORD_TIMEOUT
22360         [980e15d892f8]
22361
22362         * INSTALL.configure:
22363         Initial revision
22364         [8292e89a08d3]
22365
22366         * BUGS:
22367         fixed a bug ,
22368         [c6e46f5624f9]
22369
22370         * parse.yacc:
22371         now dynamically allocates memory for the stacks -- no more
22372         overflows!
22373         [8615c35b6ad3]
22374
22375         * sudo.pod:
22376         -l now explands command aliases
22377         [39f45605935d]
22378
22379         * parse.yacc:
22380         hacks to expand command aliases for `sudo -l'
22381         [e4eb752608f9]
22382
22383         * sudo.c:
22384         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
22385         [01327ca5084b]
22386
22387         * sudo.h:
22388         added struct command_alias
22389         [dd2f32764082]
22390
22391         * sudo.pod:
22392         fixed a bug
22393         [e708ff08d2eb]
22394
22395         * lsearch.c:
22396         in compar() key should be first arg
22397         [fc14c3fa62ee]
22398
22399 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22400
22401         * BUGS:
22402         fixed some bugs
22403         [639dfe425bd5]
22404
22405         * parse.yacc:
22406         can now deal with upcase HOST and USER names
22407         [c6aa7bcfb00d]
22408
22409         * sudo.c:
22410         don't yell too loudly at non-sudoers if they do "sudo -l"
22411         [4ef146128d89]
22412
22413         * sudo.pod:
22414         fixed thinko
22415         [830f2f0f22e7]
22416
22417         * parse.c:
22418         fix comment
22419         [d20ce9e17ddc]
22420
22421 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22422
22423         * parse.c, parse.yacc:
22424         added support for new `sudo -l' stuff
22425         [7dceaef3c733]
22426
22427         * sudo.c:
22428         now uses list_matches()
22429         [293364821b61]
22430
22431         * sudo.h:
22432         added struct sudo_match
22433         [b2684179d179]
22434
22435         * configure.in:
22436         now more -lgnumalloc
22437         [4f8ae42617d8]
22438
22439 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22440
22441         * install-sh:
22442         added more paths for chown and whoami
22443         [6e685a19426c]
22444
22445 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22446
22447         * check.c:
22448         typo
22449         [3adfa01c04bc]
22450
22451 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
22452
22453         * aclocal.m4:
22454         fixed DUNIX check for shadow pw
22455         [c25324bcd27b]
22456
22457         * tgetpass.c:
22458         now only turn off echo if it is already on. this fixes a race when
22459         you use sudo in a pipelin
22460         [28388c2de21c]
22461
22462         * INSTALL:
22463         updated
22464         [b45ac9366b7e]
22465
22466         * configure.in:
22467         changed "test -z $foo && do_this" to if; then construct
22468         [2183c4426bca]
22469
22470 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
22471
22472         * configure.in:
22473         added missing defines of SHADOW_TYPE
22474         [be89ea68a7f3]
22475
22476 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22477
22478         * check.c:
22479         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
22480         only in dunix 4.x
22481         [1e7c1c677263]
22482
22483         * getspwuid.c:
22484         added AUTH_CRYPT_C1CRYPT support
22485         [88d6b0058b20]
22486
22487         * parse.c:
22488         no longer return VALIDATE_NOT_OK if there was a runas that didn't
22489         match. Now we can have runas stuff on more than one line.
22490         [52b68920d7b7]
22491
22492         * getspwuid.c, sudo.c, tgetpass.c:
22493         use SHADOW_TYPE instead of HAVE_C2_SECURITY
22494         [cf401dfcbc06]
22495
22496         * configure.in:
22497         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
22498         something
22499         [c7a233c4dd93]
22500
22501         * config.h.in:
22502         removed HAVE_C2_SECURITY added SPW_BSD
22503         [8314405e9754]
22504
22505         * compat.h:
22506         use SHADOW_TYPE instead of HAVE_C2_SECURITY
22507         [6f94870df17f]
22508
22509         * check.c:
22510         SHADOW_TYPE is always defined so just against its value
22511         [72c69a55d02f]
22512
22513         * aclocal.m4:
22514         added SUDO_CHECK_SHADOW_DUNIX
22515         [ef025ae9d496]
22516
22517 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22518
22519         * sudoers.pod:
22520         * -> ?* in one example added another instance of (runas) and one of
22521         NOPASSWD:
22522         [d74fe1dcbe7d]
22523
22524 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22525
22526         * configure.in:
22527         added back check for config.cache from other host type
22528         [0ba87871f585]
22529
22530         * parse.lex:
22531         removed an instance of \"
22532         [1e008d3709f6]
22533
22534         * sample.sudoers:
22535         added an example
22536         [dbfcf68ee330]
22537
22538         * sudoers.pod:
22539         updated wrt new wildcard matching
22540         [193fa44a475b]
22541
22542         * configure.in:
22543         new check for shadow passwords if we don't know anything
22544         [67465df7dc9a]
22545
22546         * aclocal.m4:
22547         new SUDO_CHECK_SHADOW_GENERIC
22548         [3563b16a41b8]
22549
22550         * configure.in:
22551         added back check for -lsocket (oops)
22552         [a80882ee1cb6]
22553
22554         * configure.in:
22555         better (working) check for shadow passwd type if we know to use C2.
22556         [3cdd2a59a641]
22557
22558         * configure.in:
22559         now uses AC_CANONICAL_HOST to figure out os type
22560         [80db7fe6e704]
22561
22562         * Makefile.in:
22563         added config.{guess,sub}
22564         [c6be7e3ca384]
22565
22566         * aclocal.m4:
22567         removed unused stuff to figure out os type
22568         [c9a0f3b57123]
22569
22570         * config.sub:
22571         added openbsd
22572         [bfc6bfec3668]
22573
22574         * config.sub:
22575         Initial revision
22576         [e6e06ce0d17d]
22577
22578         * config.guess:
22579         Initial revision
22580         [99dd06f79199]
22581
22582         * testsudoers.c:
22583         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
22584         pathname. need to check against sudoers_args even if user_args is
22585         nil
22586         [66e6cf77f5d6]
22587
22588         * parse.c:
22589         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
22590         pathname need to check against sudoers_args even if user_args is nil
22591         [74374df17311]
22592
22593 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22594
22595         * check.c:
22596         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
22597         [cbb00261c415]
22598
22599         * testsudoers.c:
22600         now takes command line args and uses cmnd_args
22601         [f0c2fd35a527]
22602
22603         * parse.lex:
22604         fill_args was adding an extra leading space
22605         [692fc999b2e8]
22606
22607 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22608
22609         * visudo.c:
22610         fixed dummy command_matches()
22611         [93d9543db6e2]
22612
22613         * parse.yacc:
22614         fixed prototype
22615         [7b0addfbd429]
22616
22617         * sudo.h:
22618         added cmnd_args
22619         [8f47c4ae65ef]
22620
22621         * parse.yacc:
22622         now uses flat args string
22623         [016e65877da3]
22624
22625         * parse.c, parse.lex:
22626         now uses flat arg string
22627         [5b5f2e3f4c09]
22628
22629         * visudo.c:
22630         added cmnd_args def
22631         [876867134775]
22632
22633         * sudo.c:
22634         now sets cmnd_args global
22635         [e6fee70cb59b]
22636
22637         * logging.c:
22638         cmnd_args is now exported from sudo.[ch]
22639         [7a9cd36e356f]
22640
22641 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22642
22643         * parse.yacc:
22644         can't rely on cmnd_matches as much as I thought -- added some $$
22645         stuff back in to prevent namespace pollution problems.
22646         [3c45fedb5af3]
22647
22648         * parse.yacc:
22649         Simplified parse rules wrt runas and NOPASSWD (more consistent).
22650         [e6d838c8a4c7]
22651
22652 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22653
22654         * parse.lex:
22655         NOPASSWD may now have blanks before the ':' '(' only starts a
22656         'runas' if in the initial state to avoid collision with command args
22657         [c5c01172f499]
22658
22659         * configure.in:
22660         added checks for specific shadow passwd schemes
22661         [b7e3d1f7b84f]
22662
22663         * aclocal.m4:
22664         added routines to check for specific shadow passwd types
22665         [e5e1d19960a6]
22666
22667 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22668
22669         * configure.in:
22670         added support for ncr boxen
22671         [bea9dc5aae7f]
22672
22673         * aclocal.m4:
22674         added support for detecting ncr boxen
22675         [8653a158a924]
22676
22677 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22678
22679         * configure.in:
22680         added sinix support
22681         [5de2b2173ee1]
22682
22683 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22684
22685         * TROUBLESHOOTING:
22686         added info about "config.cache from other other" error.
22687         [845b10198e0b]
22688
22689         * aclocal.m4:
22690         now makes sure you don't have a config.cache file from another OS
22691         [4fe32571c021]
22692
22693         * configure.in:
22694         now sets $LIBS when needed to configure links with libs when doing
22695         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
22696         bigcrypt(3) if SPW_SECUREWARE
22697         [2df6b8ca538f]
22698
22699         * getspwuid.c:
22700         fixed typo
22701         [fe1cb1d792d6]
22702
22703         * tgetpass.c:
22704         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
22705         [f71138372c07]
22706
22707         * getspwuid.c:
22708         no more SPW_HPUX10
22709         [cfdeb18bc16b]
22710
22711         * config.h.in:
22712         no more SPW_HPUX10 added HAVE_BIGCRYPT
22713         [00d296479a61]
22714
22715         * compat.h:
22716         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
22717         [6c6d9e680417]
22718
22719         * check.c:
22720         SPW_SECUREWARE now uses bigcrypt
22721         [be71fc66690f]
22722
22723 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22724
22725         * sample.sudoers:
22726         fixed 2 syntax errors
22727         [45eee19ef4ac]
22728
22729         * sudoers:
22730         root may now run ALL as ALL
22731         [1b54c6b9b212]
22732
22733 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22734
22735         * interfaces.c:
22736         fixed a typo/thinko that broke BSD's with sa_len
22737         [603438360126]
22738
22739 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22740
22741         * check.c, configure.in:
22742         updated AFS support
22743         [e572eb8d177a]
22744
22745         * TROUBLESHOOTING:
22746         added entry about /usr/ucb/cc
22747         [025b353aa9d3]
22748
22749         * INSTALL:
22750         prep no longer holds gcc binaries
22751         [8b0942958049]
22752
22753         * INSTALL:
22754         updated AFS note
22755         [7af6efd5abe4]
22756
22757         * Makefile.in:
22758         added @AFS_LIBS@
22759         [97b6fe6ad7d6]
22760
22761         * compat.h:
22762         AFS allows long passwords
22763         [5fb17122c302]
22764
22765         * testsudoers.c:
22766         fixed -u user support
22767         [b1a0c1648639]
22768
22769         * parse.c:
22770         sudo -v now groks VALIDATE_OK_NOPASS
22771         [74fc03fffe7e]
22772
22773         * parse.yacc:
22774         fixed no_passwd vs. runas_matched
22775         [549a9b791a6a]
22776
22777         * TROUBLESHOOTING:
22778         took out stuff about NFS-mounting since it is no longer an issue
22779         [d95ab7fbbc61]
22780
22781         * INSTALL:
22782         added --with-libraries > --with-libpath --with-incpath
22783         [d5d15a7a0f4c]
22784
22785         * parse.yacc:
22786         was setting runas_matches to -1 in wrong place
22787         [db2b1deb8d33]
22788
22789         * check.c:
22790         removed usersec.h which is not present in new AFS versions
22791         [618b016dd17f]
22792
22793         * tgetpass.c:
22794         now deals with timeout <= 0
22795         [ba53a1257255]
22796
22797         * OPTIONS:
22798         updated
22799         [75093bd8fdca]
22800
22801         * configure.in:
22802         BSD/OS >= 2.0 now uses shlicc instead of just gcc
22803         [ff6dbf7825c2]
22804
22805         * sudo.c:
22806         fixed backwards compatibility with sudo 1.4 sudoers mode for root
22807         readable/writable filesystems
22808         [2694ed627221]
22809
22810         * Makefile.in:
22811         now gives INSTALL -c flag
22812         [63db055a2fd1]
22813
22814         * parse.yacc:
22815         slightly simpler initialization of no_passwd and runas_matches
22816         [463a1b5fa323]
22817
22818         * testsudoers.c:
22819         added -u username support
22820         [38b072fcd6b3]
22821
22822         * configure.in:
22823         improved --with-libraries support
22824         [047dbc5f0af2]
22825
22826 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22827
22828         * configure.in:
22829         added --with-incpath, --with-libpath, --with-libraries
22830         [20f20d6c718c]
22831
22832         * parse.yacc:
22833         now initializes some fields that weren't getting set to -1 pretty
22834         gross -- need a rewrite.
22835         [021c160390c6]
22836
22837 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22838
22839         * alloca.c:
22840         removed emacs'isms
22841         [9d4ec2efe057]
22842
22843         * configure.in:
22844         no longer add -lPW to *_LIBS since we include alloca.c
22845         [a626d1bbea80]
22846
22847         * config.h.in:
22848         added HAVE_ALLOCA_H
22849         [15491e2a6cff]
22850
22851         * Makefile.in:
22852         added alloca.c
22853         [0400f25e1fe4]
22854
22855         * alloca.c:
22856         Initial revision
22857         [06d033aa4882]
22858
22859         * configure.in:
22860         ++version
22861         [f52c0fb98f90]
22862
22863 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22864
22865         * sudo.c:
22866         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
22867         not always set to a valid uid.
22868         [c2669f77704d]
22869
22870         * OPTIONS:
22871         fixed entry for SUDO_MODE
22872         [d7272f6035b8]
22873
22874         * sudo.c:
22875         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
22876         being set to -2. Now beat NFS to the punch and set uid to "nobody"
22877         ourselves, preserving group 0 to read sudoers.
22878         [b1fbc5dd1e34]
22879
22880         * parse.c:
22881         moved set_perms(PERM_ROOT) to be before yyparse()
22882         [7619d8080735]
22883
22884         * logging.c:
22885         fixed a typo
22886         [318acc48cde0]
22887
22888         * configure.in:
22889         no longer need AC_PROG_INSTALL
22890         [de01b1336dc8]
22891
22892         * Makefile.in:
22893         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
22894         [ea2351986406]
22895
22896         * INSTALL:
22897         make clean -> make distclean
22898         [704a98e8ba10]
22899
22900 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22901
22902         * parse.yacc:
22903         removed some unnecsary if's
22904         [f00db6508132]
22905
22906         * Makefile.in, version.h:
22907         ++version
22908         [bdb6740b24c8]
22909
22910         * parse.c, testsudoers.c:
22911         now includes netgroup.h
22912         [93f5a06352bc]
22913
22914         * interfaces.c:
22915         removed cats of ioctl to int since they didn't shut up -Wall
22916         [83e9f912cd7a]
22917
22918         * interfaces.c:
22919         explicately cast ioctl() to int since it it not always declared
22920         [2ff9294e469e]
22921
22922         * sudo.h:
22923         added declarations for yyparse() and yylex()
22924         [6071321ab771]
22925
22926         * parse.yacc:
22927         fixed an occurence of '==' -> '='
22928         [2c46d2e11d57]
22929
22930         * config.h.in, configure.in:
22931         added check for netgroup.h
22932         [73403050f4e3]
22933
22934         * sudo.c:
22935         fixed 2 compiler warnings
22936         [680929b0bd97]
22937
22938         * sudo.c:
22939         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
22940         initialized
22941         [18707ecd07c2]
22942
22943 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22944
22945         * sudo.pod:
22946         fixed a typo
22947         [e4b5c12aa130]
22948
22949 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22950
22951         * parse.yacc:
22952         fixed a formatting thingie
22953         [c79327b6f19b]
22954
22955         * parse.c, parse.yacc:
22956         fixed -u support with multiple user lists on a line
22957         [e4d1066adca2]
22958
22959         * configure.in:
22960         unixware needs -lgen
22961         [b5bf9bca63cc]
22962
22963         * README:
22964         updated ftp location
22965         [b25a033f7921]
22966
22967         * sudoers.pod:
22968         add net_addr/netmask support
22969         [674e83516d1e]
22970
22971         * sample.sudoers:
22972         added net_addr/mask example
22973         [774878e89b28]
22974
22975         * parse.c, parse.lex:
22976         added support for net_addr/netmask
22977         [e33de27325d8]
22978
22979 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22980
22981         * sudoers.pod:
22982         ^ -> !
22983         [1a084950d6ef]
22984
22985 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22986
22987         * RUNSON:
22988         updated for 1.4.3
22989         [c82019025d09]
22990
22991         * CHANGES:
22992         udpated for 1.4.3
22993         [ceaa81adb8f0]
22994
22995         * BUGS, TODO, TROUBLESHOOTING:
22996         updated
22997         [ff94fae4b853]
22998
22999         * sample.sudoers:
23000         updated with examples of new stuff
23001         [99d0b4cb4c9c]
23002
23003         * INSTALL, README:
23004         ++version
23005         [b763b80fe836]
23006
23007         * sudoers.pod:
23008         updated wrt -u and NOPASSWD
23009         [0b5b722ea0f4]
23010
23011         * sudo.pod:
23012         updated wrt -u and CAVEATS
23013         [71d5d53b5d18]
23014
23015 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23016
23017         * sudo.c:
23018         fixed usage()
23019         [114c7d09b550]
23020
23021         * parse.lex:
23022         now use :foo: character classes (makes no diff for generated lexer)
23023         [7b0aeb737a02]
23024
23025 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23026
23027         * check.c:
23028         fixed LONG_SKEY_PROMPT stuff
23029         [0efe78b4bdda]
23030
23031 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23032
23033         * visudo.c:
23034         fixed a comment
23035         [3d289017104b]
23036
23037         * lsearch.c:
23038         make more like NetBSD one -- now compiles w/o warnings
23039         [932206296a54]
23040
23041         * emul/search.h:
23042         fixed decls of lsearch()
23043         [c58cf4584c45]
23044
23045         * config.h.in, configure.in, getspwuid.c:
23046         added SPW_HPUX10
23047         [d74e5eaa5f17]
23048
23049         * check.c:
23050         hpux 10 uses bigcrypt() if C2
23051         [359eb63f4021]
23052
23053 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23054
23055         * parse.c:
23056         now always uses fnmatch to match args
23057         [a9d91f35256a]
23058
23059         * tgetpass.c:
23060         back to using stdio instead of raw i/o since that caused some
23061         problems
23062         [e7ce2bc92974]
23063
23064 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23065
23066         * sudo.c:
23067         now give usage warning if use -l,-v,-k with args
23068         [6b48180c4fea]
23069
23070 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23071
23072         * sudo.c:
23073         NewArgc is now set to 1 for -l, -v, -k
23074         [7497cb1416a8]
23075
23076         * sudo.c:
23077         now sets sudoers to correct group if mode is 0400
23078         [484c43d99718]
23079
23080         * install-sh:
23081         updated to version used by inn and bind
23082         [28683ad8725a]
23083
23084         * configure.in:
23085         now uses -lgnumalloc if it exists
23086         [3651ca4415a2]
23087
23088         * Makefile.in:
23089         "make install" now sets uid/gid and mode on sudoers if it exists
23090         [1f5216191ae9]
23091
23092         * sudo.c:
23093         rmeoved debugging statements
23094         [aeda278e2c26]
23095
23096         * parse.yacc:
23097         added a missing free()
23098         [592c9482a159]
23099
23100         * sudo.c:
23101         now uses user_gid instead of getegid (which was wrong anyway) to set
23102         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
23103         (logging.c depends on args being in the environment)
23104         [9f5328a3b942]
23105
23106         * logging.c:
23107         now uses SUDO_COMMAND envariable to get command args rather than
23108         building it up again.
23109         [7f8edc5bccb7]
23110
23111         * parse.c:
23112         now uses user_gid
23113         [4b9303ae45fe]
23114
23115         * sudo.c:
23116         fixed off by one error in allocation NewArgv
23117         [921ea1a4e7c6]
23118
23119         * parse.c:
23120         in sudoers, 'command ""' now means command with no args
23121         [a5273648ace2]
23122
23123         * configure.in:
23124         added check for fnmatch(3) and fnmatch.h
23125         [258916a7866f]
23126
23127         * config.h.in:
23128         added HAVE_FNMATCH
23129         [b9860d361e93]
23130
23131         * Makefile.in:
23132         replaced wildcat.* with fnmatch.*
23133         [03ad9ee21a1c]
23134
23135         * testsudoers.c:
23136         now uses fnmatch()
23137         [5a7f7de987a9]
23138
23139 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23140
23141         * parse.c:
23142         now uses fnmatch() instead of wildmat a trailing star (*) by itself
23143         now matches multiple args added support for wildcards in the
23144         pathname in sudoers
23145         [1f7fb950b868]
23146
23147 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
23148
23149         * fnmatch.c:
23150         now includes compat.h and config.h
23151         [090206b95cf8]
23152
23153         * config.h.in:
23154         added HAVE_FNMATCH_H
23155         [90eb42150173]
23156
23157         * configure.in:
23158         now checks for alloca() (if needed by bison or dce) and links with
23159         -lPW if it contains alloca() and libv and compiler do not.
23160         [cfa2b3cef49a]
23161
23162         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
23163         Initial revision
23164         [20b1f762a32a]
23165
23166 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23167
23168         * sudo.c:
23169         now fixes mode on sudoers if set to 0400 to aid in upgrade
23170         [d4bdfd521820]
23171
23172 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23173
23174         * Makefile.in:
23175         fixed pod2man usage
23176         [5adf2ec77b27]
23177
23178         * Makefile.in, configure.in, version.h:
23179         ++version
23180         [b4029de876d0]
23181
23182         * testsudoers.c, visudo.c:
23183         runas_user is now initialized to "root"
23184         [8537d97bff39]
23185
23186         * sudo.h:
23187         removed PERM_FULL_ROOT
23188         [241f8bbf647f]
23189
23190         * sudo.c:
23191         runas_user defaults to "root" so no more need to PERM_RUNAS
23192         [fc0c0dfc72ba]
23193
23194         * parse.c:
23195         will now only running commands as root if there was no runas list
23196         (or if root is in the runas list)
23197         [40c587666c81]
23198
23199         * logging.c:
23200         now logs "USER=%s"
23201         [b733504c87fd]
23202
23203         * parse.yacc:
23204         runas_matches is now set to false if we get a negative match
23205         [5495b150b300]
23206
23207         * parse.lex:
23208         make #uid work + some minor cleanup
23209         [07851bbce03a]
23210
23211         * sample.sudoers:
23212         added support for NOPASSWD and "runas" from garp@opustel.com /
23213         [7a9c67b51fa5]
23214
23215         * visudo.c:
23216         added support for "runas" from garp@opustel.com replaced
23217         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
23218         SUDOERS_MODE
23219         [e714209b9885]
23220
23221         * testsudoers.c:
23222         added support for "runas" from garp@opustel.com
23223         [b837f856da10]
23224
23225         * sudo.h:
23226         added support for NO_PASSWD and runas from garp@opustel.com replaced
23227         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
23228         fro SUDOERS_MODE
23229         [cea6f26679b7]
23230
23231         * sudo.c:
23232         added support for NO_PASSWD and runas from garp@opustel.com replaced
23233         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
23234         SUDOERS_MODE
23235         [61b5434237c5]
23236
23237         * parse.yacc:
23238         added support for NO_PASSWD and runas from garp@opustel.com
23239         [72ebd3056f22]
23240
23241         * parse.c, parse.lex:
23242         added support for NO_PASSWD and runas from garp@opustel.com
23243         [fef6dbdd114d]
23244
23245         * logging.c:
23246         added support for SUDOERS_WRONG_MODE and "runas"
23247         [e794efc2b443]
23248
23249         * configure.in:
23250         added --with-CC only link with -lshadow on linux (with shadow pw) if
23251         libc lacks getspnam()
23252         [3ecf4ae21002]
23253
23254         * OPTIONS, options.h:
23255         removed NO_PASSWD since it is not possible to do this in the sudoers
23256         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
23257         SUDOERS_GID. Added SUDOERS_MODE.
23258         [2eaa4891ef48]
23259
23260         * Makefile.in:
23261         now uses SUDOERS_UID and SUDOERS_GID
23262         [8d615f0fdb2a]
23263
23264 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23265
23266         * INSTALL:
23267         added --with-CC
23268         [a1b8286a81b8]
23269
23270 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23271
23272         * parse.lex:
23273         added double quote support
23274         [a5e4fc7e3a2b]
23275
23276         * sudoers.pod:
23277         documented double quoting
23278         [c6ea47969a44]
23279
23280 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23281
23282         * mkinstalldirs:
23283         Initial revision
23284         [dcb86d65ad8f]
23285
23286         * check.c:
23287         fixed some indentation
23288         [4d1c5ab8072b]
23289
23290         * Makefile.in:
23291         fixed a typo
23292         [0d27eebc7227]
23293
23294         * Makefile.in:
23295         added install-dirs .
23296         [f499b99b8be7]
23297
23298 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23299
23300         * dce_pwent.c:
23301         new version from "Jeff A. Earickson" <jaearick@colby.edu>
23302         [422481be5fbd]
23303
23304 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23305
23306         * configure.in:
23307         $CSOPS -> $with_csops (whoops, missed one)
23308         [b04c6948130e]
23309
23310         * BUGS:
23311         updated
23312         [c4d5713e227d]
23313
23314         * parse.lex:
23315         FQHOST now has same constraints as non-FQHOST
23316         [e1c3bf2381d1]
23317
23318         * INSTALL:
23319         added note about OS's w/ shadow passwords turned on by default
23320         [166257f43be4]
23321
23322 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23323
23324         * configure.in:
23325         fixed a typo
23326         [e5c3e2e9a359]
23327
23328         * configure.in:
23329         added support for --without-THING sanitized shadow pw situtation by
23330         adding support for
23331         --without-C2
23332         [65dc6bf64cce]
23333
23334         * tgetpass.c:
23335         fixed a typo wrt placement of an end paren
23336         [a8780f818231]
23337
23338         * check.c:
23339         was closing an fd that may not have been opened
23340         [760271c7bdc9]
23341
23342 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23343
23344         * OPTIONS, options.h, sudo.c:
23345         added NO_PASSWD
23346         [28ff1dc93d7a]
23347
23348 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23349
23350         * configure.in:
23351         now always use shadow pw on some arches
23352         [069161ccffda]
23353
23354 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23355
23356         * configure.in:
23357         added pyramid support
23358         [a0eb57a3a531]
23359
23360         * configure.in:
23361         no longer check for C2 if alternate passwd method is used no longer
23362         check for some libs twice
23363         [2d0c3c902b40]
23364
23365         * parse.yacc:
23366         moved fqdn stuff into parse.lex (FQHOST)
23367         [d9c9abd481d8]
23368
23369         * parse.lex:
23370         added FQHOST rules
23371         [4a1695acff6d]
23372
23373         * tgetpass.c:
23374         now define TCSASOFT in necesary
23375         [3fac2e21c9ab]
23376
23377         * tgetpass.c:
23378         now uses read/write instead of stdio string goop to avoid problems
23379         with select(2)
23380         [67fd174e518c]
23381
23382         * OPTIONS, find_path.c, options.h:
23383         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
23384         [d05ba5100d28]
23385
23386 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23387
23388         * INSTALL:
23389         added note about no shadow auto-detect if using alternate auth
23390         schemes
23391         [b425592232a3]
23392
23393         * configure.in:
23394         don't check for C2 if AFS or DCE (unless they said --with-C2)
23395         [61342962171a]
23396
23397         * testsudoers.c:
23398         now groks shost
23399         [85dda17303f6]
23400
23401         * OPTIONS, find_path.c, options.h:
23402         added NO_DOT_PATH
23403         [c261ca1fb196]
23404
23405 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23406
23407         * find_path.c:
23408         checkdot now works correctly
23409         [3bc4835bb3e9]
23410
23411 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23412
23413         * configure.in:
23414         can't have DCE and C2 passwords both...
23415         [fb9a8ab7ca66]
23416
23417 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23418
23419         * parse.yacc, sudo.c, sudo.h, visudo.c:
23420         now uses shost even if not FQDN
23421         [87f7498b3a1f]
23422
23423         * configure.in:
23424         now looks for skey in /usr/lib and doesn't require libskey to be in
23425         /usr/local/lib just because skey.h is (for my netbsd box :-)
23426         [ceb1763e37d2]
23427
23428         * aclocal.m4, config.h.in, pathnames.h.in:
23429         _SUDO_PATH_ -> _CONFIG_PATH_
23430         [84d97ad13d75]
23431
23432         * aclocal.m4, sudo.pod:
23433         /var/run/.odus -> /var/run/sudo
23434         [922da220b8f5]
23435
23436         * pathnames.h.in:
23437         now uses _SUDO_PATH_TIMEDIR
23438         [5ecab0155fdf]
23439
23440         * OPTIONS:
23441         udpated FQDN
23442         [361b6f7440c0]
23443
23444         * aclocal.m4, configure.in:
23445         added SUDO_TIMEDIR
23446         [368c95c8c950]
23447
23448         * config.h.in:
23449         added _SUDO_PATH_TIMEDIR
23450         [3879864d808c]
23451
23452         * sudo.pod:
23453         updated wrt /var/run/sudo
23454         [9e14f2a429d3]
23455
23456         * sudo.c, sudo.h:
23457         added support for shost if FQDN
23458         [51a3f51a09a1]
23459
23460         * parse.yacc, visudo.c:
23461         now uses shost if FQDN
23462         [d19da2e92b42]
23463
23464         * check.c:
23465         Now use skeylookup() instead off skeychallenge()
23466         [4c7438bb2ae0]
23467
23468 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23469
23470         * logging.c:
23471         mail_argv should not contain ALERTMAIL as it includes "-t"
23472         [67ffaaa8f843]
23473
23474 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23475
23476         * INSTALL, Makefile.in, README, configure.in, version.h:
23477         ++version
23478         [e08fd4a809fc]
23479
23480         * compat.h:
23481         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
23482         [2f20c3153689]
23483
23484         * tgetpass.c:
23485         now includes limits.h moved _PASSWD_LEN -> compat.h
23486         [b1ca3cafdacc]
23487
23488 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23489
23490         * INSTALL, README:
23491         ++version
23492         [3eacf32803f5]
23493
23494         * Makefile.in:
23495         ++versoin
23496         [3b91c317630a]
23497
23498         * Makefile.in:
23499         fixed a typo
23500         [3661ac4a7803]
23501
23502         * configure.in:
23503         ++version
23504         [60e842973745]
23505
23506 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23507
23508         * RUNSON:
23509         updated
23510         [def2c3c24195]
23511
23512         * CHANGES:
23513         done for 1.4.1 (I hope)
23514         [2ab543769a40]
23515
23516         * sudoers.pod:
23517         added info on wildcards
23518         [ce3bd41bc063]
23519
23520         * sample.sudoers:
23521         added wildcard example
23522         [762feb0577bd]
23523
23524         * Makefile.in:
23525         now uses *.pod to build *.man and *.cat & *.html
23526         [3ec14962028b]
23527
23528         * configure.in:
23529         addedSUDO_PROG_BSHELL !ll
23530         [3c80b320bf16]
23531
23532         * visudo.pod:
23533         fixed up some formatting
23534         [12166c434526]
23535
23536         * sudoers.pod:
23537         redid section describing sample sudoers stuff
23538         [b8065cceec71]
23539
23540         * sudo.pod:
23541         fixed some formatting
23542         [aa9a681add0f]
23543
23544         * getspwuid.c:
23545         now treats "" as bourne shell
23546         [30194a72ad56]
23547
23548         * Makefile.in:
23549         TESTOBJS nwo includes wildmat.o
23550         [86cc6500f84d]
23551
23552         * testsudoers.c:
23553         now works with NewArg[cv]
23554         [2f72674ce942]
23555
23556         * sudo.c:
23557         removed an XXX (fixed it in getspwuid.c)
23558         [e791ee0d1a68]
23559
23560         * aclocal.m4:
23561         added check for bourne shell
23562         [a2fd51676b8a]
23563
23564         * pathnames.h.in:
23565         added _PATH_BSHELL
23566         [e7c10011d47b]
23567
23568         * config.h.in:
23569         added _SUDO_PATH_BSHELL
23570         [6a1182898de9]
23571
23572 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23573
23574         * visudo.c:
23575         unixware vi returns 256 instead of 0
23576         [234ffc7c6786]
23577
23578         * INSTALL:
23579         added Linux note
23580         [5f85efcd2b58]
23581
23582         * logging.c:
23583         fixed up some XXX's. file log format now looks a little more like
23584         real syslog(3) format.
23585         [6df55707bfc3]
23586
23587         * README, TROUBLESHOOTING:
23588         updated wrt lex/flex
23589         [eb787d69156b]
23590
23591         * Makefile.in:
23592         commented out rule to build lex.yy.c from parse.lex since we ship
23593         with a pre-flex'd parser
23594         [7507e2ce4a95]
23595
23596         * parse.c, parse.yacc, visudo.c:
23597         path_matches -> command_matches
23598         [0bd469424f86]
23599
23600         * logging.c:
23601         eliminated some strcat()'s
23602         [9878a79bc374]
23603
23604         * configure.in:
23605         no longer checks for lex/flex (now assumes flex)
23606         [a086ccc73798]
23607
23608         * configure.in:
23609         now checks for $kerb_dir_candidate/krb.h instead of just
23610         kerb_dir_candidate
23611         [9133bc3c5208]
23612
23613 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23614
23615         * parse.yacc:
23616         now use a 'hook' expression instead of an iffy one :-)
23617         [9560df01b8c0]
23618
23619 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23620
23621         * visudo.c:
23622         now works with new sudo arg stuff
23623         [310a0d43ddad]
23624
23625         * parse.yacc:
23626         fixed dereferencing deadbeef
23627         [474ef8a8006b]
23628
23629         * sudo.c:
23630         changed an occurrence of Argv to NewArgv
23631         [205b012b7691]
23632
23633         * parse.lex:
23634         took out support for quoted commands since there is no need...
23635         [5c5036d353b1]
23636
23637         * parse.c:
23638         fixed a typo in a for() loop
23639         [7e8d5283c43b]
23640
23641         * logging.c:
23642         protected against dereferencing rogue pointers
23643         [56debd517717]
23644
23645         * sudo.c:
23646         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
23647         also allows us to eliminate some kludges in parse_args() and
23648         eliminate superfluous code.
23649         [5122f66ad150]
23650
23651         * logging.c:
23652         no longer uses cmnd_args, now uses NewArgv instead.
23653         [abddd23cf068]
23654
23655         * sudo.h:
23656         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
23657         (no longer used)
23658         [78410984fb05]
23659
23660         * Makefile.in:
23661         added wildmat.c to SRCS & SUDOBJS
23662         [3800efb41794]
23663
23664         * parse.yacc:
23665         COMMAND is now a struct containing the path and args
23666         [5c32822c5b94]
23667
23668         * parse.lex:
23669         replaced append() with fill_cmnd() and fill_args. command args from
23670         a sudoers entry are now stored in an arrary for easy matching.
23671         [a981d7f4eb0d]
23672
23673         * parse.c:
23674         command line args from sudoers file are now in an array like ones
23675         passed in from the command line
23676         [1d9e37e84519]
23677
23678 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23679
23680         * parse.c:
23681         wildwat stuff now works
23682         [49d16488531f]
23683
23684 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23685
23686         * version.h:
23687         ++version
23688         [53e55463ef89]
23689
23690         * Makefile.in:
23691         ++version added wildmat.*
23692         [0508297a4711]
23693
23694 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23695
23696         * parse.lex:
23697         added support for quoted commands (w/ or w/o args)
23698         [b9a637155673]
23699
23700 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23701
23702         * sudo.pod, visudo.pod:
23703         cleaned up formatting
23704         [4591d4195437]
23705
23706         * sudo.pod, visudo.pod:
23707         Initial revision
23708         [7564a8242750]
23709
23710 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23711
23712         * sudoers.pod:
23713         looks reasonable, could be mroe readable
23714         [a5be2d19d9e0]
23715
23716         * sudoers.pod:
23717         Initial revision
23718         [957888be31a6]
23719
23720 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
23721
23722         * RUNSON:
23723         updated
23724         [633743aa924b]
23725
23726         * OPTIONS:
23727         updated NO_ROOT_SUDO entry
23728         [f1c15b1dec9e]
23729
23730 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23731
23732         * RUNSON:
23733         *** empty log message ***
23734         [5b63de579ff7] [SUDO_1_4_0]
23735
23736         * sudo.c:
23737         fixed SECURE_PATH
23738         [6002889f606d]
23739
23740         * RUNSON:
23741         udpa`ted for 1.4
23742         [6014a8592815]
23743
23744         * configure.in:
23745         AIX aixcrypt.exp now uses $(srcdir)
23746         [b0d57674fef4]
23747
23748         * TROUBLESHOOTING:
23749         added entry for anal ansi compilers
23750         [4193cec1c6b1]
23751
23752 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23753
23754         * INSTALL:
23755         added info on libcrypt_i for SCO
23756         [575497d56698]
23757
23758         * TODO:
23759         *** empty log message ***
23760         [d0aaf67b9913]
23761
23762         * sample.sudoers:
23763         added comments
23764         [a7773f7eda8d]
23765
23766         * TODO:
23767         1.4 release
23768         [1dade29e9fd9]
23769
23770         * CHANGES:
23771         ++version
23772         [67241be40780]
23773
23774         * INSTALL, OPTIONS, README, config.h.in, configure.in:
23775         ++version
23776         [2e0a37897f68]
23777
23778         * BUGS:
23779         ++version and fixed ISC
23780         [78963f01a0e3]
23781
23782         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
23783         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
23784         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
23785         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23786         visudo.c:
23787         ++version
23788         [b6227f29b3d9]
23789
23790         * interfaces.c:
23791         added STUB_LOAD_INTERFACES ++version
23792         [d8150a3fd577]
23793
23794         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
23795         version.h:
23796         ++version
23797         [da9e90e69bdc]
23798
23799         * PORTING:
23800         added info about fd_set in tgetpass added info on interfaces.c
23801         [a39902febd17]
23802
23803 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23804
23805         * dce_pwent.c:
23806         added sudo header
23807         [fc0f2c48682e]
23808
23809         * tgetpass.c:
23810         fixed a typo
23811         [43d40b72ee8f]
23812
23813         * Makefile.in:
23814         tgetpass.o is now only linked in with sudo (not visudo)
23815         [7407c5ff11f8]
23816
23817 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23818
23819         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
23820         configure.in:
23821         ++version
23822         [9b82ad805d6b]
23823
23824         * emul/utime.h:
23825         added copyright notice
23826         [4380f16cd075]
23827
23828         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
23829         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23830         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
23831         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
23832         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
23833         ++version
23834         [32717fdb5d05]
23835
23836         * tgetpass.c:
23837         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
23838         [326864428da2]
23839
23840         * configure.in:
23841         ISC now gets -lcrypt now check for sys/bsdtypes.h
23842         [e064799c054b]
23843
23844         * config.h.in:
23845         added check for sys/bsdtypes.h
23846         [9adb9533c363]
23847
23848 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23849
23850         * parse.yacc:
23851         removed debugging stuff (setting freed ptr to NULL)
23852         [02fe8eec63a0]
23853
23854         * TROUBLESHOOTING:
23855         added 2 entries
23856         [02884e2733e2]
23857
23858         * Makefile.in:
23859         added FAQ
23860         [074d8dfcf28d]
23861
23862         * TROUBLESHOOTING:
23863         added section on syslog
23864         [e6bc02a22b86]
23865
23866         * configure.in:
23867         added AC_ISC_POSIX for better ISC support
23868         [8436b3e12af2]
23869
23870         * config.h.in:
23871         fixed typo
23872         [f1b3922babf4]
23873
23874         * config.h.in:
23875         added define for _POSIX_SOURCE
23876         [ded6d92b34f9]
23877
23878 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
23879
23880         * configure.in:
23881         fixed check for lsearch()
23882         [75baa5bc28a3]
23883
23884 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23885
23886         * interfaces.c:
23887         fixed for AIX now deal if num_interfaces == 0 (should not happen)
23888         [ae450e859227]
23889
23890 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
23891
23892         * configure.in:
23893         now only define HAVE_LSEARCH if there is a corresponding search.h
23894         [8ce645c5d17f]
23895
23896         * interfaces.c:
23897         works on ISC again
23898         [ccac920d424c]
23899
23900 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
23901
23902         * configure.in:
23903         now define HAVE_LSEARCH if we find lsearch() in libcompat
23904         [7343e4313a87]
23905
23906         * lsearch.c:
23907         char * -> const char *
23908         [1c0b11c2300a]
23909
23910         * configure.in:
23911         now looks in -lcompat for lsearch()
23912         [a1cc1d6fcd09]
23913
23914         * Makefile.in:
23915         remove sudo.core visudo.core for clan target
23916         [b523456a85df]
23917
23918         * aclocal.m4:
23919         added UID_MAX support in check for MAX_UID_T_LEN
23920         [7ab262b1173f]
23921
23922         * Makefile.in:
23923         fixed another occurence of sudo_getpwuid.*
23924         [fb5809c07da2]
23925
23926         * Makefile.in, getspwuid.c:
23927         sudo_getpwuid.c -> getspwuid.c
23928         [875f2ef808b4]
23929
23930         * configure.in:
23931         moved the "echo"
23932         [ad7b8f966076]
23933
23934         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
23935         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
23936         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
23937         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
23938         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
23939         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
23940         version.h, visudo.c:
23941         ++version
23942         [ee57c6410ffa]
23943
23944         * testsudoers.c:
23945         added group support
23946         [54d8097df8bd]
23947
23948         * sample.sudoers:
23949         added group entry
23950         [50994d31fd49]
23951
23952         * sudoers.man:
23953         documented group support
23954         [0a16707f8fed]
23955
23956         * parse.c, parse.lex, parse.yacc, visudo.c:
23957         added group support
23958         [427218c879c8]
23959
23960 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23961
23962         * check.c:
23963         tkfile was too short and overflowed the kerberos realm
23964         [53823a1ff5af]
23965
23966 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23967
23968         * sudo.c:
23969         now copy command args directly from Argv
23970         [77408278b6fd]
23971
23972         * sudo.c:
23973         replaced code to copy cmnd_args so that is does not use realloc
23974         since most realloc()'s really stink
23975         [b29a0ff73fb6]
23976
23977 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23978
23979         * configure.in:
23980         syslog() fixed in hpux 10.01
23981         [2648e6f0cdb0]
23982
23983 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23984
23985         * configure.in:
23986         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
23987         [8f108b8d8711]
23988
23989         * configure.in:
23990         better error if cannot find skey incs or libs
23991         [5887662ee9d3]
23992
23993         * aclocal.m4:
23994         now use a temp file for determining max len of uid_t in string form.
23995         the old hacky way broke on netbsd
23996         [b68f470fa9f8]
23997
23998         * sudo.c:
23999         added set of parens and a space
24000         [8a3d4826d022]
24001
24002 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24003
24004         * dce_pwent.c:
24005         fixes from Jeff Earickson <jaearick@colby.edu> ,
24006         [bde0f0b756ec]
24007
24008         * check.c:
24009         modified a comment
24010         [e2a97f1afbbe]
24011
24012         * Makefile.in:
24013         fixed up testsudoers target
24014         [d39c4e7bb609]
24015
24016         * configure.in:
24017         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
24018         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
24019         [da7a1c433828]
24020
24021         * Makefile.in:
24022         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
24023         VISUDO_LDFLAGS
24024         [4b69503e8487]
24025
24026 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24027
24028         * configure.in:
24029         fix for C2 on hpux 10 now uses -linet if it exists
24030         [8d300112263d]
24031
24032         * check.c:
24033         LONG_SKEY_PROMPT is less of a klusge /
24034         [dcc144abaac3]
24035
24036         * configure.in:
24037         fixed typos w/ dce stuff
24038         [f7dfd6d4e149]
24039
24040         * Makefile.in:
24041         added dce_pwent.c
24042         [79047acdc516]
24043
24044 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24045
24046         * INSTALL:
24047         amended section on combining authentication mechanisms
24048         [dc5138c7c716]
24049
24050         * PORTING:
24051         minor updates for 1.3.6
24052         [fe80c13bd994]
24053
24054         * TROUBLESHOOTING:
24055         added 2 more entries
24056         [c7201439a0f5]
24057
24058         * BUGS:
24059         updated for 1.3.6
24060         [979b414d2a2d]
24061
24062         * README:
24063         overhauled
24064         [3af8b60eb594]
24065
24066         * INSTALL:
24067         rewrote for sudo 1.3.6
24068         [b16027b9c726]
24069
24070         * TROUBLESHOOTING:
24071         added 3 entries
24072         [934c9ee3f153]
24073
24074 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24075
24076         * find_path.c, getspwuid.c, sudo.c:
24077         added explict casts for strdup since many includes don't prototype
24078         it. gag me.
24079         [3e19a11f2fcc]
24080
24081         * sudo.h:
24082         removed prototype for sudo_getpwuid() since convex C compiler choked
24083         on it.
24084         [c3ea74ca67b0]
24085
24086         * sudo.c:
24087         added prototype for sudo_getpwuid()
24088         [4a8e3cdc2b98]
24089
24090         * lsearch.c:
24091         now compiles on strict ANSI compilers
24092         [3ce5d72d0b08]
24093
24094         * check.c:
24095         added LONG_SKEY_PROMPT support
24096         [48a18b8a2332]
24097
24098         * Makefile.in:
24099         added extra $'s for make to eat up, yum.
24100         [2995b214e12b]
24101
24102         * OPTIONS, options.h:
24103         added LONG_SKEY_PROMPT
24104         [f23ae799b5a4]
24105
24106 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24107
24108         * check.c:
24109         s/key support now works with normal s/key as well as logdaemon
24110         [d67573f523bf]
24111
24112         * OPTIONS, options.h:
24113         added SKEY_ONLY
24114         [bbf07654e0de]
24115
24116         * compat.h:
24117         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
24118         [205895b96a36]
24119
24120         * INSTALL:
24121         added DCE note added more AIX notes
24122         [6345403b3522]
24123
24124         * sudo.c:
24125         now include pthread.h for DCE support
24126         [6fe02865f679]
24127
24128         * check.c:
24129         dce_pwent() is ok after all .,
24130         [d26a8746a55d]
24131
24132         * logging.c:
24133         now uses SYSLOG() macro that equates to either syslog() or
24134         syslog_wrapper
24135         [42ac4cff8045]
24136
24137         * dce_pwent.c:
24138         minor formatting changes. renamed check() to somthing less generic
24139         [71859f217be1]
24140
24141         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
24142         visudo.c:
24143         now uses user_pw_ent and simple macros to get at the contents
24144         [f4cbf3e7145a]
24145
24146 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24147
24148         * check.c:
24149         simpler dec unix C2 support
24150         [86bc8f75250e]
24151
24152         * getspwuid.c:
24153         now sets crypt_type for DEC unix C2
24154         [99aeadd18266]
24155
24156 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24157
24158         * configure.in:
24159         added csops paths for skey
24160         [b8ca672e2117]
24161
24162         * getspwuid.c:
24163         now includes string.h for strdup() prototype
24164         [3605259c3620]
24165
24166         * getspwuid.c:
24167         fixed a few typos
24168         [46c97e4ea417]
24169
24170         * check.c:
24171         now includes skey.h
24172         [11e611ce1b61]
24173
24174         * getspwuid.c:
24175         fixed up comments
24176         [223dac56f0c8]
24177
24178         * check.c:
24179         moved a lot of the shadow passwd crap to sudo_getpwuid()
24180         [97d8887fb7d3]
24181
24182         * sudo.c:
24183         now uses sudo_pw_ent
24184         [d014dadbef48]
24185
24186         * testsudoers.c:
24187         now uses sudo_pw_ent
24188         [d92936ed7e34]
24189
24190         * visudo.c:
24191         now sets sudo_pw_ent
24192         [ff75cdfcf8b3]
24193
24194         * getspwuid.c:
24195         Initial revision
24196         [6deb6df9d7bc]
24197
24198         * tgetpass.c:
24199         moved dce stuff into compat.h
24200         [1124284396e7]
24201
24202         * logging.c, sudo.h:
24203         now uses sudo_pw_ent
24204         [404ff20a5067]
24205
24206         * Makefile.in:
24207         added sudo_getpwuid.c
24208         [6666d0644512]
24209
24210         * compat.h:
24211         added dce support
24212         [3c3b36a7ce0e]
24213
24214         * parse.yacc:
24215         now uses sudo_pw_ent
24216         [9f5e8d11bd68]
24217
24218 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24219
24220         * check.c:
24221         fixed exempt_group stuff for OS's that don't put base gid in group
24222         vector
24223         [003f153bd396]
24224
24225         * check.c:
24226         S/Key support now works with sunos4 shadow passwords
24227         [1eb64a5efff1]
24228
24229         * Makefile.in:
24230         fixed clean rule
24231         [5695a2c62816]
24232
24233         * config.h.in, configure.in:
24234         added DCE support
24235         [f53c766c1947]
24236
24237         * tgetpass.c:
24238         DCE & KERB support
24239         [904cf436506a]
24240
24241         * check.c:
24242         first stab at dce support
24243         [aea5ca07b1e3]
24244
24245         * dce_pwent.c:
24246         now smells like sudo
24247         [8b3d609b49cd]
24248
24249         * dce_pwent.c:
24250         Initial revision
24251         [b573555f2399]
24252
24253         * check.c:
24254         skey'd sudo now works w/ normal password as well
24255         [8d038f9f6e94]
24256
24257 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24258
24259         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
24260         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
24261         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
24262         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
24263         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
24264         version.h, visudo.c:
24265         updated version number
24266         [ba7e346d7904]
24267
24268         * README:
24269         updated to reflect version change
24270         [1d15cf1d8cc8]
24271
24272         * configure.in:
24273         --with options now line up ++version
24274         [08ebf625fbca]
24275
24276         * sudo.h:
24277         removed unecesary S/Key stuff
24278         [68188cba90af]
24279
24280         * configure.in:
24281         fixed S/Key support
24282         [f6d9cbc36618]
24283
24284         * Makefile.in:
24285         -I stuff now goes in CPPFLAGS
24286         [7b8e53c5b046]
24287
24288         * check.c:
24289         fixed SKey support
24290         [52c1a5cf4435]
24291
24292         * README:
24293         updated version
24294         [bed6498a10bb]
24295
24296         * OPTIONS:
24297         fixed description of EXEMPTGROUP
24298         [cfeead55edc2]
24299
24300         * sudo.c:
24301         more people use _RLD_ than just alphas...
24302         [6a3c7090a6f6]
24303
24304         * Makefile.in:
24305         replaced $man_prefix with $mandir
24306         [dc4b36a550e2]
24307
24308         * configure.in:
24309         fixed a typo
24310         [a38a4acddcaf]
24311
24312         * Makefile.in:
24313         now use more GNU'ish dir names
24314         [c5498391a520]
24315
24316         * configure.in:
24317         now set *dir correctly (can override from command line)
24318         [523ff98fd438]
24319
24320         * sudo.c:
24321         now deal with situations where we getwd() fails
24322         [88a9e61dccbb]
24323
24324 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24325
24326         * Makefile.in:
24327         added etc_dir, bin_dir, sbin_dir
24328         [75fd08d92842]
24329
24330         * configure.in:
24331         added sbin_dir
24332         [3cb318c0d8d1]
24333
24334         * Makefile.in:
24335         now ship a flex-generated lex.yy.c
24336         [4d083ed70dce]
24337
24338         * Makefile.in:
24339         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
24340         [4d51dc9c3780]
24341
24342         * pathnames.h.in:
24343         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
24344         [773fd163d52f]
24345
24346         * options.h:
24347         no more error for redefining SUDOERS_OWNER
24348         [4ba336644c6a]
24349
24350         * OPTIONS:
24351         expanded SUDOERS_OWNER section
24352         [12fae405759e]
24353
24354 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24355
24356         * visudo.c:
24357         now warn if chown(2) failed
24358         [d0d1db6e3a1f]
24359
24360         * logging.c:
24361         better default warning for NO_SUDOERS_FILE
24362         [5260b458ac64]
24363
24364         * sudo.c:
24365         added missing set_perms() no more cryptic message if the sudoers
24366         file is zero length, now just give a parse error
24367         [b81ea724838a]
24368
24369         * logging.c:
24370         better diagnostics if NO_SUDOERS_FILE
24371         [877e878663c5]
24372
24373         * sudo.c:
24374         check_sudoers() now catches sudoers files that are not readable (but
24375         are stat'able).
24376         [fea05663b3de]
24377
24378 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24379
24380         * configure.in:
24381         now add -D__STDC__ for convex cc (not gcc)
24382         [c80fc53ff51b]
24383
24384         * configure.in:
24385         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
24386         [fe238226a057]
24387
24388         * Makefile.in:
24389         now uses exec_prefix & prefix from configure
24390         [f62fca5f56bd]
24391
24392         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
24393         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
24394         utime.c, visudo.c:
24395         options.h is now <> instead of "" so shadow build trees can have a
24396         custom copy of options.h
24397         [e6782676099c]
24398
24399         * check.c:
24400         user_is_exempt() is no longer a hack, it now uses getgrnam()
24401         [287f8d5356f7]
24402
24403         * options.h:
24404         EXEMPTGROUP is now "sudo"
24405         [61487304dbe1]
24406
24407         * configure.in:
24408         MAN_POSTINSTALL now contains a leading space
24409         [eaad4ac34012]
24410
24411         * Makefile.in:
24412         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
24413         testsudoers in clean:
24414         [e01711baceb8]
24415
24416         * tgetpass.c:
24417         includes pwd.h to get _PASSWD_LEN definition
24418         [8ec174f263f1]
24419
24420 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24421
24422         * sudo.c:
24423         unset the KRB_CONF envariable if using kerberos so we don't get
24424         spoofed into using a bogus server
24425         [2561a0274fca]
24426
24427 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24428
24429         * parse.yacc:
24430         now explicately initialize match[] tp be FALSE
24431         [0e45e5c47766]
24432
24433 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24434
24435         * sudo.c:
24436         removed unused variable now passes -Wall
24437         [3452508bc16d]
24438
24439         * parse.yacc:
24440         yyerror and dumpaliases are now void's now passes -Wall
24441         [2769dfb51993]
24442
24443         * parse.lex:
24444         added prototype for yyerror
24445         [1f3f0c1b4ab4]
24446
24447         * check.c, logging.c, parse.c:
24448         now passes -Wall
24449         [eab57e5e81d2]
24450
24451         * interfaces.c:
24452         rmeoved unused cruft now passes -Wall
24453         [7a47e1866f4b]
24454
24455         * Makefile.in:
24456         fixed headers that moved to emul dir
24457         [e680c1e5049b]
24458
24459         * logging.c:
24460         fixed deref of nil pointer if no args
24461         [973b9bea432f]
24462
24463 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24464
24465         * OPTIONS:
24466         added a caveat to FQDN section
24467         [dcf6e2a5fff4]
24468
24469 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24470
24471         * Makefile.in:
24472         more $srcdir support for install targets
24473         [f6eac78436dd]
24474
24475         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
24476         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
24477         don't include malloc.h if we include stdlib.h
24478         [fca2ff307cd8]
24479
24480         * parse.yacc:
24481         local search.h now lives in emul
24482         [51c458904424]
24483
24484         * check.c, utime.c:
24485         local utime.h now lives in emul dir
24486         [f92fc9e8c8de]
24487
24488         * lsearch.c:
24489         local search.h now lives in emul
24490         [579efc407439]
24491
24492         * Makefile.in:
24493         added support for building in other than the sourcedir
24494         [2ab53a43f7d4]
24495
24496 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24497
24498         * OPTIONS:
24499         annotated CSOPS_INSULTS option
24500         [9e57d45a0afa]
24501
24502         * TROUBLESHOOTING:
24503         updated shadow passwords blurb
24504         [39b785bc7253]
24505
24506         * sudo.c:
24507         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
24508         passes along foo as the arguments
24509         [a91077aa8fc5]
24510
24511 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24512
24513         * parse.lex:
24514         collapsed pathname and dir sections into one -- its now less
24515         expensive
24516         [89caa03bec25]
24517
24518         * parse.lex:
24519         fixed spacing quoting [,:\\=] now works correctly append() and
24520         fill() now take args to make the above work
24521         [09d023d9ef3a]
24522
24523         * sudo.c:
24524         fixed a typo that caused commands with no tty on fd 0 but a tty on
24525         fd 1 to erroneously have "none" as their tty
24526         [07d2c0e7977c]
24527
24528 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24529
24530         * check.c:
24531         timestampfile is now a global static removed decl of timestampfile
24532         in remove_timestamp since we can just use the global one
24533         [f0cbdc6aab1c]
24534
24535         * check.c:
24536         created touch() to update timestamps added USE_TTY_TICKETS support
24537         (bit of a kludge)
24538         [cee1dd0318f8]
24539
24540         * compat.h:
24541         added _S_IFDIR and S_ISDIR
24542         [b4a51cc9628e]
24543
24544         * OPTIONS, options.h:
24545         added USE_TTY_TICKETS
24546         [b4e22f81f25e]
24547
24548         * parse.yacc:
24549         removed const from casts for lsearch() & lfind() to placate irix 4.x
24550         C compiler
24551         [5003081f76ea]
24552
24553 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24554
24555         * sudo.c:
24556         now only strip '/dev/' off of a tty if it starts with '/dev/'
24557         [7f62bcd24039]
24558
24559         * pathnames.h.in:
24560         added _PATH_DEV
24561         [6375f44d1910]
24562
24563         * configure.in:
24564         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
24565         have termios.h
24566         [9c60391235fd]
24567
24568         * tgetpass.c:
24569         fixed incorrect #ifdef termio uses "unsigned short" not int for
24570         c_?flag
24571         [d032e6a29845]
24572
24573         * parse.lex, parse.yacc:
24574         fixed a spelling error
24575         [cad6a944c7b1]
24576
24577         * Makefile.in:
24578         fixed typo
24579         [204a65403e7c]
24580
24581 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24582
24583         * Makefile.in:
24584         fixed a comment
24585         [268f760e57ad]
24586
24587         * parse.yacc:
24588         added dotcat() to cat 2 strings w/ a dot effeciently now that we
24589         dynamically allocate strings they need to be free()'d
24590         [ec2e2152f415]
24591
24592         * parse.lex:
24593         dynamically allocates space for strings
24594         [d10ac3533d66]
24595
24596         * sudo.h:
24597         no more MAXCOMMANDLENGTH
24598         [e2e1219bff8a]
24599
24600         * sudo.h:
24601         added decl of tty
24602         [c8ae81303ee5]
24603
24604         * logging.c, sudo.c:
24605         moved tty stuff into sudo.c
24606         [e028abefeb07]
24607
24608 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24609
24610         * parse.c:
24611         fixed a logic bug. Was denying a command if user gave command line
24612         args but there were none in the sudoers file which is wrong.
24613         [7489a99b8e8a]
24614
24615         * sudo.h:
24616         MAXCOMMMANDLEN dropped down to 1K
24617         [38ef54ba290b]
24618
24619         * parse.lex:
24620         return foo; -> return(foo);
24621         [0e8be1b57001]
24622
24623         * parse.yacc:
24624         fixed netgr_matches() prototype
24625         [e69f15910464]
24626
24627         * parse.lex:
24628         added support for escaping "termination" characters
24629         [8bd4ef50f35c]
24630
24631         * parse.c:
24632         buf is now of size MAXPATHLEN+1 since it never holds command args
24633         [2ce4b763058c]
24634
24635         * sudo.c:
24636         fixed comments
24637         [0c74a3d2ebb0]
24638
24639         * goodpath.c:
24640         fixed negation problem (doh!)
24641         [782814e3a2d1]
24642
24643         * parse.yacc:
24644         fixed 2nd parameter to lfind()
24645         [63d7b1623c08]
24646
24647         * parse.lex:
24648         now do bounds checking in fill() and append()
24649         [54381b563251]
24650
24651         * sudo.c:
24652         include netdb.h as we should added a missing void cast added
24653         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
24654         realloc actually moved the string instead of shrinking it
24655         [897ccdec9c06]
24656
24657         * sample.sudoers:
24658         updated with examples of new features
24659         [9b3ed00e8aa6]
24660
24661         * goodpath.c:
24662         now set errno to EACCES if not a regular file or not executable
24663         [2d069548a5ea]
24664
24665         * find_path.c:
24666         if given a fully-qualified or relative path we now check it with
24667         sudo_goodpath() and error out with the appropriate error message if
24668         the file does not exist or is not executable
24669         [590f89dd8dec]
24670
24671         * emul/search.h, lsearch.c:
24672         now use correct args for lfind
24673         [fccdcdbf020e]
24674
24675         * logging.c:
24676         added a comment
24677         [fab9f49708ea]
24678
24679         * insults.h:
24680         added in CSOps insults
24681         [ad8eb1862adc]
24682
24683         * ins_csops.h:
24684         Initial revision
24685         [de5a475ec018]
24686
24687         * tgetpass.c:
24688         added RCS id
24689         [c3ffd550a482]
24690
24691         * sudo.h:
24692         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
24693         [aba25c90d08a]
24694
24695         * OPTIONS:
24696         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
24697         [e27bd62e9ccf]
24698
24699         * sudo.c:
24700         fixed -k load_interfaces() now gets called if FQDN is set
24701         -p now works with -s
24702         [07ca2a34bae8]
24703
24704         * parse.c:
24705         don't try to stat() "pseudo commands" like "validate"
24706         [75527045984b]
24707
24708         * options.h:
24709         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
24710         [07b157a0eafd]
24711
24712         * configure.in:
24713         added SecurID support added other insults to --with-csops
24714         [6c992ceb244c]
24715
24716         * config.h.in:
24717         added HAVE_SECURID
24718         [e734ff617fe8]
24719
24720         * Makefile.in:
24721         added clobber target added ins_csops.h now gets CFLAGS from
24722         configure
24723         [d1e29c7cec25]
24724
24725         * aclocal.m4:
24726         relaxed SUDO_FULL_VOID
24727         [fb4084f27406]
24728
24729         * visudo.c:
24730         function comment blocks are now in same style as rest of code
24731         [04a2931354c5]
24732
24733         * testsudoers.c:
24734         added support for command line args in /etc/sudoers
24735         [bfe4e1bcc655]
24736
24737         * sudoers.man:
24738         updated to have command args in the sudoers file
24739         [1cd34355e9ea]
24740
24741         * sudo.man:
24742         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
24743         [930b48023b68]
24744
24745 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24746
24747         * parse.yacc:
24748         PATH renamed to COMMAND
24749         [4e109a6de3cd]
24750
24751         * parse.lex:
24752         it is now a parse error for directories to have args attached to
24753         them
24754         [2ab10a146b54]
24755
24756         * logging.c:
24757         now say command args if telling user to buzz off
24758         [933de26ded8b]
24759
24760         * sudo.c:
24761         -s no longer indicates end of args sped up loading on cmnd_args in
24762         load_cmnd()
24763         [eac99a4da862]
24764
24765         * parse.c:
24766         removed an unreachable statement
24767         [634302623c49]
24768
24769         * parse.lex:
24770         made more efficient by pulling out the terminators when in GOTCMND
24771         state and making them their own rule
24772         [80798f1e1166]
24773
24774 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24775
24776         * sudo.h:
24777         removed MAXLOGLEN since it is no longer used
24778         [102824196b71]
24779
24780         * parse.lex:
24781         now allows command args
24782         [d29dfa1e5254]
24783
24784         * parse.c:
24785         now groks command arguments
24786         [6c414cb7f105]
24787
24788         * logging.c:
24789         now sets tty correctly when piped input
24790         [de46a30c0406]
24791
24792         * sudo.c:
24793         fixed loading of cmnd_args (was including command name too)
24794         [15319a425ea6]
24795
24796         * logging.c:
24797         fixed a core dump due to incorrect if construct
24798         [582363c7d7fa]
24799
24800 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24801
24802         * configure.in:
24803         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
24804         [da591fe9b931]
24805
24806         * aclocal.m4:
24807         fixed check for ISC
24808         [52e59f2082a7]
24809
24810         * sudo.c:
24811         now sets cmnd_args used by log_error() and that will be used by the
24812         parse to check against command args
24813         [c6804389723b]
24814
24815         * sudo.h:
24816         added cmnd_args
24817         [4d00446b4a8d]
24818
24819         * logging.c:
24820         now dynamically allocate logline since we can guess at its size
24821         [4bed8c8446aa]
24822
24823 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24824
24825         * logging.c:
24826         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
24827         "register" since the compiler knows more than I do now do a
24828         "basename" of the tty
24829         [3b1bbf0b3da1]
24830
24831 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
24832
24833         * configure.in:
24834         ++version
24835         [5ce552f9a5f1]
24836
24837         * sudo.h:
24838         added shell extern changed MODE_* to be bit masks to allow for
24839         several options together
24840         [06f9dc4f400c]
24841
24842         * sudo.c:
24843         added -s (shell) option made MODE_* masks so we can do bitwise & and
24844         | to see if multiple flags are set.
24845         [01f8143010ad]
24846
24847         * check.c:
24848         added securid support
24849         [909e078005fe]
24850
24851 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
24852
24853         * logging.c:
24854         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
24855         [644506b57d61]
24856
24857 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
24858
24859         * Makefile.in, version.h:
24860         ++version
24861         [3cd6f1fbc3d9]
24862
24863 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
24864
24865         * parse.yacc:
24866         fixed free() of an uninitialized pointer (yuck)
24867         [8c404ee502ee]
24868
24869         * testsudoers.c:
24870         added netgr_matches
24871         [e7c9fa2f774c]
24872
24873         * parse.c:
24874         cleaned up netgr_matches
24875         [8108f00b810e]
24876
24877 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
24878
24879         * RUNSON:
24880         updated for 1.3.4
24881         [4741704310a1]
24882
24883 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24884
24885         * Makefile.in:
24886         now installs sudoers.man -- really should clean this up though.
24887         [455631d45a1d]
24888
24889         * Makefile.in:
24890         added sudoers.cat and sudoers.man
24891         [0bdedd6c7363]
24892
24893         * sudo.man:
24894         pulled out stuff on the sudoers file format into a separate man page
24895         [de215d999cb9]
24896
24897         * sudoers.man:
24898         Initial revision
24899         [f25eafbb7095]
24900
24901         * HISTORY:
24902         fixed up my email address
24903         [254fbf80be74]
24904
24905         * configure.in:
24906         added checks for innetgr and getdomainname
24907         [24a99cb7e97e]
24908
24909         * visudo.c:
24910         added dummy netgr_matches function
24911         [1841ff2c01da]
24912
24913         * parse.c:
24914         added netgr_matches
24915         [ec90db6a97b8]
24916
24917         * parse.lex, parse.yacc:
24918         added NETGROUP support
24919         [c9dd93e3bc4b]
24920
24921         * config.h.in:
24922         added HAVE_INNETGR & HAVE_GETDOMAINNAME
24923         [14abd494d875]
24924
24925 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24926
24927         * sudo.c:
24928         rewrote clean_env() that has rm_env() builtin
24929         [55cb43818a95]
24930
24931 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24932
24933         * check.c:
24934         now cast uid to long in sprintf
24935         [b549eea40aeb]
24936
24937         * OPTIONS:
24938         added _INSULTS suffix to HAL & GOONS end
24939         [ed620d0aad30]
24940
24941         * options.h:
24942         added _INSULTS suffix to HAL & GOONS
24943         [9f72e9b83afd]
24944
24945         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
24946         converted to new scheme of insult "unions" end
24947         [2f6d2b412132]
24948
24949         * sudo.c:
24950         now uses MAX_UID_T_LEN
24951         [c1df79e0f389]
24952
24953         * configure.in:
24954         added SUDO_UID_T_LEN !l
24955         [195f0b9f5f84]
24956
24957         * config.h.in:
24958         added MAX_UID_T_LEN
24959         [73f42ae4f14d]
24960
24961         * check.c:
24962         now use MAX_UID_T_LEN
24963         [df9c063234cb]
24964
24965         * aclocal.m4:
24966         added check for max len of uid_t fixed sco vs. isc check
24967         [d558f36d2223]
24968
24969 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24970
24971         * configure.in:
24972         corrected version
24973         [828dd1571e86]
24974
24975         * configure.in:
24976         added sco support
24977         [af1e2f616638]
24978
24979         * aclocal.m4:
24980         hack to check for sco
24981         [549ab99a9a43]
24982
24983         * interfaces.c:
24984         removed #include <net/route.h> since it was hosing some OS's
24985         [ac78a7c04005]
24986
24987 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24988
24989         * find_path.c:
24990         fixed prreadlink() prototype
24991         [b380fe1f2b11]
24992
24993         * check.c:
24994         added parens in #if's
24995         [e96ade691b82]
24996
24997         * configure.in:
24998         added SPW_ prefix
24999         [a302683a1483]
25000
25001         * sudo.h:
25002         moved SPW_* to config.h.in
25003         [6b3be70e34cf]
25004
25005         * sudo.c:
25006         added a set of parens
25007         [8188d735d695]
25008
25009         * config.h.in:
25010         added SPW_*
25011         [5ead6371cf60]
25012
25013         * sudo.h:
25014         added SPW_* reordered error codes
25015         [dead25b4ed0a]
25016
25017         * check.c:
25018         moved SPW_* to sudo.h
25019         [ca51fb04caf4]
25020
25021 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25022
25023         * sudo.c:
25024         SPW_AUTH -> SPW_SECUREWARE
25025         [6b512b2bc5dc]
25026
25027         * logging.c:
25028         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
25029         [defdd0944e2f]
25030
25031         * configure.in:
25032         AUTH -> SECUREWARE
25033         [d1f8a17001dd]
25034
25035         * check.c:
25036         SPW_AUTH -> SPW_SECUREWARE
25037         [af0e8d8b89b2]
25038
25039         * check.c:
25040         now uses SHADOW_TYPE to make shadow pw support more readable and
25041         modular. It's a start...
25042         [8c2a59667014]
25043
25044         * configure.in:
25045         added autodetection of shadow passwords
25046         [85f81fa54b1b]
25047
25048         * sudo.c:
25049         now uses SHADOW_TYPE define
25050         [355e5dc09b07]
25051
25052         * config.h.in:
25053         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
25054         [c0c06e83e483]
25055
25056         * aclocal.m4:
25057         added SUDO_CHECK_SHADOW
25058         [464301301639]
25059
25060 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25061
25062         * configure.in:
25063         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
25064         memmove() since we dno longer use it...
25065         [8aefa87d7d31]
25066
25067         * CHANGES:
25068         updated
25069         [ce97b3fd7182]
25070
25071         * logging.c:
25072         added BROKEN_SYSLOG support
25073         [a45c3bca36f6]
25074
25075         * config.h.in:
25076         added BROKEN_SYSLOG
25077         [6f6abf0a6268]
25078
25079         * check.c:
25080         now only bitch it timestamp > time_now + 2 * timeout to allow for a
25081         machine udpating its time from a server
25082         [546bc8d35325]
25083
25084         * sudo.man:
25085         added 2 security notes updated Nieusma's email addr
25086         [616756c56977]
25087
25088         * lsearch.c:
25089         changed a memmove() to memcpy() since we don't have to worry about
25090         overlapping segments.
25091         [30baa478526b]
25092
25093 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25094
25095         * interfaces.c:
25096         cleanup up the loop when interfaces are groped in so that it is
25097         readable
25098         [1fa39446bd69]
25099
25100         * Makefile.in, version.h:
25101         ++version
25102         [b46bd2b1770f]
25103
25104 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25105
25106         * CHANGES:
25107         annotated 124-126
25108         [b82a2b3ec7ce]
25109
25110 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25111
25112         * check.c:
25113         fixed permissions check on /tmp/.odus
25114         [cc2431a65468]
25115
25116 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25117
25118         * check.c:
25119         fixed some comments
25120         [8896d09b4fda]
25121
25122         * check.c:
25123         now checks owner & mode of timedir also checks for bogus dates on
25124         timestamp file
25125         [a0fad5df5b0a]
25126
25127         * OPTIONS:
25128         updated TIMEOUT info
25129         [033cc22d9e04]
25130
25131         * logging.c, sudo.h:
25132         added BAD_STAMPDIR and BAD_STAMPFILE
25133         [31d9ce691101]
25134
25135         * compat.h:
25136         added definition of S_IRWXU
25137         [ff2dab091a9b]
25138
25139         * CHANGES:
25140         updated
25141         [a40df90284f1]
25142
25143 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25144
25145         * interfaces.c:
25146         added #ifdef to make it compile on strange arches
25147         [4a127f12afce]
25148
25149 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25150
25151         * aclocal.m4:
25152         fixed check for fulkl void impl.
25153         [b6f2a4a361d8]
25154
25155         * check.c:
25156         added mssing "static"
25157         [520552f2772b]
25158
25159         * insults.h:
25160         replaced #elif with #else #if constructs for ancient C compilers
25161         [39ab2d365b57]
25162
25163         * INSTALL:
25164         updated irix c2 & kerb5 info
25165         [ae79b99b4905]
25166
25167         * configure.in:
25168         added shadow pw support for irix
25169         [632469d9c528]
25170
25171 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25172
25173         * BUGS, TODO:
25174         updated
25175         [2a96bb18ac30]
25176
25177         * CHANGES:
25178         last changes for sudo 1.3.3
25179         [c1c0cd1034b8]
25180
25181         * configure.in:
25182         now calls SUDO_SOCK_SA_LEN
25183         [14ea78159d45]
25184
25185         * config.h.in:
25186         added HAVE_SA_LEN
25187         [cc2a346aa905]
25188
25189         * aclocal.m4:
25190         added SUDO_SOCK_SA_LEN
25191         [456a2025644a]
25192
25193         * interfaces.c:
25194         now works with ip implementations that use sa_len in sockaddr
25195         [90be6e028077]
25196
25197         * INSTALL:
25198         added note about buggy AIX compiler
25199         [c0f6d427e4e4]
25200
25201         * interfaces.c:
25202         now include sys/time.h for AIX
25203         [2510858ab38b]
25204
25205 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25206
25207         * Makefile.in:
25208         getcwd -> getwd
25209         [66085ebca98e]
25210
25211         * interfaces.c:
25212         now works for ISC and others. yay.
25213         [f336d4ffc927]
25214
25215 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
25216
25217         * Makefile.in, version.h:
25218         version++
25219         [836cffc2078d]
25220
25221 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25222
25223         * aclocal.m4:
25224         fixed test for full void impl
25225         [fb004107e7b9]
25226
25227         * sudo.c:
25228         now check to see that st_dev is non-zero before assuming that we are
25229         being spoofed
25230         [1b0e1c30c506]
25231
25232 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
25233
25234         * aclocal.m4, configure.in:
25235         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
25236         [4953379bfb01]
25237
25238 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25239
25240         * aclocal.m4:
25241         fixed include file order for SUDO_FUNC_UTIME_POSIX
25242         [ff64ab7df44f]
25243
25244         * logging.c:
25245         added cast for ttyname()
25246         [444f05f56758]
25247
25248         * configure.in:
25249         fixed typo
25250         [de068e748431]
25251
25252         * check.c:
25253         now deal correctly with all known variation of utime() -- yippe
25254         [b778a4195a89]
25255
25256         * configure.in:
25257         added SUDO_FUNC_UTIME_POSIX
25258         [cf635f2269d6]
25259
25260         * aclocal.m4:
25261         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
25262         [d79593be4b73]
25263
25264         * config.h.in:
25265         added HAVE_UTIME_POSIX
25266         [c67b4ac0dca5]
25267
25268         * check.c:
25269         fixed a typo
25270         [b14df5680f59]
25271
25272         * check.c:
25273         no longer assume !HAVE_UTIME_NULL means old BSD utime()
25274         [0aeaf4b2f38b]
25275
25276         * check.c:
25277         fixed fascist C compiler warning
25278         [c61ddf2f1f93]
25279
25280         * interfaces.c:
25281         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
25282         to 0 (just to be anal)
25283         [c54cc2ba0052]
25284
25285 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25286
25287         * sudo.h:
25288         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
25289         [74cf585a54fb]
25290
25291         * logging.c:
25292         added tty logging
25293         [e27d8dcfbd78]
25294
25295         * interfaces.c:
25296         reworked the ISC code
25297         [bcf57ce8ae69]
25298
25299         * Makefile.in, version.h:
25300         updated version
25301         [032941c9b94d]
25302
25303         * check.c:
25304         now expect old-style utime(3) if utime() can't take NULL as an arg
25305         [018dd4a73030]
25306
25307         * configure.in:
25308         added check for utime.h
25309         [0b76e8feb618]
25310
25311         * config.h.in:
25312         added HAVE_UTIME_H
25313         [62ee42feda46]
25314
25315         * Makefile.in:
25316         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
25317         [fa3201d294e1]
25318
25319         * configure.in:
25320         now search for kerb libs and includes
25321         [cc332401e571]
25322
25323         * check.c:
25324         added support for utime(2)'s that can't take a NULL parameter
25325         [98797fedf69f]
25326
25327         * utime.c:
25328         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
25329         [6ce6d825fb44]
25330
25331         * configure.in:
25332         added utime(s) stuff
25333         [a2afb744403e]
25334
25335         * check.c:
25336         now use utime()
25337         [48902240a51e]
25338
25339         * config.h.in:
25340         added HAVE_UTIME and HAVE_UTIME_NULL
25341         [9a56ab65d4f4]
25342
25343 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25344
25345         * utime.c:
25346         now use HAVE_UTIME_NULL
25347         [e3944de09a92]
25348
25349         * emul/utime.h, utime.c:
25350         Initial revision
25351         [a2cbf2ef3427]
25352
25353         * check.c:
25354         need to setuid(0) to make kerb4 stuff work.
25355         [c6cfda4039d7]
25356
25357         * tgetpass.c:
25358         no more special case for kerberos
25359         [4a5c33145be9]
25360
25361         * config.h.in:
25362         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
25363         emulation)
25364         [a607ee43e650]
25365
25366         * compat.h:
25367         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
25368         kerberos
25369         [02fb274cc136]
25370
25371         * check.c:
25372         now use private ticket file for kerberos support to avoid trouncing
25373         on system one
25374         [28d8b6b812c7]
25375
25376 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25377
25378         * sudo.h:
25379         added SPOOF_ATTEMPT & cmnd_st
25380         [d3b42a1f4d0d]
25381
25382         * sudo.c:
25383         added anti-spoofing support
25384         [ab1e2aa44a57]
25385
25386         * parse.c:
25387         now use global cmnd_st
25388         [47018265a1a6]
25389
25390         * logging.c:
25391         added SPOOF_ATTEMPT suypport
25392         [7bbe9dd2a021]
25393
25394         * testsudoers.c, visudo.c:
25395         added void casts where appropriate
25396         [f191441ba333]
25397
25398         * parse.yacc:
25399         fixed up spacing and added void casts where appropriate
25400         [15d886fc809c]
25401
25402         * sudo.c:
25403         fixed problem with "-p prompt" but no args
25404         [6fc048261a3e]
25405
25406 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25407
25408         * sudo.man:
25409         added BUGS and annotated -l description
25410         [e5c506de2603]
25411
25412         * sudo.h:
25413         validate() now takes a flag
25414         [26627becc60a]
25415
25416         * sudo.c:
25417         validate() now takes a flag added -l
25418         [a4f7bb97fe54]
25419
25420         * parse.yacc:
25421         added support for -l
25422         [e7a9b10b0ad3]
25423
25424         * parse.c:
25425         validate() now takes a flag that says whether or not to check the
25426         command
25427         [9e1e67f4e281]
25428
25429 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25430
25431         * logging.c:
25432         now deals with Argv == 1
25433         [0acb637ab635]
25434
25435         * sudo.man:
25436         added -p option
25437         [e60382fc0561]
25438
25439         * sudo.c:
25440         added prompt support reworked parse_args()
25441         [2f605267ed4a]
25442
25443         * sudo.h:
25444         added prompt
25445         [5ab021bdb419]
25446
25447         * options.h:
25448         added PASSPROMPT
25449         [614727ff44a2]
25450
25451         * check.c:
25452         now use BUFSIZ as length of kerb password added kpass so pass is
25453         always a char * now use prompt global when asking for a password
25454         [76be09af784f]
25455
25456         * tgetpass.c:
25457         now use BUFSIZ as _PASSWD_LEN if using kerberos
25458         [1e907eed312b]
25459
25460         * OPTIONS:
25461         added PASSPROMPT
25462         [ddb2f405ce40]
25463
25464 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25465
25466         * configure.in:
25467         only look for -lufc or -lcrypt if crypt() not in libc
25468         [9717d315661f]
25469
25470         * check.c:
25471         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
25472         (unknown user) silently fail
25473         [2b48693d4ee9]
25474
25475         * INSTALL:
25476         added kerb4 note
25477         [986e393f740c]
25478
25479         * tgetpass.c:
25480         HAVE_KERBEROS -> HAVE_KERB4
25481         [e438bfb5e6aa]
25482
25483         * check.c:
25484         removed debugging printf
25485         [1cf9f5cbffa5]
25486
25487         * configure.in:
25488         KERBEROS -> KERB4 added checks for setreuid & setresuid
25489         [01e9945beb1e]
25490
25491         * config.h.in:
25492         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
25493         [0e0bb5b8ac3e]
25494
25495         * compat.h:
25496         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
25497         with setresuid if applic
25498         [9dae24c47696]
25499
25500         * check.c:
25501         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
25502         no setreuid() or a broken one
25503         [1fca642bdb8e]
25504
25505 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25506
25507         * configure.in:
25508         added kerberos support
25509         [da5639b9b8e7]
25510
25511         * config.h.in:
25512         added HAVE_KERBEROS
25513         [fcc5be550e65]
25514
25515         * tgetpass.c:
25516         added KERBEROS support (long passwords)
25517         [303ba6924dd2]
25518
25519         * check.c:
25520         added kerberos support
25521         [e40afe98fc1d]
25522
25523 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25524
25525         * sudo.h:
25526         added MODE_BACKGROUND
25527         [9b483c932016]
25528
25529         * sudo.man:
25530         escaped dashes added -b option
25531         [62e84f1a7714]
25532
25533         * sudo.c:
25534         added -b option
25535         [7e78aaefeb95]
25536
25537         * check.c:
25538         added crypt() for osf/1 3.x enhanced secuiry
25539         [e9aa5abdb7d5]
25540
25541         * configure.in:
25542         now check for -lcrypt
25543         [5cb9c67e9fa2]
25544
25545         * interfaces.c:
25546         added ENXIO like EADDRNOTAVAIL
25547         [74223bb1ba75]
25548
25549 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25550
25551         * configure.in:
25552         now emulate getwd(), not getcwd()
25553         [3e5439d9a5f4]
25554
25555         * sudo.c:
25556         getcwd() -> getwd()
25557         [6392a96a658e]
25558
25559         * getwd.c:
25560         getcwd -> getwd
25561         [1b0ab9bae11e]
25562
25563 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25564
25565         * ins_2001.h, ins_classic.h, ins_goons.h:
25566         Initial revision
25567         [86db60d8cf00]
25568
25569         * insults.h:
25570         broke out insults into separate include files
25571         [0a01993bd38a]
25572
25573         * OPTIONS, options.h:
25574         added GOONS
25575         [e283203c6515]
25576
25577         * Makefile.in:
25578         added ins_2001.h ins_classic.h ins_goons.h
25579         [2a39cd6a4cd2]
25580
25581         * Makefile.in, version.h:
25582         ++version
25583         [05ebf4f5e41a]
25584
25585         * visudo.c:
25586         moved signal handler setup to setup_signals()
25587         [3dd976c04540]
25588
25589         * sudo.h:
25590         added load_interfaces()
25591         [af2d473b09e2]
25592
25593         * sudo.c:
25594         moved load_interfaces to interfaces.c
25595         [5c8c138e5d4c]
25596
25597         * parse.yacc:
25598         added clearaliases
25599         [aeb4ff301daa]
25600
25601         * OPTIONS, options.h:
25602         added FAST_MATCH
25603         [f49ea3d1b525]
25604
25605         * parse.lex:
25606         now uses clearaliases variable
25607         [a2dda415bf61]
25608
25609         * interfaces.c:
25610         Initial revision
25611         [a1990e3f5c69]
25612
25613         * Makefile.in:
25614         added interfaces.[co]
25615         [1e8e5984de97]
25616
25617         * testsudoers.c:
25618         now uses ip addrs and netmasks via load_interfaces()
25619         [54b8f7a6835e]
25620
25621         * sudo.c:
25622         now remove IFS instead of setting to "sane" value
25623         [ce7eec9f115e]
25624
25625 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25626
25627         * parse.c:
25628         added FAST_MATCH
25629         [816d4f5fe81a]
25630
25631 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25632
25633         * Makefile.in:
25634         sudo_goodpath.c-> goodpath.c
25635         [a5072c4e1de2]
25636
25637         * sudo.c:
25638         added Andy's new ISC changes
25639         [caa6bbee358e]
25640
25641 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25642
25643         * OPTIONS:
25644         added a sentence to SECURE_PATH info
25645         [cad6e1569d15]
25646
25647         * BUGS:
25648         added one
25649         [4b35cf699a83]
25650
25651         * CHANGES:
25652         updated
25653         [5fded9dc62f0]
25654
25655         * RUNSON:
25656         updated
25657         [33cb993cfd39]
25658
25659 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25660
25661         * RUNSON:
25662         updated for beta3
25663         [a05dc6a91995]
25664
25665         * Makefile.in, version.h:
25666         ++version
25667         [54aaf3fadc75]
25668
25669         * aclocal.m4:
25670         sendmail is now looked for in \17/usr/ucblib
25671         [231ac1a4662f]
25672
25673         * sudo.c:
25674         fixed indentation
25675         [fb137400c8c2]
25676
25677         * aclocal.m4:
25678         fixed a typo
25679         [e03f1acc468b]
25680
25681         * sudo.c:
25682         updated ISC mods
25683         [070290d4754b]
25684
25685         * configure.in:
25686         added unixware case
25687         [e90250bae0d9]
25688
25689         * check.c:
25690         user_is_exempt is no longer hidden
25691         [1a341765b8af]
25692
25693         * RUNSON:
25694         updated
25695         [a9c4898b26dd]
25696
25697         * aclocal.m4:
25698         isc and riscos changes
25699         [98b5d86585d1]
25700
25701         * OPTIONS:
25702         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
25703         [e1ecc464ce4b]
25704
25705         * Makefile.in:
25706         fixed a typo and added testsudoers stuff
25707         [435d60e163dc]
25708
25709         * testsudoers.c:
25710         Initial revision
25711         [6ce14a448662]
25712
25713 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25714
25715         * parse.yacc:
25716         applied fixed patch from Chris
25717         [cd6144203d13]
25718
25719 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25720
25721         * Makefile.in:
25722         fixed a typo
25723         [34f8a54ba041]
25724
25725         * parse.yacc:
25726         added a set of braces for bison
25727         [f0e43b938914]
25728
25729         * parse.yacc:
25730         merged in Chris' changes to dekludge the parser.
25731         [82d6e373ab1c]
25732
25733         * logging.c:
25734         send_mail() was calling find_path() which is wrong since find_path()
25735         stores cmnd in a static var. Anyhow, it doesn't make much sense
25736         since MAILER should always be fully qualified
25737         [6eae6a0b8098]
25738
25739 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25740
25741         * sample.sudoers:
25742         added User_Alias stuff
25743         [aaba8c8e918d]
25744
25745         * aclocal.m4:
25746         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
25747         [52bd81f34b32]
25748
25749         * RUNSON:
25750         added DEC UNIX 3.0 w/ gcc
25751         [7daf570775b5]
25752
25753         * visudo.c:
25754         Exit was being used in places where exit should be used
25755         [6026a89c07ed]
25756
25757         * sudoers:
25758         added "User alias specification"
25759         [a487b6e234f8]
25760
25761         * parse.yacc:
25762         fixed probs caused by making nslots and naliases a size_t
25763         [0be919384f3f]
25764
25765         * RUNSON:
25766         added KSR, upped rev to 1.3.1b2
25767         [ce04ee6faadf]
25768
25769         * logging.c, parse.yacc:
25770         1024 -> BUFSIZ
25771         [cd6dda45fa11]
25772
25773         * parse.yacc:
25774         void * -> VOID * naliases and nslots are now size_t to appease
25775         lsearch on 64-bit machines
25776         [bf2f807c0dc1]
25777
25778 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25779
25780         * TODO:
25781         did a bunch of things and added a bunch :-)
25782         [42afd957b829]
25783
25784         * PORTING:
25785         updated
25786         [972f95c85776]
25787
25788         * visudo.man:
25789         closer to BSD manpage style
25790         [07ae88f50325]
25791
25792         * sudo.man:
25793         closer to standard BSD man format
25794         [372c28dcc135]
25795
25796         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
25797         pathnames.h.in, sudo.h, version.h:
25798         added RCS id
25799         [c0ec90b81002]
25800
25801         * sudo.h:
25802         removed crufty #defines that are no longer used
25803         [35e2b4b477f0]
25804
25805         * BUGS:
25806         fixed a bug
25807         [5bb3e1bee85e]
25808
25809         * sudo.man:
25810         updated based on sudo changes
25811         [e65de1cae438]
25812
25813         * parse.yacc:
25814         now allow ALL keyword in User_Aliases now allow ALL keyword as well
25815         as a NAME or ALIAS
25816         [1fb31404dd0f]
25817
25818         * CHANGES:
25819         updated
25820         [b24018ac610b]
25821
25822         * sudo.c:
25823         now sets SUDO_COMMAND and SUDO_GID envariables.
25824         [e9d791557fb7]
25825
25826         * aclocal.m4:
25827         fixed bug with full void impl check
25828         [35715301023c]
25829
25830         * parse.yacc:
25831         fixed User_Alias supoprt
25832         [4c30dfbaaa07]
25833
25834         * parse.yacc:
25835         added stubs for User_Alias support
25836         [f4afbd247edf]
25837
25838         * sudo.c:
25839         now sets removes # bogus interfaces from num_interfaces
25840         [6f077fac9ab1]
25841
25842         * parse.lex:
25843         added User_Alias support
25844         [bc7997e5df85]
25845
25846 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25847
25848         * Makefile.in:
25849         removed extraneous TODO
25850         [bc87a3b14d6d]
25851
25852 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25853
25854         * visudo.c:
25855         ntwk_matches -> addr_matches
25856         [475044e288b8]
25857
25858         * parse.yacc:
25859         ntwk_matches -> addr_matches
25860         [dd1f4093fd2d]
25861
25862         * parse.c:
25863         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
25864         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
25865         sizeof(long))
25866         [acd2f556940f]
25867
25868         * sudo.c:
25869         took out debugging info
25870         [044023063eca]
25871
25872         * aclocal.m4:
25873         OS was being set to unknown before non-uname based host checks.
25874         This caused no checks to happen since $OS was not zero-length.
25875         [335a7267479d]
25876
25877         * sudo.c:
25878         fixed loading of interfaces struct still has debugging info in
25879         though
25880         [2d1a18998c1e]
25881
25882         * parse.c:
25883         fixed typo
25884         [175674a3a9fa]
25885
25886 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25887
25888         * Makefile.in:
25889         ++version
25890         [55d191b5daa3]
25891
25892         * version.h:
25893         ++
25894         [d7d1f115696a]
25895
25896         * visudo.c:
25897         removed extraneous extern decl of "top
25898         [50355621047d]
25899
25900         * visudo.c:
25901         now zeros "top"
25902         [4e683210345b]
25903
25904         * parse.yacc:
25905         removed parser_cleanup (no need for it now)
25906         [afa59f222b6c]
25907
25908         * parse.lex:
25909         now calls reset_aliases() directly
25910         [3a23cbd60fc0]
25911
25912 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25913
25914         * OPTIONS:
25915         added a sentence to SECURE_PATH description
25916         [c5bf75b85af0]
25917
25918         * parse.c:
25919         fixed my stupid bug where I used NAMLEN on something I wanted to
25920         just get the name from. argh.
25921         [111f460f6540]
25922
25923 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25924
25925         * lsearch.c:
25926         fixed argument order of memmove() that i hosed when converting from
25927         bcopy(). arghh.
25928         [2f5336045c8b]
25929
25930         * Makefile.in:
25931         finally fixed DISTFILES line
25932         [a1b419e73a63]
25933
25934         * Makefile.in:
25935         tabs -> spaces
25936         [280fb03e5764]
25937
25938         * Makefile.in:
25939         added missing files to DISTFILES
25940         [991fc1cd2263]
25941
25942         * Makefile.in:
25943         SUPPORTED -> RUNSON
25944         [7580e65b05fb]
25945
25946 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25947
25948         * TODO:
25949         updated
25950         [fe764a29c1cc]
25951
25952         * RUNSON:
25953         updated for pl5b1 release
25954         [aefc35bd2291]
25955
25956         * BUGS, TODO:
25957         updated
25958         [8f0ea249b687]
25959
25960         * check.c:
25961         fixed bug where if you hit return at first sudo prompt it would
25962         still log as a failure
25963         [24539c854692]
25964
25965         * CHANGES:
25966         updated
25967         [251cc7b3ede4]
25968
25969         * aclocal.m4:
25970         better test for bogus void * implementation
25971         [efe23180cb88]
25972
25973         * logging.c:
25974         added PASSWORDS_NOT_CORRECT
25975         [bd12c73f83f7]
25976
25977         * check.c:
25978         added PASSWORDS_NOT_CORRECT stuff]
25979         [90de391a979f]
25980
25981         * sudo.h:
25982         added PASSWORDS_NOT_CORRECT
25983         [727fbeb76fc5]
25984
25985         * tgetpass.c:
25986         moved pathnames.h
25987         [4f910e5a8df7]
25988
25989         * sudo.c:
25990         removed some unused vars and fixed up uid2str
25991         [70e92c7f9076]
25992
25993         * putenv.c:
25994         moved compat.h
25995         [b271091586f6]
25996
25997         * getcwd.c, getwd.c:
25998         added pathnames.h
25999         [6f25218f133f]
26000
26001 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26002
26003         * parse.yacc:
26004         fixed a typo I introduced in the last checkin :-(
26005         [62c3af75c4fe]
26006
26007         * parse.lex:
26008         can't have #ifdef's where N is defined so just do this the broken
26009         way for AIX
26010         [c5648a5594e4]
26011
26012         * parse.yacc:
26013         better hack from Chris (but still a hack)
26014         [6b6d8aed93f3]
26015
26016         * parse.lex:
26017         stupid hack for broken aix lex
26018         [efc3f9e5280e]
26019
26020         * tgetpass.c:
26021         now includes compat.h \ 6
26022         [401822173f77]
26023
26024         * visudo.c:
26025         now includes fcntl.h
26026         [63865c2f8ac6]
26027
26028         * compat.h:
26029         added FD_SET and FD_ZERO for 4.2BSD
26030         [00c5597c0bb0]
26031
26032         * parse.yacc:
26033         dirty hack to fix parser bug. i don't really like this but it works
26034         for now...
26035         [5b8bbdc81569]
26036
26037         * sudo.c:
26038         uid2str is now static like the prototype says
26039         [f2a97b5cb870]
26040
26041 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26042
26043         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
26044         updated
26045         [6f79c3e92716]
26046
26047         * RUNSON:
26048         Initial revision
26049         [12a09ef9e884]
26050
26051         * sudo.c:
26052         check_sudoers now returns an error code and sudo calls inform_user
26053         and log_error based on the return value.
26054         [340eca188d9a]
26055
26056         * logging.c, sudo.h:
26057         added entries for new errors
26058         [6050d8542e1f]
26059
26060         * parse.c:
26061         now set uid to that of SUDOERS_OWNER while parsing sudoers file
26062         [3683c42bc9b0]
26063
26064         * Makefile.in:
26065         took out testsudoers \ 6
26066         [65317d49db48]
26067
26068         * sudo.c:
26069         now explicately checks that it is setuid root
26070         [2fe1be60ef6a]
26071
26072         * sudo.c:
26073         If a user has no passwd entry sudo would segv (writing to a garbage
26074         pointer). Now allocate space before writing :-)
26075         [d08e7eb5e5ef]
26076
26077         * configure.in:
26078         reordered AC_CHECK_FUNCS
26079         [4c82e56c6f4f]
26080
26081         * config.h.in:
26082         fixed memset macro
26083         [77ede6b714ab]
26084
26085         * tgetpass.c, visudo.c:
26086         bzero -> memset
26087         [1a005bb322c8]
26088
26089         * logging.c:
26090         bzero -> memset when a parse error is logged the line number of the
26091         error is now logged too
26092         [a42d68047723]
26093
26094         * INSTALL:
26095         added Sunos to blurb about c2 security
26096         [af750a1d131e]
26097
26098         * configure.in:
26099         added a SUN4 define for C2 security
26100         [6ad5b23a3eb0]
26101
26102         * config.h.in:
26103         bcopy -> memmove bzero -> memset
26104         [5494460c8464]
26105
26106         * lsearch.c:
26107         bcopy -> memmove char * -> VOID *
26108         [a15f5c316e16]
26109
26110         * check.c:
26111         added support for sunos with C2 security
26112         [03fea5bb21e6]
26113
26114         * OPTIONS, options.h:
26115         reordered
26116         [1686265af3e1]
26117
26118         * pathnames.h.in:
26119         _PATH_SUDO_LOGFILE now set based on configure
26120         [5867b58e4a04]
26121
26122         * configure.in:
26123         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
26124         [1984d9fd1b5c]
26125
26126         * config.h.in:
26127         added _SUDO_PATH_LOGFILE
26128         [dd3eebe62580]
26129
26130         * aclocal.m4:
26131         added SUDO_LOGFILE to find where to put sudo.log added
26132         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
26133         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
26134         [c589a515a99a]
26135
26136 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26137
26138         * TROUBLESHOOTING:
26139         Initial revision
26140         [f42f1baba3a8]
26141
26142         * sudo.c:
26143         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
26144         to work around a problem is trusted hpux shadow passwords. yuck.
26145         [ae1f13b54687]
26146
26147         * parse.yacc:
26148         backed out a change in malloc/realloc
26149         [ab868db0ad69]
26150
26151         * parse.yacc:
26152         now include stdlib.h
26153         [957eef0631eb]
26154
26155         * visudo.c:
26156         now do an freopen() of the stmp file so that yyin will always point
26157         to the same thing. This is important for flex since we are doing a
26158         YY_NEWFILE
26159         [44558922fd3e]
26160
26161         * parse.yacc:
26162         replaced yywrap() with parser_cleanup() since yywrap() needs to be
26163         in parse.lex to be able to use YY_NEW_FILE. sigh.
26164         [12dd09921074]
26165
26166         * parse.lex:
26167         now have a rule that matches anything that doesn't match an
26168         explicite rule. well, you know what i mean (. matches anything not
26169         yet matched). However, this means that there is input still queued
26170         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
26171         into parse.lex and it calls parser_cleanup() which is most of the
26172         old yywrap() sigh.
26173         [7f4042bc48d6]
26174
26175         * SUPPORTED:
26176         no longer used
26177         [8f220be4da94]
26178
26179         * getcwd.c, getwd.c:
26180         moved compat.h to be the last include file
26181         [9f3a65e2d485]
26182
26183         * parse.yacc:
26184         fixed type of aliascmp() args
26185         [1c27eb989bdf]
26186
26187         * find_path.c:
26188         NULL -> '\0'
26189         [5c8d8cf1692e]
26190
26191         * parse.yacc:
26192         added casts to lfind and lsearch args for irix
26193         [61027ddeecf8]
26194
26195         * Makefile.in:
26196         bsdinstall -> install-sh
26197         [61de6612c5a5]
26198
26199         * INSTALL:
26200         added info about make realclean
26201         [29c6324d727f]
26202
26203         * Makefile.in:
26204         updated VERSION added dependencies for visudo.cat
26205         [09077d7229d4]
26206
26207         * version.h:
26208         -> pl5b1
26209         [5d21c7ad1a41]
26210
26211         * sudo.c:
26212         took out -l
26213         [fc1478d81b38]
26214
26215         * Makefile.in:
26216         now there is a real visudo.man and visudo.cat
26217         [58aeac43a6dd]
26218
26219         * sudo.man:
26220         took out visudo stuff
26221         [4a6ac4393343]
26222
26223         * visudo.man:
26224         Initial revision
26225         [cba348843db8]
26226
26227         * parse.c, parse.lex, parse.yacc:
26228         updated copyright
26229         [ffa16b70944a]
26230
26231         * README:
26232         updated for pl5
26233         [a26e423e9e5f]
26234
26235         * sudo.man:
26236         updated Nieusma & Hieb email addresses
26237         [f0083e71989d]
26238
26239         * INSTALL:
26240         updated to include options.h and OPTIONS
26241         [ee59e2b76c94]
26242
26243         * CHANGES, TODO:
26244         updated
26245         [51e011ad5220]
26246
26247         * BUGS:
26248         eliminated bug #1 (yay)
26249         [e7e88515494e]
26250
26251         * configure.in:
26252         sunos no longer gets linked statically
26253         [2e5b3ff3108f]
26254
26255 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26256
26257         * parse.lex:
26258         prototype now uses __P()
26259         [68ecdcab4c70]
26260
26261         * parse.lex:
26262         make fill() non-ansi
26263         [d6509972260b]
26264
26265         * parse.c:
26266         made -v (validate) work
26267         [13c9d520638c]
26268
26269         * logging.c:
26270         now gives host
26271         [f04859cdba5a]
26272
26273         * find_path.c:
26274         don't check for execute/statable if fq or relative path given
26275         [4bbe851f3973]
26276
26277         * parse.c:
26278         added a cast
26279         [345c308f72f3]
26280
26281         * visudo.c:
26282         now include ctype.h for islower and tolower macros
26283         [582c0aa332d5]
26284
26285         * goodpath.c:
26286         moved _S_IFMT & _S_ISREG to compat.h
26287         [828e4ca4e7b4]
26288
26289         * sudo.c:
26290         moved a set of parens
26291         [5783474ecf37]
26292
26293         * strdup.c:
26294         now include compat.h
26295         [75e2036b94af]
26296
26297         * emul/search.h:
26298         void * -> VOID *
26299         [cedcfaf04161]
26300
26301         * parse.yacc:
26302         now cast malloc & realloc return vals added search for HAVE_LSEARCH
26303         now use strcmp if no strcasecmp available
26304         [d6a42bc3d4ae]
26305
26306         * lsearch.c:
26307         void * -> VOID *
26308         [886adc44f607]
26309
26310         * config.h.in:
26311         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
26312         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
26313         [3b50d7fb4349]
26314
26315         * compat.h:
26316         added _S_IFMT, _S_IFREG, and S_ISREG
26317         [73d506c7d53c]
26318
26319         * aclocal.m4:
26320         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
26321         to most SUDO_* macros
26322         [8442155f5936]
26323
26324         * Makefile.in:
26325         no more -I.
26326         [63462f195bd4]
26327
26328         * configure.in:
26329         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
26330         AC_INSTALL_PROG instead of custom one added check for fully woorking
26331         void implementation
26332         [5ac6b6e6230f]
26333
26334         * Makefile.in:
26335         added lsearch & search.h visudo links into $(LIBOBJS)
26336         [bc119cda4598]
26337
26338         * aclocal.m4:
26339         partial 1.x to 2.x changes added SUDO_FULL_VOID
26340         [1194d01fa5c5]
26341
26342         * visudo.c:
26343         whatnow_help was prototyped to be static be was not declared as
26344         such
26345         [0f85489dd426]
26346
26347         * configure.in:
26348         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
26349         for dirent/dir/ndir.h
26350         [7408f3854948]
26351
26352         * parse.c:
26353         now use groovy gnu autoconf macro AC_HEADER_DIRENT
26354         [e465db9f5dfa]
26355
26356         * getcwd.c, getwd.c:
26357         MAXPATHLEN -> MAXPATHLEN+1
26358         [714d87424e21]
26359
26360         * emul/search.h, lsearch.c:
26361         Initial revision
26362         [55d79482c535]
26363
26364 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26365
26366         * parse.yacc:
26367         eliminated bison warnings
26368         [61ca0a96da22]
26369
26370         * parse.lex:
26371         added missing case
26372         [6be0f849747c]
26373
26374         * visudo.c:
26375         now iincludes signal.h
26376         [221e0fcc144f]
26377
26378         * parse.yacc:
26379         only clear data structures on a parse error
26380         [7b1c0f1a4527]
26381
26382         * visudo.c:
26383         whatnow() now gives help on invalid input
26384         [e5a4cd88c587]
26385
26386         * visudo.c:
26387         added a whatnow() function (sort of like mh)
26388         [932d9b145f1c]
26389
26390         * parse.yacc:
26391         kill_aliases -> reset_aliases yywrap() now cleans up by calling
26392         reset_aliases() and clearing top took reset stuff out of yyerror()
26393         since it doesn't beling there (and doesn't work anyway). errorlineno
26394         is now initially set to -1 so we can set it to the first error that
26395         occurrs (it was getting set to the last)
26396         [2f71f95a974c]
26397
26398         * parse.lex:
26399         added a void cast
26400         [18ae6042dce4]
26401
26402         * visudo.c:
26403         rewrote from scratch based on 4.3BSD vipw.c
26404         [2f6814f18576]
26405
26406 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26407
26408         * sudo.c, sudo.h:
26409         removed ocmnd
26410         [a31735f41ad4]
26411
26412         * sudo.h:
26413         no more sudo_realpath() and find_path() changed params
26414         [8e85c3b39159]
26415
26416         * sudo.c:
26417         find_path() changed since no more realpath()
26418         [b25366c7f2ee]
26419
26420         * parse.yacc:
26421         on error, errorlineno is set to the line where the error occurred
26422         added kill_aliases() to free the aliases struct now clean up in
26423         yyerror() so we can reparse cleanly
26424         [2342f578c27a]
26425
26426         * options.h, parse.c:
26427         no more USE_REALPATH
26428         [cfc59babeaff]
26429
26430         * logging.c:
26431         changed to use new find_path()
26432         [91c7a38e7751]
26433
26434         * find_path.c:
26435         removed all the realpath() stuff
26436         [cc21a43a8562]
26437
26438         * Makefile.in:
26439         sudo_realpath.c -> sudo_goodpath.c
26440         [03a9b1ddec2f]
26441
26442         * visudo.c:
26443         now works correctly with utk parser
26444         [08aa554a0ce8]
26445
26446         * goodpath.c:
26447         Initial revision
26448         [1ea607e1ffb2]
26449
26450         * sudo_realpath.c:
26451         eliminated a compiler warning
26452         [198bcccc55b6]
26453
26454         * sudo.c:
26455         elinated compiler warning
26456         [e2384f9a878b]
26457
26458         * sudo_realpath.c:
26459         added sudo_goodpath()
26460         [43878c4cc540]
26461
26462         * sudo.h:
26463         added prototype for sudo_goodpath
26464         [23e8627a2265]
26465
26466         * parse.c:
26467         added support for /sys/dir.h
26468         [eca897087741]
26469
26470         * options.h:
26471         USE_REALPATH turned off
26472         [620ac8b63d85]
26473
26474         * find_path.c:
26475         added calls to sudo_goodpath()
26476         [ad170904fbcd]
26477
26478         * configure.in:
26479         added check for dirent.h
26480         [7964a8c26855]
26481
26482         * config.h.in:
26483         added HAVE_DIRENT_H
26484         [1f785fec7e19]
26485
26486         * configure.in:
26487         added in linux shadow pass stuff \ 6
26488         [e585a5785f50]
26489
26490 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26491
26492         * visudo.c:
26493         added back host, user, cmnd, parse_error
26494         [0ec19f3d64f4]
26495
26496         * visudo.c:
26497         added in utk changes plus some minor cosmetic changes
26498         [c5c1921c8a58]
26499
26500         * sudo.c, sudo_realpath.c:
26501         added void casts for printf's
26502         [9c6ff11c0082]
26503
26504         * options.h:
26505         added a define of USE_REALPATH
26506         [db3711c9efc5]
26507
26508         * configure.in:
26509         there is no more visudoers/Makefile
26510         [36e1bc1f78d0]
26511
26512         * Makefile.in:
26513         added in utk changes (visudo is now built from the toplevel)
26514         [76203d4b345d]
26515
26516         * find_path.c:
26517         added (void) casts to printf's
26518         [dd5cb1e060ac]
26519
26520         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
26521         merged in utk changes
26522         [35563307fd8e]
26523
26524 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26525
26526         * find_path.c:
26527         now check to see that what we are trying to run is a file (or a link
26528         to a file, we do a stat(2) so there is no diff)
26529         [05889c4bcace]
26530
26531 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26532
26533         * CHANGES:
26534         updated
26535         [3e8047bb26fb]
26536
26537         * Makefile.in:
26538         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
26539         [0bdbaa7c4c7d]
26540
26541         * sudo.man:
26542         added myself as maintainer
26543         [77a9d75aab84]
26544
26545 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26546
26547         * sudo.c:
26548         changed setegid -> setgid
26549         [7f4788d73b6f]
26550
26551 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26552
26553         * configure.in:
26554         fixed the test for irix 5.x to skip bad libs
26555         [bfef896de013]
26556
26557         * aclocal.m4:
26558         now initialize OS and OSREV
26559         [cc302756e440]
26560
26561 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26562
26563         * configure.in:
26564         irix5 changes
26565         [ac985b23f5f2]
26566
26567         * configure.in:
26568         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
26569         compatibility
26570         [0cf8c92a06d7]
26571
26572 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26573
26574         * visudo.c:
26575         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
26576         thing wrt yyrestart (grrrr)
26577         [18e8eabfbb82]
26578
26579 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26580
26581         * Makefile.in:
26582         added visudoers/compat.h to DISTFILES
26583         [db23b574b034]
26584
26585         * configure.in:
26586         fixed an echo
26587         [7cbc0462b89d]
26588
26589         * sudo.c:
26590         added ocmnd declaration adjusted for find_path()'s new parameters
26591         [d929cd156474]
26592
26593         * sudo.h:
26594         added ocmnd extern adjusted find_path() prototype
26595         [e0004daf5d3c]
26596
26597         * parse.c:
26598         cmndcmp() now takes 3 arguments and checks against the qualified as
26599         well as the unqualified pathname. more code that should use
26600         cmndcmp() but did not, now does
26601         [6f70a8c17bee]
26602
26603         * options.h:
26604         added to a comment
26605         [7a78680426b2]
26606
26607         * logging.c:
26608         changed to use new find_path() parameter passing
26609         [840981d30db4]
26610
26611         * find_path.c:
26612         find_path() now takes 2 copyout parameters (one for the qualified
26613         pathname and one for the unqualified pathname). The third parameter
26614         may be NULL.
26615         [851503b005e9]
26616
26617         * configure.in:
26618         no longer munge pathnames.h
26619         [427d8796c5a9]
26620
26621         * pathnames.h.in:
26622         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
26623         as a result, pathnames.h does not need to be run through configure
26624         and the user can override the configured values easily.
26625         [2e378f2ebe88]
26626
26627         * config.h.in:
26628         added _SUDO_PATH_* entries
26629         [0857de7cebab]
26630
26631         * aclocal.m4:
26632         _PATH* -> _SUDO_PATH_*
26633         [7601193f56cc]
26634
26635         * Makefile.in:
26636         updated DISTFILES and HDRS .o's now depend on config.h
26637         [39d8601965cf]
26638
26639 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26640
26641         * compat.h:
26642         removed extraneous #endif
26643         [27d4c5f2ce7e]
26644
26645         * aclocal.m4:
26646         added SUDO_PROG_MV
26647         [76dda3bdd816]
26648
26649         * configure.in:
26650         added SUDO_PROG_MV added riscos and isc os types took out
26651         -DSHORT_MESSAGE from --with-csops since it is now the default
26652         [68c206ad976e]
26653
26654         * sudo.c:
26655         move the include of id.h to compat.h now includes options.h
26656         [45a1eaafb3a8]
26657
26658         * sudo.h:
26659         moved compatibility #defines to compat.h
26660         [0eee27057698]
26661
26662         * pathnames.h.in:
26663         added _PATH_MV
26664         [e830797ab320]
26665
26666         * config.h.in:
26667         move __P to compat.h
26668         [188e12e0ba93]
26669
26670         * getcwd.c, getwd.c, putenv.c:
26671         now includes compat.h
26672         [c72cb6d73981]
26673
26674         * compat.h:
26675         Initial revision
26676         [d4d2f359ae03]
26677
26678 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26679
26680         * sudo.h:
26681         pull user-configurable stuff out and put in options.h
26682         [ef929467b070]
26683
26684 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
26685
26686         * parse.lex, parse.yacc, visudo.c:
26687         now includes options.h
26688         [e36d7c82add1]
26689
26690         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
26691         sudo_setenv.c:
26692         now includes options.h
26693         [f186ba03de07]
26694
26695         * Makefile.in:
26696         added visudoers/options.h
26697         [e5350c476494]
26698
26699         * OPTIONS, options.h:
26700         Initial revision
26701         [9b6b5001e318]
26702
26703         * Makefile.in:
26704         added OPTIONS and options.h
26705         [25448341e16a]
26706
26707         * logging.c:
26708         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
26709         [5dd6385dd1d3]
26710
26711         * check.c, sudo.h:
26712         changed PASSWORD_TIMEOUT to minutes
26713         [0ec6aab98738]
26714
26715 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26716
26717         * visudo.c:
26718         now only do Editor +line_num if line_num != 0
26719         [b69f04b5e3c7]
26720
26721 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26722
26723         * visudo.c:
26724         now use mv if rename(2) fails
26725         [83210dca1bab]
26726
26727         * BUGS:
26728         added a visudo bug
26729         [d61a806f9aa7]
26730
26731         * check.c:
26732         expanded comment
26733         [641f2cba94cb]
26734
26735 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26736
26737         * check.c:
26738         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
26739         [7a11135039a8]
26740
26741 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
26742
26743         * sudo.c:
26744         added mips & isc support
26745         [e258dc053119]
26746
26747         * parse.c:
26748         added support for non-root owned sudoers file
26749         [fea07e65a0fc]
26750
26751         * check.c:
26752         added exempt group support
26753         [928fb4bd9ad5]
26754
26755         * sudo.h:
26756         added set_perms() support added SUDOERS_OWNER so can have non-root
26757         own sudoers file added exempt group support added isc support
26758         [61c578d31fc1]
26759
26760         * visudo.c:
26761         now copy sudoers to temp file via read/write (not stdio) now chown
26762         new sudoers file to SUDOERS_OWNER
26763         [a5176c59df70]
26764
26765 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26766
26767         * configure.in:
26768         added skey support
26769         [35a8d2fabdb7]
26770
26771         * sudo_realpath.c:
26772         be_* -> setperms()
26773         [a1631d686e1c]
26774
26775         * sudo.h:
26776         fixed typo added set_perms support added skey support added
26777         seteuid()/setegid() emulation for AIX
26778         [c0c8d6771406]
26779
26780         * sudo.c:
26781         be_* -> setperms() now check to make sure sudoers file is owned by
26782         root nread/write by only root
26783         [13ab1e261f1a]
26784
26785         * logging.c, parse.c:
26786         be_* -> setperms()
26787         [21499d845c8f]
26788
26789         * check.c:
26790         be_* -> set_perms() added skey support
26791         [df51b56871c1]
26792
26793 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26794
26795         * Makefile.in:
26796         ++version
26797         [3c1abbe4e43c]
26798
26799         * version.h:
26800         ++
26801         [1d2f9b540a95]
26802
26803 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26804
26805         * sudo.c:
26806         now sets IFS
26807         [eabbb41b9f08]
26808
26809         * insults.h:
26810         fixed typo
26811         [c7997f19216e]
26812
26813 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26814
26815         * config.h.in:
26816         added HAVE_SKEY
26817         [da948ec4186b]
26818
26819 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26820
26821         * CHANGES:
26822         updated
26823         [f4b55ab007ea]
26824
26825         * Makefile.in:
26826         ++version
26827         [0489068b8c95]
26828
26829         * version.h:
26830         ++
26831         [d189faedf423]
26832
26833         * sudo.c:
26834         now bail if ARgv[1] > MAXPATHLEN
26835         [0cea8ecc9dc2]
26836
26837         * configure.in:
26838         added function check for tcgetattr(3)
26839         [e03289b22c2f]
26840
26841         * config.h.in:
26842         only define HAVE_TERMIOS_H if you have tcgetattr(3)
26843         [757eab83d1a2]
26844
26845         * config.h.in:
26846         added check for tcgetattr
26847         [c5ae92715930]
26848
26849 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26850
26851         * CHANGES:
26852         updated
26853         [cbc419883108]
26854
26855 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26856
26857         * parse.lex:
26858         now only include unistd.h for linux
26859         [e9adeab95ef0]
26860
26861 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26862
26863         * Makefile.in:
26864         added visudo.8 generation
26865         [d6a3f0f887f8]
26866
26867         * configure.in:
26868         added -Wl,-bI:./aixcrypt.exp to aix flags
26869         [72594a21edcf]
26870
26871 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26872
26873         * BUGS:
26874         added one
26875         [9993a349e096]
26876
26877         * CHANGES:
26878         updated
26879         [297b31ec4cdd]
26880
26881         * README:
26882         added mailing list info
26883         [10372f94a2b2]
26884
26885         * parse.yacc:
26886         now use sudolineno instead of yylineno fixed bison warnings
26887         [25a83e62057b]
26888
26889         * configure.in:
26890         now use -no_library_replacement for osf don't make a static binary
26891         for hpux >= 9.0
26892         [1fa7b892f1a3]
26893
26894         * tgetpass.c:
26895         added string.h/strings.h inclusion
26896         [71faa98fc0a1]
26897
26898         * config.h.in:
26899         added ssize_t def
26900         [406284bd1ac0]
26901
26902         * parse.lex:
26903         added inclusion of string.h/strings.h
26904         [6985b1df5d09]
26905
26906         * aclocal.m4:
26907         fixed uname | sed (needed to quote the '[')
26908         [4cd2d3415c1a]
26909
26910         * parse.lex:
26911         replaced yylineno with sudolineno fixed bison syntax errors
26912         [0bd31a5fab26]
26913
26914         * visudo.c:
26915         changed yylineno to sudolineno since yylineno cannot be counted
26916         upon.
26917         [38c30104d0ae]
26918
26919         * TODO:
26920         updated
26921         [5d4746f1a752]
26922
26923         * parse.c:
26924         added code to support command listings
26925         [030172e133fd]
26926
26927         * sudo.c:
26928         added code for -l flag
26929         [801dbbc82778]
26930
26931         * sudo.man:
26932         fixed typo added info for -l flag
26933         [8916ca945d65]
26934
26935         * configure.in:
26936         AC_SSIZE_T -> SUDO_SSIZE_T
26937         [c61f7f47013f]
26938
26939         * aclocal.m4:
26940         added SUDO_SSIZE_T
26941         [0ccdb77be84d]
26942
26943         * sudo.h:
26944         added MODE_LIST
26945         [9b2bd844c76c]
26946
26947         * configure.in:
26948         added AC_SSIZE_T
26949         [35cca208f9b5]
26950
26951         * find_path.c, sudo_realpath.c:
26952         readlink() is now declared as returning ssize~_t
26953         [0640a08d1407]
26954
26955         * configure.in:
26956         added -laud for OSF c2
26957         [b7539c905efc]
26958
26959 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
26960
26961         * Makefile.in, visudo.c:
26962         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
26963         [067fd9bcb5e1]
26964
26965         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
26966         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
26967         [fc46e7c7110a]
26968
26969         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
26970         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
26971         sudo_setenv.c, tgetpass.c, version.h:
26972         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
26973         [d1d4fbc53a98]
26974
26975 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26976
26977         * Makefile.in:
26978         ++version
26979         [b7066d97633f]
26980
26981         * version.h:
26982         ++
26983         [65ec69d88110]
26984
26985         * logging.c:
26986         added host to alertmail messages
26987         [d973c19ce777]
26988
26989         * CHANGES, TODO:
26990         udpated
26991         [5a65eb16faeb]
26992
26993         * logging.c:
26994         fixed logging problem where mail would not say which user it was
26995         [35723edcc5d2]
26996
26997         * configure.in:
26998         added -laud for gcc if osf & c2
26999         [18f1e0ae5548]
27000
27001         * check.c:
27002         moved set_auth_parameters to sudo.c
27003         [d23112fe01db]
27004
27005         * sudo.c:
27006         added set_auth_parameters for osf
27007         [eb70f65214ac]
27008
27009         * configure.in:
27010         cleaned up -static stuff
27011         [01e9575f0422]
27012
27013         * Makefile.in:
27014         ++version
27015         [7ac3bff5c770]
27016
27017         * version.h:
27018         ++
27019         [10a4ff478469]
27020
27021         * sudo.c:
27022         changed setenv() to sudo_setenv()
27023         [40a78abb9946]
27024
27025         * check.c:
27026         fixed osf problem
27027         [3d69b118efb8]
27028
27029         * configure.in:
27030         added OSF C2 stuff
27031         [38cff3ad4093]
27032
27033         * CHANGES:
27034         updated
27035         [cd341dd0581a]
27036
27037         * check.c:
27038         added osf auth support & removed some extra spaces
27039         [a448cdd81514]
27040
27041         * INSTALL, SUPPORTED:
27042         added osf C2 stuff
27043         [f70484796146]
27044
27045 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
27046
27047         * TODO:
27048         added 2 suggestions
27049         [695fbdbd86e6]
27050
27051         * Makefile.in:
27052         removed README.v1.3.1 and added VERSION stuff
27053         [f69403eb04c6]
27054
27055         * version.h:
27056         pl1
27057         [21580c0f8cb1]
27058
27059 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27060
27061         * version.h:
27062         1.3.1final
27063         [630114970298]
27064
27065         * Makefile.in:
27066         added HISTORY
27067         [901bff251614]
27068
27069         * sudo.man:
27070         mention HISTPRY file
27071         [86dbcfd4326e]
27072
27073         * sudo.c:
27074         use sizeof instead of a constant in 1 place
27075         [d819604c68ca]
27076
27077         * parse.yacc:
27078         added unistd.h
27079         [6f9500f9fe7e]
27080
27081         * parse.lex:
27082         added unistd.h
27083         [468b81a276eb]
27084
27085         * README:
27086         udpated
27087         [7e275618923a]
27088
27089         * HISTORY:
27090         Initial revision
27091         [5db1b0a3939b]
27092
27093 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27094
27095         * version.h:
27096         ++
27097         [7dfbb4a810bb] [SUDO_1_3_1]
27098
27099         * CHANGES:
27100         updated
27101         [7820ee610bf8]
27102
27103         * sudo_setenv.c:
27104         added unistd.h include
27105         [30cf2b654525]
27106
27107 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27108
27109         * sudo.c:
27110         added sys/time.h for AIX
27111         [199fc8caf3a3]
27112
27113 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27114
27115         * configure.in:
27116         added check for -lsocket and sys/sockio.h
27117         [f9abfbb31031]
27118
27119         * config.h.in:
27120         took out libshadow check and added in sys/sockio.h check
27121         [0c4b0393ac80]
27122
27123         * sudo.c:
27124         now include sockio.h instead of ioctl.h if it exists "sudo -" now
27125         gets a better error message
27126         [53041bea5483]
27127
27128         * sample.sudoers:
27129         now has a dir and subnet entry
27130         [56b820f65438]
27131
27132 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27133
27134         * sudo.c:
27135         removed if_ether.h
27136         [b4f64507493e]
27137
27138         * TODO:
27139         added an item
27140         [ea2a1bb6922a]
27141
27142         * sudo.man:
27143         added network and ip addresses to man page
27144         [01c85016511f]
27145
27146         * sudo.c:
27147         no error if can't get interfaces or netmask since networking may not
27148         be in the kernel.
27149         [50b8890e2134]
27150
27151         * parse.c:
27152         nwo check for interfaces == NULL
27153         [dc1b3eef0db2]
27154
27155         * parse.c:
27156         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
27157         the last entry in the spec failed (ie: it was only looking at the
27158         last entry). CLeaned things up by adding the cmndcmp() function--all
27159         neat & tidy
27160         [007e93578e5e]
27161
27162         * CHANGES:
27163         added one
27164         [40e8a2cef497]
27165
27166 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27167
27168         * sudo.c:
27169         now do two passes to skip bogus interfaces (lo0, etc)
27170         [465e30aecaf7]
27171
27172         * parse.lex, parse.yacc, visudo.c:
27173         added include of netinet/in.h
27174         [11e3816ed362]
27175
27176         * logging.c, sudo_realpath.c, sudo_setenv.c:
27177         added ninclude of netinet/in.h
27178         [daccfa40fe1e]
27179
27180         * check.c, find_path.c, getcwd.c, getwd.c:
27181         added include of netinet/in.h
27182         [0222f95e06ad]
27183
27184         * version.h:
27185         ++
27186         [d6b0cfa35a38]
27187
27188         * sudo.h:
27189         added interfaces global
27190         [ba52fa8ad75e]
27191
27192         * parse.c:
27193         now uses new interfaces global
27194         [17473ad5ecba]
27195
27196         * sudo.c:
27197         now ip addresses are gleaned fw/o dns
27198         [8828bb2007e0]
27199
27200 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
27201
27202         * sudo.c:
27203         added load_ip_addrs() to load the ip_addrs global var
27204         [60c825f04238]
27205
27206         * parse.c:
27207         added hostcmp() to compare hostnames, ip addrs, and network addrs
27208         [ab0e40e37537]
27209
27210         * sudo.h:
27211         added ip_addrs def added load_ip_addrs prototype
27212         [c41c565d0777]
27213
27214 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27215
27216         * CHANGES:
27217         updated
27218         [2a128dbe9bcb]
27219
27220         * Makefile.in:
27221         removed multiple entries in DISTFILES
27222         [2490f4f371e6]
27223
27224         * visudo.c:
27225         ansified the !STDC_HEADERS decls
27226         [646ba06d17ae]
27227
27228         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
27229         don't do malloc decl if gnuc
27230         [f1bad1925f98]
27231
27232         * sudo.c:
27233         can't use getopt(3) since it munges args to the command to be run as
27234         root don't do malloc decl if gnuc
27235         [38e78f6da14e]
27236
27237         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
27238         sudo_realpath.c, sudo_setenv.c:
27239         ansi-fied !STDC_HEADER function prottypes
27240         [51d8cad89976]
27241
27242         * getcwd.c, getwd.c:
27243         added missing paren
27244         [6a1fae70e27e]
27245
27246         * Makefile.in:
27247         added putenv.c to DISTFILES
27248         [a5e4523eabbb]
27249
27250         * sudo_setenv.c:
27251         added params to func decls when STDC_HEADERS is not defined now can
27252         count on putenv() being there
27253         [fd587796189b]
27254
27255         * sudo_realpath.c:
27256         took out errno decl since sudo.h does it for us fixed up a next cc
27257         warning added params to func decls when STDC_HEADERS is not defined
27258         [70fa5152ace6]
27259
27260         * sudo.h:
27261         took out environ extern added local declaratio of putenv() if local
27262         version is needed
27263         [a84bae6c020d]
27264
27265         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
27266         added params to func decls when STDC_HEADERS is not defined
27267         [f406f0e47ac0]
27268
27269         * config.h.in:
27270         added memcpy check check to see that ansi vs bsd macros are ntot
27271         already defiend before defining (ie: avoid redefinition)
27272         [879ae026e19f]
27273
27274         * configure.in:
27275         removed fluff setenv check plus check w/ replace for putenv if also
27276         no setenv
27277         [e3c03814ad4b]
27278
27279         * putenv.c:
27280         Initial revision
27281         [3cff63e2dc1b]
27282
27283 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27284
27285         * sudo_setenv.c:
27286         Initial revision
27287         [4d637631fa6b]
27288
27289         * sudo.h:
27290         rm'd s realp[ath added sudo_realpath and sudo_setenv
27291         [07ba001ff57e]
27292
27293         * sudo.c:
27294         now use sudo_setenvc
27295         [fd81e04d5ef0]
27296
27297         * configure.in:
27298         added puteenv and setenv, removed realpath
27299         [27bfacfb513b]
27300
27301         * config.h.in:
27302         added putenv & setenv
27303         [515f14eaf6e4]
27304
27305         * Makefile.in:
27306         added sudo_setenv
27307         [217731a717c5]
27308
27309         * version.h:
27310         ++
27311         [eadb346d7129]
27312
27313 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27314
27315         * configure.in:
27316         added MAN_POSTINSTALL and /usr/share/catman for irix
27317         [2a9496c1bdba]
27318
27319         * Makefile.in:
27320         added MAN_POSTINSTALL
27321         [89b0d4695529]
27322
27323         * CHANGES:
27324         added
27325         [48c021ba8a70]
27326
27327         * sudo.man:
27328         added SUDO_* plus new options
27329         [c0759cff5683]
27330
27331         * CHANGES:
27332         added one
27333         [7d44a3922d56]
27334
27335         * configure.in:
27336         took out shadow lib
27337         [07cf3de18701]
27338
27339         * TODO:
27340         adde done
27341         [a27a578e8afe]
27342
27343         * visudo.c:
27344         now use yyrestart() if flex now reset yylineno to 0
27345         [77d67ce0b677]
27346
27347         * Makefile.in:
27348         support for installing a cat page instead of a man page if no nroff
27349         [44671c0fc0fa]
27350
27351         * configure.in:
27352         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
27353         to determine whether or not to install a cat or man page
27354         [0562d069c135]
27355
27356         * config.h.in:
27357         added HAVE_FLEX
27358         [c5490bae39d3]
27359
27360         * sudo.c:
27361         not set ret to MODE_RUN initially
27362         [88b4983c195b]
27363
27364         * find_path.c:
27365         made command (and therefor cmnd dynamically allocated)
27366         [95b82e32b6de]
27367
27368         * TODO:
27369         did #8
27370         [fb6f41308cdf]
27371
27372         * version.h:
27373         ++
27374         [14112ecab5ae]
27375
27376         * sudo_realpath.c:
27377         changed bufs from MAXPATHLEN to MAXPATHLEN+1
27378         [0ad4f34e55c0]
27379
27380         * sudo.h:
27381         added MODE_ removed validate_only and added remove_timestamp()
27382         [dd5f99c57728]
27383
27384         * sudo.c:
27385         usage() now takes an int (exit value) added parse_args() to parse
27386         command line arguments moved call to find_path() from load_globals
27387         to new function load_cmnd() removed validate_only global -- now use
27388         the concept of "modes" added -h and -k options
27389         [c3887090b28a]
27390
27391         * parse.c:
27392         no longer use global validate_only now checks for command called
27393         "validate" removed check for non-fully qualified commands since that
27394         is done by find_path
27395         [7d56fbd26369]
27396
27397         * find_path.c:
27398         changed MAXPATHLEN r to MAXPATHLEN+1
27399         [a86e8664d971]
27400
27401         * find_path.c:
27402         fixed off by one error with MAXPATHLEN and fixed a comment
27403         [58adcef8c981]
27404
27405         * check.c:
27406         check_timestamp no longer runs reminder(), it is implied in the
27407         return val added remove_timestamp()
27408         [42ab5a77066f]
27409
27410         * CHANGES:
27411         updated
27412         [8e69b31df024]
27413
27414 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27415
27416         * BUGS:
27417         fixed on
27418         [bc34f1ac4280]
27419
27420         * sudo_realpath.c:
27421         took out old_errno
27422         [a168d00a0768]
27423
27424         * CHANGES:
27425         updated
27426         [04ba80922df7]
27427
27428 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27429
27430         * logging.c:
27431         moved send_mail to after syslog
27432         [4d4188087834]
27433
27434         * sudo.c:
27435         now set SUDO_ envariables
27436         [e5963f1bd3bb]
27437
27438 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27439
27440         * version.h:
27441         ++
27442         [2a4534845d8c]
27443
27444         * sudo_realpath.c:
27445         now print error if chdir fails
27446         [0d75c8973d49]
27447
27448         * find_path.c:
27449         removed an XXX
27450         [e2077bcb35aa]
27451
27452 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27453
27454         * CHANGES:
27455         updated
27456         [e30a2b39b41a]
27457
27458         * configure.in:
27459         no more static binaries for aix
27460         [77a0beb6bd80]
27461
27462 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27463
27464         * INSTALL:
27465         fixed typo
27466         [ba5e0d391bc4]
27467
27468         * sudo_realpath.c:
27469         took out stuff not needed for sudo now does be_root/be_user itself
27470         now uses cwd global
27471         [4f6d4641d793]
27472
27473         * version.h:
27474         +=2
27475         [97da927b297c]
27476
27477         * logging.c, sudo.c:
27478         be_root/be_user is now down in sudo_realpath()
27479         [f331662fa50f]
27480
27481         * logging.c, sudo.h:
27482         now works with 4.2BSD syslog (blech)
27483         [98e39d89dd36]
27484
27485         * find_path.c:
27486         now use sudo_realpath()
27487         [ab436a8ebd02]
27488
27489         * config.h.in:
27490         took out realpth() stuff since we now use sudo_realpath()
27491         [8de5ef9f6044]
27492
27493         * configure.in:
27494         ultrix enhanced sec
27495         [815fb7fffcc0]
27496
27497         * SUPPORTED:
27498         added ultrix enhanced sec.
27499         [6466766c8062]
27500
27501         * INSTALL:
27502         updated
27503         [d681a634297a]
27504
27505         * check.c:
27506         ultrix enhanced security suport
27507         [f10c8decbcc2]
27508
27509         * Makefile.in:
27510         added sudo_realpath.c
27511         [6b9bcd3be022]
27512
27513         * CHANGES:
27514         updated
27515         [2fa8084c1b53]
27516
27517         * tgetpass.c:
27518         increased passwd len to 24 for c2 security
27519         [ec64838be62d]
27520
27521         * BUGS:
27522         updated BUGS
27523         [ca00d8fec2ce]
27524
27525 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27526
27527         * check.c:
27528         now use user global var
27529         [568769719013]
27530
27531         * configure.in:
27532         took out -ls
27533         [490a44180d5f]
27534
27535 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27536
27537         * configure.in:
27538         added AFS libs
27539         [4fb40c8c01ba]
27540
27541         * sudo.h:
27542         user is now a char * added epasswd
27543         [27a919fafdfb]
27544
27545         * sudo.c:
27546         added tzset() to load_globals added epasswd (encrypted password)
27547         global made user dynamically allocated
27548         [b99ef9bdbfce]
27549
27550         * configure.in:
27551         added tzset test
27552         [27592dd1214b]
27553
27554         * config.h.in:
27555         added HAVE_TZSET
27556         [b13f4213f3d0]
27557
27558         * check.c:
27559         cleaned up encrypted passwd grab somewhat
27560         [c8ba9a4db38a]
27561
27562         * configure.in:
27563         fixed AFS typo
27564         [2bfcbce237b6]
27565
27566         * INSTALL:
27567         added AFS not
27568         [80c67329393c]
27569
27570         * CHANGES:
27571         udpated
27572         [2f09ecdd5d31]
27573
27574         * logging.c:
27575         can now log to both syslog & a file
27576         [4d5c0932bc01]
27577
27578         * sudo.h:
27579         added BOTH_LOGS
27580         [623c539be824]
27581
27582         * CHANGES:
27583         updated
27584         [a1c7f5ef3616]
27585
27586         * configure.in:
27587         --with-AFS
27588         [28718d8f5daf]
27589
27590         * config.h.in:
27591         added HAVE_AFS
27592         [2e32bb4e63e4]
27593
27594         * check.c:
27595         added afs changes
27596         [fe4d0ff320a2]
27597
27598         * sudo.h:
27599         removed AFS stuff :-)
27600         [a40387e6fa27]
27601
27602         * tgetpass.c:
27603         include sys/select for AIX
27604         [f32c5a8f2c84]
27605
27606         * sudo.h:
27607         added AFS
27608         [da2ab3dd0348]
27609
27610         * version.h:
27611         ++
27612         [452d4dfe25af]
27613
27614 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27615
27616         * CHANGES, SUPPORTED:
27617         updated
27618         [e7dfe6f23a37]
27619
27620         * logging.c:
27621         can now have MAILER undefined
27622         [1d33b98b35e1]
27623
27624         * INSTALL:
27625         new sub-note about MAILER
27626         [d35c636a0574]
27627
27628         * sudo.man:
27629         added blurb about password timeout
27630         [70c2ee50de20]
27631
27632         * configure.in:
27633         convex c2 changes
27634         [367138a6232e]
27635
27636         * aclocal.m4:
27637         took out duplicate define of _CONVEX_SOURCE
27638         [647182138450]
27639
27640         * Makefile.in:
27641         added OSDEFS
27642         [7fdcd50602d1]
27643
27644         * config.h.in:
27645         added spaces
27646         [f2b8a05e48f3]
27647
27648         * tgetpass.c:
27649         added a goto if fgets fails
27650         [68a6586d9c45]
27651
27652         * sudo.h:
27653         use __hpux not hpux convex c2 stuff
27654         [5c377a8d5f34]
27655
27656         * sudo.c:
27657         use __hpux not hpux
27658         [9363bc0f9f9e]
27659
27660         * logging.c:
27661         convex c2 stuff
27662         [ea5630975ac4]
27663
27664         * config.h.in:
27665         define ansi-ish cpp os defines if non-ansi are defined for hpux &
27666         convex
27667         [664f53a5e786]
27668
27669         * INSTALL:
27670         updated to say we support sonvex C2
27671         [5f2f8b87013e]
27672
27673         * check.c:
27674         added convex c2 support
27675         [9a665d4918fa]
27676
27677 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27678
27679         * tgetpass.c:
27680         no more ioctl never returns NULL uses fgets() and select() to
27681         timeout
27682         [b333e6d63e97]
27683
27684 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27685
27686         * configure.in:
27687         things were testing -n "$GCC" instead of -z "$GCC"
27688         [059a9b15ede2]
27689
27690         * tgetpass.c:
27691         now works + uses fgets()
27692         [353d7ebcb7bb]
27693
27694 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27695
27696         * tgetpass.c:
27697         select doesn't seem to recognize a single '\n' as input waiting so
27698         we can;t use it, sigh.
27699         [f76e3218b835]
27700
27701 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27702
27703         * PORTING:
27704         updated tgetpass() blurb
27705         [95baac736b49]
27706
27707         * configure.in:
27708         added --with-getpass
27709         [42ac0bdf58ed]
27710
27711         * Makefile.in:
27712         added tgetpass stuff
27713         [e2b38c635663]
27714
27715         * tgetpass.c:
27716         now uses stdio
27717         [36af8ff66e35]
27718
27719         * version.h:
27720         ++
27721         [4e81c9db19bd]
27722
27723 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27724
27725         * PORTING:
27726         updated ,.
27727         [54f523770a05]
27728
27729         * config.h.in:
27730         added USE_GETPASS && HAVE_C2_SECURITY
27731         [86b355cb2953]
27732
27733         * configure.in:
27734         fixed a test aded --with-C2 and --with-tgetpass
27735         [abf6181588ef]
27736
27737         * check.c:
27738         added hpux C2 shit
27739         [20d4177ffa88]
27740
27741         * Makefile.in:
27742         took out tgetpass.*
27743         [cc82fd9984b4]
27744
27745         * INSTALL:
27746         added C2 blurb
27747         [1d2bfc35e4b6]
27748
27749 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
27750
27751         * configure.in:
27752         no termio(s) for ultrix since it is broken
27753         [d3e82e835350]
27754
27755         * check.c:
27756         added a space (yeah, anal)
27757         [05e4b31ca68c]
27758
27759         * realpath.c, sudo_realpath.c:
27760         fixed it (duh, rtfm)
27761         [f13097cb8cb6]
27762
27763 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27764
27765         * config.h.in:
27766         took out bsd signal stuff for irix
27767         [e179cdafc97a]
27768
27769         * visudo.c:
27770         comments in #endif
27771         [e3a629190f5e]
27772
27773         * configure.in:
27774         don't define BSD signals for irix
27775         [3ce57bffb7f0]
27776
27777         * TODO:
27778         did some...
27779         [274241cd0f74]
27780
27781         * CHANGES:
27782         updated
27783         [8f29fc755faf]
27784
27785         * realpath.c, sudo_realpath.c:
27786         took out unneeded code by changing where a strings was terminated
27787         [b5564d62d30e]
27788
27789 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27790
27791         * realpath.c, sudo_realpath.c:
27792         fix bug where /dirname would return NULL
27793         [b85f470daf26]
27794
27795         * sudo.h:
27796         move __P to config.h
27797         [7763c0ff3f28]
27798
27799         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
27800         added errno definition
27801         [4cc9d2d9782a]
27802
27803         * config.h.in:
27804         added __P
27805         [ca06f5aa58f3]
27806
27807         * config.h.in:
27808         added HAVE_FCHDIR
27809         [206d714641e0]
27810
27811         * strdup.c:
27812         now include stdio
27813         [0d8458da0e1d]
27814
27815         * realpath.c, sudo_realpath.c:
27816         now works if no fchdir
27817         [e035911b6722]
27818
27819         * visudo.c:
27820         define SA_RESETHAND to null if not defined
27821         [afec03e84342]
27822
27823         * configure.in:
27824         added check & replace
27825         [c1a65481441c]
27826
27827         * configure.in:
27828         took out -static for nextstep -- it doesn't work
27829         [fa1a1a611743]
27830
27831 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27832
27833         * logging.c:
27834         moved #endif to where it belongs
27835         [07d3a8972097]
27836
27837         * SUPPORTED:
27838         correction
27839         [0c1ecba3e5a3]
27840
27841         * configure.in:
27842         now checks for strdup realpath getcwd bzero
27843         [f029a1917515]
27844
27845         * config.h.in:
27846         emulate bzero
27847         [d792352e44a3]
27848
27849         * visudo.c:
27850         added posic signals
27851         [2ed0005f90fc]
27852
27853         * tgetpass.c:
27854         bzero cast
27855         [6d91b1a1526f]
27856
27857         * logging.c:
27858         added posix signals
27859         [67ede9c22a05]
27860
27861         * configure.in:
27862         removed BROKEN_GETPASS added new srcs toreplace missing functions
27863         [cf44274bb1c8]
27864
27865         * config.h.in:
27866         added posix signal stuff
27867         [a3c1c98fe8ef]
27868
27869         * Makefile.in:
27870         added new srcs
27871         [b6a079afee47]
27872
27873         * visudo.c:
27874         updated useag
27875         [589ed091c44f]
27876
27877         * tgetpass.c:
27878         now uses posix signals
27879         [30f74964074f]
27880
27881         * PORTING:
27882         updated sto reflect major changes
27883         [bcfc309e017b]
27884
27885         * CHANGES, TODO:
27886         updated
27887         [23aacbd54278]
27888
27889         * tgetpass.c:
27890         uses sysconf() if available
27891         [a27431c90bab]
27892
27893         * sudo.h:
27894         added PASSWORD_TIMEOUT + prototypes for new functions
27895         [d7473c2f77c4]
27896
27897         * realpath.c, sudo_realpath.c:
27898         for those w/o this in libc
27899         [1e47aa7a9d46]
27900
27901         * getcwd.c, getwd.c:
27902         Initial revision
27903         [c90dea57a84f]
27904
27905         * find_path.c:
27906         rewrote to use realpath(3) - nis now all my code
27907         [d2c3bb8fb37d]
27908
27909         * config.h.in:
27910         added HAVE_REALPATH
27911         [02c10352a8c7]
27912
27913         * check.c:
27914         now use tgetpass
27915         [b5c021fc179f]
27916
27917         * Makefile.in:
27918         added LIBOBJS use tgetpass.c
27919         [230a7b3eeaa3]
27920
27921 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27922
27923         * tgetpass.c:
27924         works now :-)
27925         [025e7a3875ba]
27926
27927         * tgetpass.c:
27928         Initial revision
27929         [3316ab33b230]
27930
27931         * pathnames.h.in:
27932         added /dev/tty
27933         [29242585e53f]
27934
27935 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27936
27937         * version.h:
27938         incremented
27939         [f2e54b48280f]
27940
27941         * sudo.c:
27942         always use getcwd
27943         [c6068e8a4029]
27944
27945         * config.h.in:
27946         added check for getwd
27947         [ab1e102ad673]
27948
27949         * configure.in:
27950         replace strdup & realpath & getcwd if missing
27951         [b0eb14f2a1c3]
27952
27953         * pathnames.h.in:
27954         added _PATH_PWD
27955         [309d2388f69a]
27956
27957         * aclocal.m4:
27958         added SUDO_PROG_PWD
27959         [e16e85deb96c]
27960
27961         * strdup.c:
27962         Initial revision
27963         [810efdc15007]
27964
27965         * realpath.c, sudo_realpath.c:
27966         Initial revision
27967         [d85eee438e09]
27968
27969 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27970
27971         * configure.in:
27972         quoted quare brackets
27973         [d0e7ca111d98]
27974
27975 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27976
27977         * sudo.c:
27978         no need to strdup() a constant
27979         [a8c44712df9a]
27980
27981         * CHANGES:
27982         updated
27983         [71364129cca0]
27984
27985         * sudo.man:
27986         added validate
27987         [0bb198095a26]
27988
27989         * sudo.c:
27990         added -v to usage
27991         [31ea71f11dbb]
27992
27993         * parse.c, sudo.c, sudo.h:
27994         added validate_only stuff
27995         [9bcd853d3c90]
27996
27997 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
27998
27999         * configure.in:
28000         now finds sed
28001         [6374bb0d3f28]
28002
28003         * aclocal.m4:
28004         $OSREV is now an int
28005         [ace0666d66cf]
28006
28007 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28008
28009         * configure.in:
28010         added mtxinu to caser
28011         [73a776887b16]
28012
28013         * sudo.h:
28014         added EXEC macro
28015         [2e8eb28b710a]
28016
28017         * sudo.c:
28018         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
28019         [56afb4f658d5]
28020
28021         * logging.c:
28022         changed mail_argv[] def now use EXEC() macro
28023         [ddcabd28edb1]
28024
28025         * check.c:
28026         took out crypt() definition
28027         [0e657724cf5f]
28028
28029         * version.h:
28030         upped the version
28031         [62c5d66119fc]
28032
28033         * configure.in:
28034         always look for -lnsl
28035         [d7b594f0313b]
28036
28037         * aclocal.m4:
28038         added an echo
28039         [1caae3491dc5]
28040
28041         * sudo.h:
28042         SHORT_MESSAGE is now the default
28043         [cfce35c3119a]
28044
28045         * config.h.in:
28046         fixed typo
28047         [6499a564bf75]
28048
28049         * configure.in:
28050         added missing AC_DEFINE(SVR4) for solaris
28051         [feef0b17b94f]
28052
28053         * sudo.man:
28054         documented the -v flag
28055         [a6429f2bc2cf]
28056
28057         * SUPPORTED:
28058         updated
28059         [088886e79540]
28060
28061         * check.c:
28062         proto-ized crypt()
28063         [801e4ff5b121]
28064
28065         * config.h.in:
28066         added LIBSHADOW undef
28067         [8df588e9ee2b]
28068
28069         * configure.in:
28070         nwo set OS to be lowercase
28071         [561ebed833e4]
28072
28073 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28074
28075         * configure.in:
28076         now use SUDO_OSTYPE to set $OS
28077         [0e60aee23098]
28078
28079         * aclocal.m4:
28080         now use uname to determine os
28081         [99705e58d400]
28082
28083         * visudo.c:
28084         added prototypes & moved sig handler around
28085         [1f0bc8d23b51]
28086
28087         * sudo.h:
28088         added prototyppes
28089         [be3935a2b163]
28090
28091         * check.c, logging.c, sudo.c:
28092         added prototypes
28093         [2079b4605ab8]
28094
28095         * parse.c:
28096         added comment
28097         [a34d147d8399]
28098
28099         * config.h.in:
28100         nwo use _BSD_SIGNALS not _BSD_COMPAT
28101         [63663195f047]
28102
28103         * aixcrypt.exp:
28104         Initial revision
28105         [890aed08357e]
28106
28107         * Makefile.in:
28108         added aixcrypt.exp
28109         [1005a183105f]
28110
28111         * parse.lex, parse.yacc:
28112         moved config.h to top of includes
28113         [9569c49aa5f3]
28114
28115 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28116
28117         * find_path.c:
28118         now don't bitch if get EACCESS (treat like EPERM)
28119         [dbeffb638de4]
28120
28121         * visudo.c:
28122         added -v flag and usage()
28123         [4d44ed60ed75]
28124
28125         * version.h:
28126         fixed a typo
28127         [cf3f9347ae41]
28128
28129         * sudo.c:
28130         cast Argv to a const for exec added -v flag
28131         [d11b6efc0e45]
28132
28133         * logging.c:
28134         mail_argv is now a const
28135         [93bb5d90bb6f]
28136
28137         * configure.in:
28138         only set RETSIGTYPE if it is not set already
28139         [c97aac260b77]
28140
28141         * aclocal.m4:
28142         now defines & STDC_HEADERS for Irix
28143         [9c2b24ad1fc5]
28144
28145         * Makefile.in:
28146         added version.h
28147         [9f79e880229a]
28148
28149         * insults.h, sudo.h:
28150         prevent multiple inclusion
28151         [d68c8a9243ce]
28152
28153         * version.h:
28154         Initial revision
28155         [dbb39c5ef8d9]
28156
28157         * parse.lex, parse.yacc:
28158         now includes config.h
28159         [f117e036a56b]
28160
28161         * aclocal.m4:
28162         now talks about sunos 4.x
28163         [c9054aa92d4e]
28164
28165         * visudo.c:
28166         calls to Exit now pass an arg
28167         [a92104670551]
28168
28169 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28170
28171         * visudo.c:
28172         signal handler now takes an int argument
28173         [26f480c41523]
28174
28175         * CHANGES:
28176         updated
28177         [8c166a9d796b]
28178
28179         * sudo.c:
28180         ok, the getcwd() is now *really* done as the user
28181         [ab86cf85134a]
28182
28183         * configure.in:
28184         changed AIX STATIC_FLAGS
28185         [b9c0a3ba5663]
28186
28187         * aclocal.m4:
28188         solaris now defines SVR4
28189         [c3e20cac96f5]
28190
28191         * sudo.h:
28192         added cwd and fixed stupid core dump that makes no sense. sigh.
28193         [7a9755436dbb]
28194
28195         * sudo.c:
28196         moved getcwd stuff into load_globals
28197         [ec2bc90df1f3]
28198
28199         * parse.c:
28200         took out externs that are in suod.h
28201         [93c4b3f856d7]
28202
28203         * logging.c:
28204         moved cwd into load_globals
28205         [050de754d228]
28206
28207         * find_path.c:
28208         moved cwd stuff
28209         [22f3f3b4c34d]
28210
28211         * Makefile.in:
28212         fixed make distclean & realclean
28213         [c9964d89bcef]
28214
28215         * TODO:
28216         updated .,
28217         [e513581ef0e3]
28218
28219         * CHANGES:
28220         added solaris changes
28221         [505d930daf27]
28222
28223         * aclocal.m4:
28224         added solaris changes, need to rework
28225         [33f20fb16c49]
28226
28227         * configure.in:
28228         cleaned up for solaris
28229         [2fb8cfa05d0f]
28230
28231         * logging.c:
28232         reinstall reapchild signal handler for non-bsd signals
28233         [3d1dc545113d]
28234
28235         * sudo.h:
28236         took out getdtablesize() emulation for HP-UX (no longer needed)
28237         [1fc83d170f34]
28238
28239         * sudo.c:
28240         support for HAVE_SYSCONF
28241         [50ca2a7a224a]
28242
28243         * visudo.c:
28244         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
28245         up /
28246         [0a570e826dd4]
28247
28248         * config.h.in:
28249         added HAVE_SYSCONF
28250         [2b9a9f3a4e94]
28251
28252 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28253
28254         * configure.in:
28255         now tells you what os you are running /.
28256         [06c6332a895b]
28257
28258         * aclocal.m4:
28259         took out extra ','
28260         [e8c75ce59f4a]
28261
28262 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28263
28264         * config.h.in:
28265         added _BSD_COMPAT
28266         [73c5099806c2]
28267
28268         * aclocal.m4:
28269         fixed for irix5
28270         [1047d1f6c0eb]
28271
28272         * CHANGES:
28273         updated
28274         [1bc4969fee96]
28275
28276         * sudo.c:
28277         uid seinitialized to -2
28278         [8d7812b1878b]
28279
28280 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28281
28282         * sudo.c:
28283         now removes LIBPATH for AIX
28284         [075392eb1dd9]
28285
28286 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28287
28288         * configure.in:
28289         now uses ufc if it finds it
28290         [ab6ce30a5958]
28291
28292 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28293
28294         * sudo.h:
28295         no longer define yyval & yylval since yacc does it
28296         [09d250aea50a]
28297
28298         * parse.lex:
28299         now defines yylval as extenr
28300         [8ec2b88952bc]
28301
28302         * configure.in:
28303         BROKEN_GETPASS is now an OPTION
28304         [3714f4bb8312]
28305
28306         * config.h.in:
28307         took out BROKEN_GETPASS
28308         [9c4f6aa50137]
28309
28310         * Makefile.in:
28311         took out big comment
28312         [4c13cff0e556]
28313
28314         * README:
28315         updated
28316         [b8b9902b620d]
28317
28318         * Makefile.in:
28319         took out README.beta
28320         [ed2cd861e82b]
28321
28322         * SUPPORTED:
28323         Initial revision
28324         [2fffc51e6606]
28325
28326         * INSTALL:
28327         now reference SUPPORTED .,
28328         [d112c30be1f2]
28329
28330         * config.h.in:
28331         now check for convex OR __convex__
28332         [a0e5701a3069]
28333
28334         * aclocal.m4:
28335         now check for convex or __convex__
28336         [5dae2bfbe3bc]
28337
28338         * Makefile.in:
28339         added dist target
28340         [400a54de57db]
28341
28342         * aclocal.m4:
28343         use __convex__
28344         [58a19470ed0b]
28345
28346         * find_path.c:
28347         now use _S_* stat stuff to be ansi-like
28348         [28cce560e048]
28349
28350         * INSTALL:
28351         updated for configure directions
28352         [a034ccc7c30a]
28353
28354         * Makefile.in:
28355         distclean now removes config.h and pathnames.h
28356         [300f2349b4ab]
28357
28358         * CHANGES:
28359         updated
28360         [646f7e9430c1]
28361
28362         * TODO:
28363         fixed typoe
28364         [70fd6361b2bc]
28365
28366         * visudo.c:
28367         updated version
28368         [cf13d87d789f]
28369
28370         * Makefile.in:
28371         updated version
28372         [8c5dacc27a7a]
28373
28374         * config.h.in, pathnames.h.in:
28375         added copyright header
28376         [747ce3d3d6b7]
28377
28378         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
28379         parse.yacc, sudo.c, sudo.h:
28380         udpated version
28381         [4751c39bad18]
28382
28383         * visudo.c:
28384         udpated to use configure + pathnames.h
28385         [d45dff76a1cd]
28386
28387         * aclocal.m4:
28388         updated
28389         [f05a367a55be]
28390
28391         * Makefile.in, config.h.in, configure.in:
28392         updated
28393         [524778598879]
28394
28395         * sudo.h:
28396         now works with configure
28397         [83fc40e533f4]
28398
28399         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
28400         updated to work with configure + pathnames.h
28401         [cb67fa6ab52d]
28402
28403         * Makefile.in:
28404         added LEXLIB
28405         [f43cad4ab0a2]
28406
28407 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28408
28409         * COPYING:
28410         updated gnu general licence to versio 2
28411         [2b0b56112ddc]
28412
28413         * config.h.in, pathnames.h.in:
28414         Initial revision
28415         [4b586f39ec2d]
28416
28417         * sudo.h:
28418         changed to work with configure
28419         [13f3506ddf16]
28420
28421 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28422
28423         * Makefile.in, aclocal.m4, configure.in:
28424         Initial revision
28425         [a8636ae77371]
28426
28427         * visudo.c:
28428         now uses defines used by configure
28429         [de438d118993]
28430
28431 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28432
28433         * find_path.c:
28434         sudo won't bitch about EPERM now, for real
28435         [ce26d9ef7e3f]
28436
28437 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28438
28439         * logging.c:
28440         renamed exec_argv to eliminate a libc name clash with ksros
28441         [bcb4350d8411]
28442
28443         * CHANGES:
28444         corrected
28445         [dae68d422efd]
28446
28447         * logging.c, sudo.c, sudo.h:
28448         execve -> execv
28449         [40cc2c4bdb15]
28450
28451         * TODO:
28452         upated
28453         [9275a8b8fc45]
28454
28455         * PORTING:
28456         added 2 mroe items
28457         [6cbb5c56993c]
28458
28459         * CHANGES:
28460         updated
28461         [73f34f8e571a]
28462
28463         * sudo.h:
28464         added UMASK and mode_t declaration
28465         [7c2015e1d171]
28466
28467         * sudo.c:
28468         added UMASK
28469         [d37be7523680]
28470
28471         * logging.c:
28472         now opens log file with mode 077
28473         [0825cc3ee841]
28474
28475         * check.c:
28476         saved current umask ans restores it
28477         [659c1aaae8e8]
28478
28479         * sudo.h:
28480         added MAXLOGFILELEN
28481         [34331c7dee90]
28482
28483         * logging.c:
28484         split long log lines. FOr syslog, split into multiple entries, for
28485         a log file, indent the extra for readability
28486         [72c9e4cdba6e]
28487
28488 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28489
28490         * CHANGES:
28491         added changes
28492         [81196833673d]
28493
28494         * sudo.h:
28495         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
28496         [1aa69e903840]
28497
28498 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28499
28500         * TODO:
28501         added input from Brett M Hogden <hogden@rge.com>
28502         [80f01fc88ce9]
28503
28504 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28505
28506         * sudo.c:
28507         added rmenv() to remove stuff from environ. can now uses execvp()
28508         OR execve() becuase of this.
28509         [e7fc2535bd67]
28510
28511         * logging.c:
28512         now uses execvp() OR execve()
28513         [56391aa1f99d]
28514
28515         * sudo.h:
28516         added USE_EXECVE
28517         [f21f38050b95]
28518
28519         * sudo.h:
28520         added environ
28521         [6b805e23c6f6]
28522
28523         * find_path.c:
28524         now ignore EPERM
28525         [c8fd7117a1d7]
28526
28527         * sudo.h:
28528         moved some func decls out of sudo.h and into sudo.c as statics /.
28529         [5f555c267d27]
28530
28531         * CHANGES:
28532         updated
28533         [431f478af320]
28534
28535         * sudo.h:
28536         took out Envp
28537         [6f722be7793d]
28538
28539 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28540
28541         * BUGS:
28542         Initial revision
28543         [4a8ecf0da95c]
28544
28545 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28546
28547         * CHANGES:
28548         added SECURE_PATH
28549         [1c72cb222609]
28550
28551         * sudo.c, sudo.h:
28552         added SECURE_PATH
28553         [5bf5357a63c5]
28554
28555         * sudo.h:
28556         added SECURE_PATH
28557         [3976a74405ac]
28558
28559         * INSTALL:
28560         added sample.sudoers note
28561         [1b395d29aaeb]
28562
28563         * sudoers:
28564         Initial revision
28565         [485888d07477]
28566
28567 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28568
28569         * find_path.c:
28570         fixed typo
28571         [bfc3cc4d41ca]
28572
28573         * PORTING:
28574         took out SAVED_UID garbage
28575         [b7c2d3469661] [SUDO_1_3_0]
28576
28577         * INSTALL:
28578         mentioned HAL
28579         [253d6695df90]
28580
28581         * sudo.h:
28582         added HAL line
28583         [29ec1a4ac6de]
28584
28585         * insults.h:
28586         added HAL insults
28587         [7d7c96d77c74]
28588
28589         * TODO:
28590         updated
28591         [aa2ed9790586]
28592
28593         * logging.c:
28594         more verbose error if mailer not found
28595         [fca47fd00cb6]
28596
28597         * check.c:
28598         now do getpwent as root for soem shadow password systems (bsdi)
28599         [e0339e110d46]
28600
28601 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
28602
28603         * sudo.h:
28604         took out SAVED_UID garbade
28605         [fcb0e81dcdb5]
28606
28607         * sudo.c:
28608         took out SAVED_UID garbage since it don't work
28609         [507e9513e9c2]
28610
28611 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28612
28613         * README:
28614         updated
28615         [d2b6b253dae5]
28616
28617         * insults.h:
28618         added a missing space :-)
28619         [8940ea991f87]
28620
28621         * sudo.c, sudo.h:
28622         took out multimax cruft
28623         [c2606b365181]
28624
28625         * INSTALL:
28626         minor update
28627         [05fb6ee73131]
28628
28629         * PORTING:
28630         finished
28631         [c4ac47c84dc5]
28632
28633         * sudo.c:
28634         fixed a typo + indentation
28635         [7eab40aae8fa]
28636
28637 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28638
28639         * sudo.h:
28640         took outumoved some defines to the config file ,. ,.
28641         [defff05beb52]
28642
28643         * PORTING:
28644         Initial revision
28645         [c803e9127959]
28646
28647         * TODO:
28648         did #6
28649         [c6fa1c946c31]
28650
28651         * sudo.h:
28652         added HAS_SAVED_UID
28653         [6a88a39c0a07]
28654
28655         * sudo.c:
28656         put back AIX cruft
28657         [a24d2507ddd4]
28658
28659 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28660
28661         * sudo.c:
28662         aix changes
28663         [1663915f754a]
28664
28665 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28666
28667         * CHANGES:
28668         updated
28669         [a8cc73747cae]
28670
28671         * check.c, logging.c, parse.c, sudo.c, sudo.h:
28672         now is only root when abs necesary
28673         [3c9d12c5cdfe]
28674
28675         * check.c:
28676         added missing %s\n
28677         [609320b72d89]
28678
28679 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28680
28681         * install-sh:
28682         Initial revision
28683         [b5bba140a175]
28684
28685         * TODO:
28686         updated
28687         [c9d2eba602af]
28688
28689         * CHANGES:
28690         updated
28691         [932f1fc3bb14]
28692
28693         * sudo.c:
28694         now removed _RLD_* for alphas
28695         [54a36e648158]
28696
28697         * INSTALL:
28698         updated for new config scheme
28699         [61c8ae800444]
28700
28701         * find_path.c:
28702         more verbose eror messages
28703         [b4fd123db42d]
28704
28705 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28706
28707         * TODO:
28708         now have solaris
28709         [371002fbf266]
28710
28711         * sudo.h:
28712         define __svr4__ for SOLARIS
28713         [0b5cf5ed936d]
28714
28715         * check.c:
28716         added svr4 junk for shadow pws for solaris 2.x
28717         [91ed58f21618]
28718
28719         * check.c, sudo.c:
28720         took out setuid(0) and setreuid(udi) garbage. Its not needed since
28721         we start out setuid with the correct perms.
28722         [07689e782b0b]
28723
28724         * check.c, sudo.c, sudo.h:
28725         now use setreuid()
28726         [7d64d685d78e]
28727
28728 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28729
28730         * sudo.man:
28731         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
28732         sectoin
28733         [b26967b1e19b]
28734
28735         * visudo.c:
28736         now uses ENV_EDITOR if you want to use the EDITOR envar
28737         [a4f8fcb9bd1d]
28738
28739         * sudo.h:
28740         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
28741         [028cc55c4328]
28742
28743 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28744
28745         * INSTALL:
28746         rewrote most of this
28747         [a6750923f9c9]
28748
28749         * README:
28750         minor update + spell fix
28751         [a411717a7249]
28752
28753         * sudo.h:
28754         added all options that are in the Makefile
28755         [6db3b3b841b3]
28756
28757         * getpass.c:
28758         now use USE_TERMIO #define for sgi & hpux
28759         [b91f89ae6be1]
28760
28761         * TODO:
28762         todo: posix sigs
28763         [4548a56eb2ef]
28764
28765 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28766
28767         * check.c, find_path.c:
28768         always include strings.h
28769         [1fc20bda92c0]
28770
28771         * visudo.c:
28772         added STATICEDITOR
28773         [0596f820716e]
28774
28775         * sudo.h:
28776         sgi has vi in /usr/bin too
28777         [94203b62bfd9]
28778
28779         * sudo.man:
28780         added VISUAL
28781         [87c2844c4cac]
28782
28783 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28784
28785         * sudo.h:
28786         sue /usr/bin/vi on some systems
28787         [e3ad9190f35e]
28788
28789         * sudo.c:
28790         fixed warning (include strings.h)
28791         [0b896de4d8a0]
28792
28793         * sudo.man:
28794         added John_Rouillard@dl5000.bc.edu's changes (new features)
28795         [f41b4205a8cf]
28796
28797         * CHANGES:
28798         changes from John_Rouillard@dl5000.bc.edu
28799         [6bdef8e948d5]
28800
28801         * visudo.c:
28802         added EDITOR envar
28803         [5c4bf716de21]
28804
28805         * check.c, find_path.c, parse.c, sudo.c:
28806         added patches from John_Rouillard directory spec
28807         uses EDITOR
28808         [f62a435f8c41]
28809
28810 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28811
28812         * getpass.c:
28813         added flush for hpux
28814         [07cfdd6a7b55]
28815
28816 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28817
28818         * sudo.c:
28819         no longer assume malloc returns a char *
28820         [7480bd2756f3]
28821
28822         * sudo.c:
28823         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
28824         gets removed correctly
28825         [8587166c6ac8]
28826
28827         * sudo.h:
28828         added STD_HEADERS macro
28829         [480f5a9a516c]
28830
28831         * sudo.c:
28832         now uses STD_HEADERS macor for ansi
28833         [c5018806fd59]
28834
28835         * find_path.c:
28836         now uses STD_HEADERS macro
28837         [ad821e0788ea]
28838
28839         * check.c:
28840         niceties for C compiler bitches -- no real change
28841         [0fc0b1a5fb64]
28842
28843 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28844
28845         * visudo.c:
28846         now doesn't fclose a file never opened.
28847         [ee888ec9427d]
28848
28849 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28850
28851         * sudo.man:
28852         added visudo line
28853         [698d51c66407]
28854
28855         * sudo.man:
28856         added error stuff added me in there...
28857         [d202fd34b906]
28858
28859         * CHANGES:
28860         noted insults
28861         [998a22c2230c]
28862
28863         * INSTALL:
28864         added blurb about reading stuff
28865         [e71db100798f]
28866
28867         * sudo.h:
28868         added insults
28869         [c110431cec56]
28870
28871         * insults.h:
28872         corrected somments and removed newlines
28873         [493706fd488c]
28874
28875         * check.c:
28876         now uses insults
28877         [6d23cf06a0ef]
28878
28879         * insults.h:
28880         Initial revision
28881         [83153c26b4a3]
28882
28883         * INSTALL:
28884         added dec syslog note
28885         [555437273237]
28886
28887         * sample.sudoers:
28888         added real stuff in there
28889         [53442a7fba78]
28890
28891         * TODO:
28892         added a todo
28893         [c630472bd4dc]
28894
28895         * TODO:
28896         added one
28897         [806464453284]
28898
28899 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28900
28901         * sample.sudoers:
28902         Initial revision
28903         [7db0a9f1ca8f]
28904
28905         * sudo.man:
28906         updated with changes
28907         [d9bf254c6c08]
28908
28909         * sudo.man:
28910         Initial revision
28911         [dd6f11174ac6]
28912
28913         * indent.pro:
28914         Initial revision
28915         [dbfbb494fad9]
28916
28917         * CHANGES, COPYING, INSTALL, README, TODO:
28918         Initial revision
28919         [6d98f489a079]
28920
28921         * visudo.c:
28922         updated version number and took out jeff's old addr since it is no
28923         good
28924         [ee47c24818cb]
28925
28926         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
28927         sudo.c, sudo.h:
28928         updated version number and took out jeff's email (since it is
28929         invalid)
28930         [54616458a52e]
28931
28932 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28933
28934         * check.c:
28935         added fflush()
28936         [145c881f4fb4]
28937
28938 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28939
28940         * find_path.c:
28941         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
28942         [8bc74f8cb1ae]
28943
28944 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
28945
28946         * check.c:
28947         new banner
28948         [5387ab2af516]
28949
28950         * parse.lex:
28951         now sudo.h gets included first
28952         [2acb01c18e18]
28953
28954 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
28955
28956         * parse.lex:
28957         now can use flex
28958         [164d3839adf0]
28959
28960         * sudo.h:
28961         linux patch
28962         [f1b6b1b1a2ca]
28963
28964         * sudo.c:
28965         hpux 9 fix, removes SHLIB_PATH linux patch
28966         [67611dc1737f]
28967
28968         * check.c:
28969         linux diff
28970         [c24536682397]
28971
28972 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28973
28974         * find_path.c:
28975         stat now ignores EINVAL
28976         [c7761a5dc642]
28977
28978 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28979
28980         * find_path.c, sudo.c:
28981         now declare strdup as extern
28982         [6b7d6f8784b5]
28983
28984 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28985
28986         * visudo.c:
28987         reformatted with indent + by hand
28988         [9d43084e4990]
28989
28990         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
28991         used indent to "fix" coding style
28992         [489ffacbdc70]
28993
28994         * find_path.c:
28995         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
28996         move the code that does this into the loop body. makes it messier
28997         tho. hmmm.
28998         [c4d22b48da9a]
28999
29000 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29001
29002         * find_path.c:
29003         redid the fix for non-executable files in an easier to read way plus
29004         some minor aethetic changes
29005         [84fe337f1426]
29006
29007         * find_path.c:
29008         fixed bug with non-executable tings of same name in path introduced
29009         by checkig errno after stat(2).
29010         [c2a812cfcbc1]
29011
29012 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
29013
29014         * sudo.c:
29015         fixed off by one error
29016         [fabb7cee0041]
29017
29018         * find_path.c:
29019         now handles decending below '/' correctly
29020         [5d2ddfc0b220]
29021
29022         * sudo.c:
29023         now actually builds Envp instead of munging envp
29024         [bdc4b08f6898]
29025
29026 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29027
29028         * parse.yacc:
29029         now includes sys/param.h
29030         [efbb494ab4de]
29031
29032         * visudo.c:
29033         now includes sys/param.h
29034         [ad6c91d59958]
29035
29036         * sudo.h:
29037         fixed ifndef -> ifdef
29038         [7aebe822d863]
29039
29040         * qualify.c:
29041         make more like find_path.c
29042         [853b2dab2e03]
29043
29044         * find_path.c:
29045         rewritten by millert
29046         [c6a043cc11b3]
29047
29048         * sudo.h:
29049         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
29050         about new defines in the comment
29051         [39ffefce3aec]
29052
29053         * logging.c:
29054         now uses USE_CWD
29055         [fa0f3b118bb3]
29056
29057         * sudo.h:
29058         added delc for clean_envp() and Envp
29059         [a12034e300c2]
29060
29061         * sudo.c:
29062         now rips LD_* env vars out of envp and passed sanitized Envp to exec
29063         [d201a218e056]
29064
29065         * logging.c:
29066         now uses execve()
29067         [f3e01032cd33]
29068
29069         * find_path.c:
29070         ENOTDIR is ok now too (in case part of the path is bogus)
29071         [b5cbbb201bb5]
29072
29073         * qualify.c:
29074         now works correctly (ttaltotal rewrite)
29075         [0c25d64a5c68]
29076
29077         * parse.lex:
29078         now includes sys/param.h didn't match trailing / -- fix from
29079         rouilj@cs.umb.edu
29080         [b6363ba110af]
29081
29082 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29083
29084         * sudo.c:
29085         moved around the #ifndef _AIX
29086         [7d4330950c20]
29087
29088         * check.c, logging.c, parse.c:
29089         Initial revision
29090         [c101e9572d7f]
29091
29092 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29093
29094         * qualify.c:
29095         Initial revision
29096         [5a5f21d0e0bf]
29097
29098 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29099
29100         * find_path.c:
29101         now works if you do sudo bin/test
29102         [07835120ce43]
29103
29104         * find_path.c:
29105         works
29106         [c3da8b5efa20]
29107
29108 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29109
29110         * sudo.h:
29111         Initial revision
29112         [28a1caa38b72]
29113
29114         * visudo.c:
29115         Initial revision
29116         [0e5cd7c3cdbe]
29117
29118         * parse.lex, parse.yacc:
29119         Initial revision
29120         [5f2d0cccb06b]
29121
29122 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
29123
29124         * sudo.c:
29125         took out errno.h
29126         [7466431a2655]
29127
29128         * sudo.c:
29129         now spews error if exec fails and exits with -1
29130         [e5c41ea725c1]
29131
29132         * sudo.c:
29133         Initial revision
29134         [8aeabe39a0c2]
29135
29136         * find_path.c:
29137         now only execs files with (an) executable bit set.
29138         [0a451f9c0e58]
29139
29140         * find_path.c:
29141         Initial revision
29142         [02a534891a35]
29143
29144 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29145
29146         * getpass.c:
29147         added nice comment
29148         [ea8b2aaa9389]
29149
29150         * getpass.c:
29151         now works on sgi's
29152         [bf2b7c6d0960]
29153
29154         * getpass.c:
29155         Initial revision
29156         [9f4de251c1b5]
29157