Imported Upstream version 1.8.5
[debian/sudo] / ChangeLog
1 2012-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2
3         * INSTALL:
4         Fix capitalization
5         [7258aa977caf]
6
7         * mkpkg:
8         Build PIE executable on Mac OS X 10.5 and above.
9         [2a5c7ef92182]
10
11 2012-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12
13         * NEWS:
14         Update for sudo 1.8.4p5
15         [21164f508b68]
16
17         * plugins/sudoers/match_addr.c:
18         Add missing break between AF_INET and AF_INET6 in
19         addr_matches_if_netmask()
20         [672a4793931a]
21
22         * plugins/sudoers/mon_systrace.c:
23         Move systrace monitor code to the attic
24         [d6faf4754e9c]
25
26 2012-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27
28         * src/exec.c:
29         The pointer to the siginfo_t struct in a signal handler may be NULL.
30         [41a4ee934b53]
31
32 2012-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
33
34         * plugins/sudoers/pwutil.c:
35         Fix an alignment problem on NetBSD systems with a 64-bit time_t and
36         strict alignment. Based on a patch from Martin Husemann.
37         [1e5ba3c18f17]
38
39         * include/missing.h:
40         Add offsetof macro for those without it.
41         [e44cb51d2587]
42
43         * MANIFEST:
44         add system_group plugin
45         [6169793b510c]
46
47 2012-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
48
49         * compat/dlopen.c:
50         Implement RTLD_NEXT and fix RTLD_DEFAULT for HP-UX.
51         [85bd03bc5d94]
52
53 2012-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
54
55         * NEWS:
56         Mention system_group plugin
57         [05393dd4bdb8]
58
59         * Makefile.in, plugins/sudoers/Makefile.in,
60         plugins/system_group/Makefile.in:
61         update depends
62         [6feb0b824fc4]
63
64         * plugins/system_group/system_group.c:
65         Only call gr_delref() when use sudo's password caching functions.
66         [1103442e21fa]
67
68         * plugins/sample_group/Makefile.in, plugins/system_group/Makefile.in:
69         Add missing dependency on libreplace.la
70         [05bfd9d4657f]
71
72         * compat/dlopen.c:
73         Emulate RTLD_DEFAULT and RTLD_SELF w/ shl_findsym() using NULL and
74         PROG_HANDLE.
75         [2382d0693acc]
76
77         * Makefile.in, configure, configure.in,
78         plugins/system_group/Makefile.in,
79         plugins/system_group/system_group.c,
80         plugins/system_group/system_group.sym:
81         Add group plugin that does lookups by name using the system group
82         database.
83         [2ddbb604112f]
84
85         * plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po, src/po/pl.mo,
86         src/po/pl.po:
87         sync with translationproject.org
88         [4ef05df4226d]
89
90 2012-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
91
92         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
93         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
94         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
95         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
96         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
97         src/po/de.mo, src/po/de.po, src/po/eo.mo, src/po/eo.po,
98         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
99         src/po/ru.mo, src/po/ru.po, src/po/sr.mo, src/po/sr.po,
100         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
101         src/po/zh_CN.mo, src/po/zh_CN.po:
102         sync with translationproject.org
103         [115c3f828fc5]
104
105 2012-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
106
107         * sudo.pp:
108         Add mode for docdir and use '-' (default) for localedir mode. Fixes
109         a problem on Linux when building in a directory with the setgid bit
110         set.
111         [582279c8bcb1]
112
113 2012-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
114
115         * pp:
116         Match CentOS 6.0
117         [1e99ef210f98]
118
119 2012-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
120
121         * NEWS:
122         Update with recent changes
123         [c5fc220ba696]
124
125         * pp:
126         Fix version check on AIX
127         [d272e39112f4]
128
129         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
130         regen
131         [72b23509465a]
132
133         * plugins/sudoers/ldap.c:
134         Need to call ldapssl_clientauth_init() for start_tls on Mozilla LDAP
135         SDK.
136         [87b685e70b9a]
137
138         * plugins/sudoers/ldap.c:
139         Fix printing of invalid uri
140         [645aa53acdde]
141
142         * plugins/sudoers/auth/pam.c:
143         Pass PAM_SILENT when deleting creds to remove an annoying warning
144         message on Solaris.
145         [1dd0301ef293]
146
147 2012-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
148
149         * src/utmp.c:
150         Fix the setutxent and endutxent compatibility defines (this time
151         correctly) when only setutent and endutent are available.
152         [d136d2867db9]
153
154         * plugins/sudoers/ldap.c:
155         sudo_ldap_set_options_global() should not take an LDAP handle as an
156         argument since the options affect the global settings.
157         [1dc39b9d20f2]
158
159         * mkpkg:
160         Debian sudo has not been built with --with-exempt=sudo since 1.6.8.
161         [c7716291a856]
162
163         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
164         plugins/sudoers/auth/pam.c, src/exec.c, src/exec_pty.c, src/sudo.c,
165         src/sudo.h:
166         Call the policy's init_session() function before we fork the child.
167         That way, the session is created and destroyed in the same process,
168         which is needed by some modules, such as pam_mount.
169         [ece552ba002e]
170
171         * doc/TROUBLESHOOTING:
172         Add entry for SSL LDAP errors on Mozilla SDKs when the cert dir is
173         not specified.
174         [bd293e100b28]
175
176         * plugins/sudoers/auth/pam.c:
177         Delete creds after closing the PAM session.
178         [5158d726d6a5]
179
180         * plugins/sudoers/ldap.c:
181         Provide a more useful error message if using a Mozilla-style LDAP
182         SDK and you forgot to specify TLS_CERT in ldap.conf.
183         [7cb78feb899c]
184
185         * src/exec_pty.c:
186         Add missing initialization of a sigaction structure when I/O
187         logging. Fixes a potential problem when suspending the command.
188         [f4480f2ba816]
189
190         * plugins/sudoers/ldap.c:
191         Split global and per-connection LDAP options into separate arrays.
192         Set global LDAP options before calling ldap_initialize() or
193         ldap_init(). After we have an LDAP handle, set the per-connection
194         options. Fixes a problem with OpenLDAP using the nss crypto backend;
195         bug #342
196         [265c9d2dc12b]
197
198         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
199         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
200         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
201         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
202         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
203         src/po/de.mo, src/po/de.po, src/po/hr.mo, src/po/hr.po,
204         src/po/vi.mo, src/po/vi.po, src/po/zh_CN.mo, src/po/zh_CN.po:
205         sync with translationproject.org
206         [6d7fe44be21e]
207
208 2012-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
209
210         * src/sudo.c, src/sudo.h:
211         Move struct passwd pointer into struct command details.
212         [d6fb1eff2065]
213
214 2012-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
215
216         * pp:
217         Sync with upstream for Mac OS X (and other) fixes.
218         [c2f4998d01b0]
219
220         * mkpkg:
221         Only built Mac intel universal binary on an intel machine.
222         [0009e0b7e5a8]
223
224         * src/Makefile.in:
225         Do not pass libtool the -static-libtool-libs option when building
226         sudo and sesh. Otherwise, libtool may prefer a static version of an
227         installed library over a dynamic one when linking.
228         [6fbac9adc885]
229
230 2012-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
231
232         * MANIFEST, NEWS, doc/CONTRIBUTORS, plugins/sudoers/po/hr.mo,
233         plugins/sudoers/po/hr.po, src/po/de.mo, src/po/de.po:
234         Add German translation for sudo Add Croatian translation for sudoers
235         [fa4da1a6530c]
236
237         * plugins/sudoers/iolog.c:
238         typo fix in comment
239         [abd721d1288e]
240
241 2012-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
242
243         * NEWS:
244         Update with recent changes
245         [6fa11e8448b9]
246
247         * Makefile.in, plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
248         Sort xgettext output by file name.
249         [f650841810f0]
250
251         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
252         Clarify what "sudoreplay -l" displays and mention that it is sorted.
253         [84031c117bd6]
254
255         * config.h.in, configure, configure.in, src/ttyname.c:
256         Use AC_HEADER_MAJOR to determine where major/minor are defined.
257         [3c949650a223]
258
259         * config.h.in, configure, configure.in, src/ttyname.c:
260         Include sys/mkdev.h if present instead of sys/sysmacros.h for
261         minor(). This is needed on Solaris (at least) where the makedev
262         macros in sysmacros.h are obsolete and library functions should be
263         used instead.
264         [343928acf81e]
265
266         * mkpkg:
267         When building on Mac OS X, only set SDK_FLAGS if specified osversion
268         doesn't match host.
269         [d84c6efac872]
270
271 2012-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
272
273         * src/ttyname.c:
274         Add back buf and tty variables for _ttyname() case that were
275         inadvertantly removed.
276         [a4a820b22a44]
277
278 2012-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
279
280         * plugins/sudoers/po/sudoers.pot:
281         regen
282         [5446b12c1250]
283
284         * configure, configure.in:
285         Remove b8 from version number.
286         [5adc4dcec061]
287
288         * src/ttyname.c:
289         remove some XXX
290         [187579a5f593]
291
292         * src/ttyname.c:
293         When looking for a device match, do a breadth-first search instead
294         of depth-first. We already special case /dev/pts/ so chances are
295         good that if it is not a pseudo-tty it is in the base of /dev/. Also
296         avoid a stat(2) when possible if struct dirent has d_type.
297         [0183f8a1b278]
298
299         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
300         src/sudo.c, src/sudo.h:
301         Pass pid, ppid, sid, pgid and tcpgid to plugin in user_info list.
302         [f0574d878491]
303
304         * src/po/eo.mo, src/po/es.mo, src/po/es.po, src/po/fi.mo,
305         src/po/ja.mo, src/po/pl.mo, src/po/ru.mo, src/po/uk.mo,
306         src/po/vi.mo:
307         sync with translationproject.org
308         [4527ea78fbd5]
309
310         * MANIFEST, NEWS, doc/CONTRIBUTORS, src/po/gl.mo, src/po/gl.po,
311         src/po/hr.mo, src/po/hr.po:
312         New Croatian and Galician translations from translationproject.org
313         [ad4bd924b4de]
314
315         * src/ttyname.c:
316         Add depth-first traversal of /dev/ for the /proc case when not
317         /dev/pts/N
318         [499bd3456774]
319
320         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c:
321         If struct dirent has d_type, use it to avoid an extra stat().
322         [741dabbe4bcd]
323
324         * plugins/sudoers/sudoreplay.c:
325         Sort output of "sudoreplay -l"
326         [c0615795bd4b]
327
328 2012-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
329
330         * plugins/sudoers/sudoreplay.c:
331         Fix duplicate free introduced in last rev
332         [efdaabe69d75]
333
334 2012-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
335
336         * plugins/sudoers/auth/pam.c:
337         Instead of treating ^C from tgetpass() specially, always return
338         AUTH_INTR if tgetpass() returned NULL. Treat PAM_AUTHINFO_UNAVAIL
339         like PAM_AUTH_ERR which Mac OS X returns this when there is no tty.
340         [a3b17298d4d0]
341
342         * config.h.in, configure, configure.in, src/ttyname.c:
343         Rototill code to determine the tty. For Linux, we now look up the
344         tty device in /proc/pid/stat instead of trying to open
345         /proc/pid/fd/[0-2]. The sudo_ttyname_dev() function maps the given
346         device number to a string. On BSD, we can use devname(). On
347         Solaris, _ttyname_dev() does what we want. TODO: write /dev/
348         traversal code for the generic sudo_ttyname_dev().
349         [6b22be4d09f0]
350
351 2012-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
352
353         * src/ttyname.c:
354         Define PRNODEV for those w/o it.
355         [f17290e64559]
356
357         * config.h.in, configure, configure.in, src/ttyname.c:
358         Check for SVR4-style struct psinfo.pr_ttydev and use that to
359         determine the tty if std{in,out,err} are not ttys.
360         [76ad33a91f4b]
361
362         * src/ttyname.c:
363         Better support for SVR4-style /proc entries where we can't use
364         ttyname() on the /proc/pid/fd/[0-2] entries. We can, however,
365         attempt to map the device number back to the correct pseudo-tty
366         slave device.
367         [4f9f48cc79eb]
368
369         * src/ttyname.c:
370         When trying to determine the tty name, check parent's stderr in
371         addition to its stdin and stdout.
372         [604644056c7d]
373
374         * src/exec_pty.c:
375         Treat a tty read failure like EOF as it usually means the pty has
376         gone away. Handle write() on the tty returning EIO.
377         [16957f4a706f]
378
379         * src/exec.c, src/exec_pty.c:
380         Linux select() may return ENOMEM if there is a kernel resource
381         shortage. Older Solaris select() may return EIO instead of EBADF
382         when the tty goes away. If we get an unhandled select() failure,
383         kill the child and exit cleanly.
384         [d93940a311ab]
385
386         * src/ttyname.c:
387         Open /proc/pid/fd/[0-2] in non-blocking mode just in case we might
388         block in open.
389         [a9f809d09d52]
390
391 2012-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
392
393         * plugins/sudoers/set_perms.c:
394         Fix restoration of AIX permissions.
395         [30c717115988]
396
397         * src/parse_args.c:
398         Allow the -k flag to be used along with the -i and -s flags.
399         [0653b17c97f1]
400
401         * plugins/sudoers/sudoreplay.c:
402         Plug memory leak in parse_logfile() in the error path.
403         [9cce86fa833b]
404
405         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
406         src/po/da.mo, src/po/da.po, src/po/eo.po, src/po/es.po,
407         src/po/fi.po, src/po/it.mo, src/po/it.po, src/po/ja.po,
408         src/po/pl.po, src/po/ru.po, src/po/uk.po, src/po/vi.po,
409         src/po/zh_CN.mo, src/po/zh_CN.po:
410         sync with translationproject.org
411         [14af43d0b170]
412
413 2012-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
414
415         * compat/regress/glob/globtest.c, config.h.in, configure,
416         configure.in, plugins/sudoers/match.c:
417         Do not use GLOB_BRACE or GLOB_TILDE flags to glob()--we want the
418         glob() and fnmatch() results to be consistent.
419         [4226750d73c2]
420
421 2012-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
422
423         * MANIFEST, common/Makefile.in, common/ttysize.c, src/Makefile.in,
424         src/ttysize.c:
425         Move ttysize.c to common so sudoreplay can use it.
426         [b4a0aa514cd4]
427
428         * plugins/sudoers/sudoreplay.c:
429         If I/O log file includes rows + cols, warn if the user's tty is not
430         big enough.
431         [b980ef89efff]
432
433         * plugins/sudoers/sudoreplay.c:
434         Fix printing of TSID in "sudoreplay -l"
435         [4221e3e108b4]
436
437         * common/sudo_debug.c, include/sudo_debug.h,
438         plugins/sudoers/logging.c, plugins/sudoers/visudo.c, src/exec.c,
439         src/exec_pty.c:
440         Log the process id in the debug file output. Since we don't want to
441         keep calling getpid(), stash the value at init time and when we
442         fork().
443         [2782d30c024d]
444
445         * src/exec_pty.c:
446         Ignore SIGTTIN and SIGTTOU in main sudo process when I/O logging. It
447         is better to receive EIO from read()/write() than to be suspended
448         when we don't expect it. Fixes a problem when our terminal is
449         revoked which can happen when, e.g. our sshd is killed
450         unceremoniously. Also, only change the value of "alive" from true to
451         false, never from false to true. It is possible for us to receive
452         notification of the child having stopped after it is already dead.
453         This does not mean it has risen from the grave.
454         [26c9fe8ce0f9]
455
456         * src/exec_pty.c:
457         Distinguish between signals we received from the parent vs. those
458         delivered explicitly to the monitor process in debugging info.
459         [40716cb180e5]
460
461 2012-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
462
463         * plugins/sudoers/check.c:
464         In Solaris 11, /dev/pts under the "dev" filesystem, not "devices".
465         Update tty_is_devpts() to match so we can determine when the tty has
466         been reused.
467         [2689665df027]
468
469         * common/sudo_debug.c, include/error.h, include/sudo_debug.h:
470         Always pass __func__, __FILE__ and __LINE__ in sudo_debug_printf()
471         and use a new flag, SUDO_DEBUG_FILENO to specify when to use it.
472         This allows consumers of sudo_debug_printf() to log that data
473         without having to specify it manually.
474         [7c94c4879208]
475
476         * src/exec_pty.c:
477         Make this compile after last change.
478         [ee09034f3266]
479
480         * src/exec_pty.c:
481         Don't try to restore the terminal if we are not the foreground
482         process. Otherwise, we may be stopped by SIGTTOU when we try to
483         update the terminal settings when cleaning up.
484         [c48b24335456]
485
486         * src/exec.c:
487         If select() return EBADF in the main event loop, one of the ttys
488         must have gone away so perform any I/O we can and close the bad fds.
489         [3bc8678c03ce]
490
491         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
492         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
493         plugins/sudoers/toke.l:
494         Log warning() at SUDO_DEBUG_WARN not SUDO_DEBUG_ERROR. Log the
495         function, file and line number in the debug log for warning() and
496         error().
497         [894cd131f11d]
498
499 2012-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
500
501         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
502         src/conversation.c:
503         Add SUDO_DEBUG_ERRNO flag to debug functions so we can log errno.
504         Use this flag when wrapping error() and warning() so the debug
505         output includes the error string.
506         [1e2c67adaf1f]
507
508 2012-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
509
510         * NEWS:
511         Update for sudo 1.8.5
512         [7d2b62b823fe]
513
514         * plugins/sudoers/po/sudoers.pot:
515         regen
516         [718ad9de92cd]
517
518         * doc/CONTRIBUTORS:
519         sync
520         [f48013aea641]
521
522         * plugins/sudoers/pwutil.c:
523         Use ecalloc()
524         [fabd23c1f271]
525
526         * src/exec_pty.c:
527         Don't need zero_bytes() after ecalloc()
528         [1a9d95cd10ef]
529
530         * config.h.in, configure, configure.in, src/sudo_noexec.c:
531         Add execvpe(), exect(), posix_spawn() and posix_spawnp() wrappers to
532         sudo_noexec.c.
533         [cbaa1d4b0f8a]
534
535         * src/utmp.c:
536         Fix compat setutxent and endutxent macros for systems with
537         setutent() but not setutxent(). From Gustavo Zacarias
538         [d7ce622fc5f2]
539
540 2012-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
541
542         * configure.in:
543         Add ignore_result definition to AH_BOTTOM
544         [8d4096838a98]
545
546         * common/sudo_debug.c, config.h.in, plugins/sample/sample_plugin.c,
547         plugins/sudoers/iolog.c, plugins/sudoers/toke.c,
548         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/env_hooks.c,
549         src/exec.c, src/exec_pty.c, src/tgetpass.c:
550         Fix compiler warnings on some platforms and provide a better method
551         of defeating gcc's warn_unused_result attribute.
552         [9a8f804fcc75]
553
554         * configure, configure.in:
555         Fix building the builtin zlib from a build dir. When a zlib dir was
556         specified, prepend its include path instead of appending so we get
557         the right zlib headers.
558         [5f61d591b186]
559
560         * doc/LICENSE, zlib/adler32.c, zlib/crc32.c, zlib/crc32.h,
561         zlib/deflate.c, zlib/deflate.h, zlib/gzguts.h, zlib/gzlib.c,
562         zlib/gzread.c, zlib/gzwrite.c, zlib/infback.c, zlib/inffixed.h,
563         zlib/inflate.c, zlib/inftrees.c, zlib/trees.c, zlib/zconf.h.in,
564         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
565         Update zlib to version 1.2.6
566         [173c4bc4d4fc]
567
568 2012-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
569
570         * include/missing.h:
571         g/c __unused which is no longer used
572         [7ef3f23edcd6]
573
574         * src/env_hooks.c:
575         Fix compilation if RTLD_NEXT is not defined.
576         [d5605f468b71]
577
578         * src/po/sr.mo, src/po/sr.po:
579         sync with translationproject.org
580         [27d559f7985d]
581
582         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
583         doc/sudoers.man.in:
584         regen
585         [f9f63ce478b6]
586
587         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
588         regen
589         [59035d82d15a]
590
591         * Makefile.in:
592         Ignore Project-Id-Version when comparing pot files.
593         [22feb9ede46b]
594
595         * plugins/sudoers/bsm_audit.c:
596         Use error() instead of log_fatal()
597         [54130bda4b50]
598
599         * plugins/sudoers/env.c:
600         Fix signedness of didvar in env_update_didvar()
601         [77048a80b3e4]
602
603         * plugins/sudoers/iolog.c:
604         Quiet a compiler warning on some platforms.
605         [8fdcaece0400]
606
607         * compat/fnmatch.c:
608         cast ctype(3) function/macro arguments from char to unsigned char to
609         avoid potential negative subscripting.
610         [bdcf7eef21ef]
611
612         * common/setgroups.c:
613         Quiet a warning on systems where the gids array in setgroups() is
614         not prototyped as being const, even though it really is.
615         [fdd758c6302d]
616
617         * src/env_hooks.c:
618         Quiet a compiler warning on systems where the argument to putenv(3)
619         is const.
620         [51bae2193b53]
621
622         * plugins/sudoers/sudoreplay.c:
623         Undo an incorrect int -> bool conversion.
624         [b9a4ce320f14]
625
626         * MANIFEST, NEWS, plugins/sudoers/po/sv.mo, plugins/sudoers/po/sv.po,
627         src/po/sv.mo, src/po/sv.po:
628         Add Swedish sudo and sudoers translations from
629         translationproject.org
630         [f7ce1de9073f]
631
632         * plugins/sudoers/env.c:
633         No need to preserve ODMDIR on AIX now that we always read
634         /etc/environment.
635         [4aa04b2f0125]
636
637 2012-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
638
639         * doc/sudoers.pod, plugins/sudoers/env.c:
640         When initializing the environment for env_reset, start out with the
641         contents of /etc/environment on AIX and login.conf on BSD.
642         [5717bdc321e2]
643
644         * doc/TROUBLESHOOTING, src/sudo.c:
645         If we are not running with an effective uid of 0, try to give the
646         user enough information to debug the problem.
647         [fa4894896d8a]
648
649         * plugins/sudoers/getdate.c, plugins/sudoers/gram.c:
650         Quiet a clang-analyzer false positive.
651         [c4c0c1b9c8b0]
652
653         * src/tgetpass.c:
654         If there is nothing to read from the askpass program, set errno to
655         EINTR. This makes the cancel button behave like the user entered ^C
656         at the password prompt when PAM is used.
657         [594302cb9caf]
658
659         * src/sudo.h, src/tgetpass.c:
660         Fetch the value of "askpass" from the sudo conf struct.
661         [4593ee8f1bd3]
662
663         * common/sudo_conf.c:
664         Fix matching of "Path askpass" and "Path noexec"
665         [4df28d62afb9]
666
667 2012-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
668
669         * plugins/sudoers/visudo.c:
670         Quiet a clang-analyzer dead store warning.
671         [dd90bf385a3f]
672
673         * plugins/sudoers/sudoers.c:
674         If the "timestampowner" user cannot be resolved, use ROOT_UID
675         instead of exiting with a fatal error.
676         [8d62aae99715]
677
678         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/kerb5.c,
679         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sia.c,
680         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/bsm_audit.c,
681         plugins/sudoers/check.c, plugins/sudoers/env.c,
682         plugins/sudoers/iolog.c, plugins/sudoers/logging.c,
683         plugins/sudoers/logging.h, plugins/sudoers/parse.c,
684         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
685         Remove the NO_EXIT flag to log_error() and add a log_fatal()
686         function that exits and is marked no_return. Fixes false positives
687         from static analyzers and is easier for humans to read too.
688         [a0fe785c2a3d]
689
690 2012-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
691
692         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po, src/po/eo.mo,
693         src/po/eo.po:
694         sync with translationproject.org
695         [df5e8777de13]
696
697 2012-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
698
699         * src/po/da.mo, src/po/da.po:
700         sync with translationproject.org
701         [629d99548b78]
702
703         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
704         sync with translationproject.org
705         [9d122a2860d6]
706
707 2012-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
708
709         * src/po/it.mo, src/po/it.po:
710         sync with translationproject.org
711         [6397593b15cf]
712
713         * common/sudo_conf.c, plugins/sudoers/alias.c,
714         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
715         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
716         plugins/sudoers/interfaces.c, plugins/sudoers/ldap.c,
717         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
718         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c, src/hooks.c,
719         src/load_plugins.c:
720         Use ecalloc() when allocating structs.
721         [8b5888868db2]
722
723         * common/alloc.c, include/alloc.h:
724         Add ecalloc() and commented out recalloc(). Use inline strnlen()
725         instead of strlen() in estrndup().
726         [7fb9aa46c1e0]
727
728 2012-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
729
730         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
731         plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
732         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
733         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po,
734         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
735         src/po/fi.mo, src/po/fi.po, src/po/ja.mo, src/po/ja.po,
736         src/po/pl.mo, src/po/pl.po, src/po/ru.mo, src/po/ru.po,
737         src/po/uk.mo, src/po/uk.po, src/po/vi.mo, src/po/vi.po,
738         src/po/zh_CN.mo, src/po/zh_CN.po:
739         sync with translationproject.org
740         [45a032c37334]
741
742 2012-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
743
744         * plugins/sudoers/set_perms.c:
745         Remove unused label
746         [2660bb0c1313]
747
748         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
749         Document what changed in each plugin API revision
750         [59b30a6fc4d1]
751
752         * plugins/sudoers/set_perms.c:
753         Remove bogus optimization that could lead to a double free of the
754         group list.
755         [b0bfbd2a83a8]
756
757 2012-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
758
759         * doc/TROUBLESHOOTING:
760         Expand AIX /etc/security/privcmds entry.
761         [9f3f072e034e]
762
763         * NEWS:
764         Update for sudo 1.8.5
765         [086049011f25]
766
767         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.cat,
768         doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
769         doc/sudo_plugin.man.in, doc/sudo_plugin.pod, doc/sudoers.cat,
770         doc/sudoers.man.in, doc/sudoers.pod, include/sudo_conf.h,
771         include/sudo_plugin.h, src/load_plugins.c, src/sudo.c,
772         src/sudo_plugin_int.h:
773         Rename plugin "args" to "options"
774         [f25624951bd2]
775
776         * doc/CONTRIBUTORS:
777         Add Lithuanian and Vietnamese translators
778         [2b4c075b69e3]
779
780         * Makefile.in:
781         Ignore comments when comparing new and old pot files.
782         [f872999347b3]
783
784         * src/Makefile.in:
785         regen
786         [c8193b1b11c7]
787
788         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in:
789         regen
790         [15e3c17e8a3a]
791
792         * doc/sudo_plugin.pod, include/sudo_plugin.h,
793         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
794         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c,
795         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/hooks.c,
796         src/sudo.c, src/sudo.h:
797         Pass a pointer to user_env in to the init_session policy plugin
798         function so session setup can modify the user environment as needed.
799         For PAM authentication, merge the PAM environment with the user
800         environment at init_session time. We no longer need to swap in the
801         user_env for environ during session init, nor do we need to disable
802         the env hooks at init_session time.
803         [3f5277b359d8]
804
805         * plugins/sample/sample_plugin.c:
806         Add explicit NULL entries for init_session, register_hooks and
807         deregister_hooks with appropriate comments.
808         [727a57978b40]
809
810         * compat/pw_dup.c:
811         Quiet a gcc "used uninitialized in this function" false positive.
812         [f14b68379ce9]
813
814         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
815         We should always call warning() with a format string or a string
816         literal. In this case, the argument (path) is not user-controlled.
817         [e9ef51224024]
818
819 2012-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
820
821         * src/selinux.c:
822         Include sudo_exec.h for the sudo_execve() prototype.
823         [769e58065edc]
824
825         * config.h.in, configure, configure.in:
826         Add check for pam_getenvlist()
827         [36bde3f26c60]
828
829         * common/sudo_conf.c:
830         Set args to NULL in default plugin info struct when there is no
831         Plugin line in sudo.conf.
832         [93ec67708f01]
833
834         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
835         regen
836         [a9287677795c]
837
838         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
839         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
840         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
841         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
842         regen
843         [a242769d7962]
844
845         * configure, configure.in:
846         Bump version to 1.8.5
847         [e8618f0c2505]
848
849         * doc/sudo_plugin.pod:
850         Document hooks API
851         [e6ad07d27958]
852
853 2012-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
854
855         * sudo.pp:
856         Make sudoersdir relative to PKG_INSTALL_ROOT for Solaris.
857         [fd72340042d3]
858
859         * include/sudo_plugin.h:
860         Use sudo_hook_fn_t in struct sudo_hook.
861         [938f93112d6e]
862
863         * doc/TROUBLESHOOTING:
864         If cross compiling, --host must include the OS in the tuple. E.g.
865         --host powerpc-unknown-linux
866         [b8c010070c1e]
867
868 2012-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
869
870         * plugins/sudoers/parse.c:
871         Fix bogus int -> bool conversion; tags can have a value of -1.
872         [e63d6434a303]
873
874         * plugins/sudoers/env.c:
875         Add env_should_keep() and env_should_delete() wrapper functions to
876         simplify things a bit and hide the fact that matches_env_check() is
877         not bool.
878         [7a03d7a12b50]
879
880         * sudo.pp:
881         Fix application of debian-specific sudoers mods when building
882         packages as non-root.
883         [34bf4c52c425]
884
885         * plugins/sudoers/env.c:
886         matches_env_check() returns int, not boolean
887         [0ad915b8d5cb]
888
889         * src/sudo_edit.c:
890         Fix compilation when seteuid() is not available.
891         [8a722f998000]
892
893         * src/ttyname.c:
894         Simply move the free of ki_proc outside the realloc() loop.
895         [217b786da760]
896
897         * src/ttyname.c:
898         Bring back the erealloc() for the ENOMEM loop and just zero the
899         pointer after we free it.
900         [29a016e45127]
901
902         * src/ttyname.c:
903         Don't try to erealloc() a potentially freed pointer; Mateusz Guzik
904         [266e08844065]
905
906 2012-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
907
908         * plugins/sudoers/set_perms.c:
909         Use normal error path if unable to set sudoers gid.
910         [01c816918c99]
911
912         * plugins/sudoers/set_perms.c:
913         Make this work again on systems w/o seteuid().
914         [2e67f7421e97]
915
916 2012-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
917
918         * plugins/sudoers/set_perms.c:
919         Fix compilation if no seteuid/setreuid/setresuid available.
920         [d0b3c1f88eb4]
921
922         * plugins/sudoers/set_perms.c:
923         Better error messages, and added debugging throughout. Fixed
924         seteuid() version of set_perms()/restore_perms(). Fixed logic bug in
925         AIX version of restore_perms(). Added checks to avoid changing
926         uid/gid when we don't have to. Never set gid/uid state to -1, use
927         the old value instead.
928         [29188d469b5c]
929
930         * src/exec_pty.c, src/ttyname.c:
931         Fix format string warning on Solaris with gcc 3.4.3.
932         [d1eeb6e1dd0f]
933
934         * src/sudo.c:
935         Always declare environ now that we swap it around unilaterally.
936         [aaa3e92e7d0d]
937
938         * src/Makefile.in:
939         Honor LDFLAGS when linking sesh; from Vita Cizek
940         [498b41438f6e]
941
942         * src/sesh.c:
943         Include alloc.h for estrdup() prototype; from Vita Cizek
944         [93203655a320]
945
946 2012-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
947
948         * plugins/sudoers/sudoers.c:
949         Don't read /etc/environment on Linux when using PAM, PAM should set
950         the environment variables as needed via pam_env.
951         [b1ef62cb2d40]
952
953         * INSTALL:
954         Fix editor goof.
955         [0c3dd3bb8b57]
956
957         * src/hooks.c, src/sudo.c, src/sudo.h:
958         Disable environment hooks after we get user_env back to make sure a
959         plugin can't to modify user_env after we "own" it. This is kind of
960         a hack but we don't want the init_session plugin function to modify
961         user_env.
962         [8e6d119452a5]
963
964         * src/hooks.c, src/sudo.c:
965         Add support for deregistering hooks. If an I/O log plugin fails to
966         initialize, deregister its hooks (if any).
967         [ac00c93900c5]
968
969 2012-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
970
971         * plugins/sudoers/sudoers.c, src/sudo.c:
972         Move LOGIN_PATH and LOGIN_SETENV handling to plugin now that we hook
973         setenv.
974         [e75469dd9908]
975
976         * MANIFEST, aclocal.m4, common/sudo_debug.c, compat/Makefile.in,
977         compat/setenv.c, compat/unsetenv.c, config.h.in, configure,
978         configure.in, include/sudo_debug.h, include/sudo_plugin.h, mkdep.pl,
979         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/env.c,
980         plugins/sudoers/ldap.c, plugins/sudoers/sudoers.c,
981         plugins/sudoers/sudoers.h, src/Makefile.in, src/env_hooks.c,
982         src/hooks.c, src/load_plugins.c, src/sudo.c, src/sudo.h,
983         src/sudo_plugin_int.h:
984         Initial cut at a hooks implementation. The plugin can register
985         hooks for getenv, putenv, setenv and unsetenv. This makes it
986         possible for the plugin to trap changes to the environment made by
987         authentication methods such as PAM or BSD auth so that such changes
988         are reflected in the environment passed back to sudo for execve().
989         [61cffa06f863]
990
991 2012-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
992
993         * MANIFEST, src/po/vi.mo, src/po/vi.po:
994         Add Vietnamese sudo translation from translationproject.org
995         [96df426790d5]
996
997 2012-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
998
999         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudo_plugin.pod,
1000         doc/sudoers.pod:
1001         List sudo_noexec.so not noexec.so in the sample sudo.conf
1002         [53844e190ec5]
1003
1004         * common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
1005         doc/sudo_plugin.pod, doc/sudoers.pod, include/sudo_conf.h,
1006         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
1007         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
1008         plugins/sudoers/toke.l, src/load_plugins.c, src/sudo.c,
1009         src/sudo_plugin_int.h:
1010         Add support for plugin args at the end of a Plugin line in
1011         sudo.conf. Bump the minor number accordingly and update the
1012         documentation. A plugin must check the sudo front end's version
1013         before using the plugin_args parameter since it is only supported
1014         for API version 1.2 and higher.
1015         [587f1f819536]
1016
1017 2012-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1018
1019         * plugins/sudoers/Makefile.in:
1020         update depends
1021         [6d2da44e11e5]
1022
1023         * MANIFEST:
1024         secure_path.c is in common, not compat
1025         [619c4a663dde]
1026
1027         * configure, configure.in:
1028         Add check for variadic macro support in cpp.
1029         [756854caf675]
1030
1031 2012-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1032
1033         * common/secure_path.c, common/sudo_conf.c, include/secure_path.h,
1034         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1035         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
1036         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1037         Add type param to sudo_secure_path() and add sudo_secure_file() and
1038         sudo_secure_dir() wrappers which get by #includedir in sudoers.
1039         [2ec2d3d8df04]
1040
1041 2012-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
1042
1043         * doc/visudo.pod, plugins/sudoers/visudo.c:
1044         Check the owner and mode in -c (check) mode unless the -f option is
1045         specified. Previously, the owner and mode were checked on the main
1046         sudoers file when the -s (strict) option was given, but this was not
1047         documented.
1048         [b2d6ee1e547a]
1049
1050         * config.h.in, configure, configure.in, src/ttyname.c:
1051         Prefer KERN_PROC2 over KERN_PROC. Fixes compilation on some
1052         versions of OpenBSD versions that have KERN_PROC2 but not KERN_PROC.
1053         [159f6a50456a]
1054
1055 2012-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
1056
1057         * doc/CONTRIBUTORS:
1058         Add Eric Lakin for patch in bug #538
1059         [490c29c234c6]
1060
1061         * src/exec_pty.c:
1062         Fix typo in safe_close() made while converting to debug framework
1063         that prevented it from actually closing anything.
1064         [a66422a62afd]
1065
1066         * src/exec_pty.c:
1067         Add some more debugging.
1068         [b5667947dda9]
1069
1070         * common/Makefile.in, compat/Makefile.in, doc/Makefile.in,
1071         include/Makefile.in:
1072         We need sysconfdir in compat/Makfile to get the proper sudo.conf
1073         path. Add standard prefix and foodir expansion in all Makefiles to
1074         avoid this problem in the future.
1075         [62b6ce4ecae9]
1076
1077 2012-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1078
1079         * MANIFEST, plugins/sudoers/po/lt.mo, plugins/sudoers/po/lt.po:
1080         New Lithuanian sudoers translation from translationproject.org
1081         [10436b649035]
1082
1083         * plugins/sudoers/po/ja.po:
1084         Update from translationproject.org
1085         [acb8db5f8ef1]
1086
1087 2012-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
1088
1089         * plugins/sudoers/ldap.c:
1090         When adding gids to the LDAP filter, only add the primary gid once.
1091         This is consistent with the space computation/allocation. From Eric
1092         Lakin
1093         [35d9d99c92c6]
1094
1095         * doc/TROUBLESHOOTING:
1096         Add entry for AIX enhanced RBAC config.
1097         [5e10b6f8def7]
1098
1099         * mkpkg:
1100         Target Mac OS X 10.5 when building packages.
1101         [06fce9bbebee]
1102
1103 2012-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1104
1105         * MANIFEST, common/Makefile.in, common/secure_path.c,
1106         common/sudo_conf.c, include/secure_path.h,
1107         plugins/sudoers/Makefile.in, plugins/sudoers/sudoers.c:
1108         Relax the user/group/mode checks on sudoers files. As long as the
1109         file is owned by the right user, not world-writable and not writable
1110         by a group other than the one specified at configure time (gid 0 by
1111         default), the file is considered OK. Note that visudo will still
1112         set the mode to the value specified at configure time.
1113         [241174babfcc]
1114
1115 2012-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1116
1117         * plugins/sudoers/set_perms.c:
1118         Add AIX-specific version of permission setting code to make sure
1119         that the saved uid gets restored properly.
1120         [9a6f5d22c301]
1121
1122         * config.h.in, configure, configure.in, src/exec_common.c:
1123         Check for LD_PRELOAD variants in configure instead of checkign cpp
1124         symbols. In disable_execute(), compute the length of the new envp
1125         and allocate it once instead of reallocating on demand. Also append
1126         old value of LD_PRELOAD (if any) to the new value.
1127         [680266346917]
1128
1129         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
1130         Fix the description of noexec.
1131         [6a6d142f3c80]
1132
1133         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
1134         The "op" parameter to set_default() must be int, not bool since it
1135         is set to '+' or '-' for list add and subtract.
1136         [8da5b137bea2]
1137
1138         * sudo.pp:
1139         Make sure sudoers is writable before calling ed script.
1140         [95352ab6336b]
1141
1142 2012-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1143
1144         * doc/CONTRIBUTORS, doc/contributors.pod:
1145         Update contributors. Now includes translators and authors of compat
1146         code.
1147         [4fb5b616b50a]
1148
1149 2012-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1150
1151         * src/po/sudo.pot:
1152         regen
1153         [2c86e2c328fe]
1154
1155         * pp, sudo.pp:
1156         Build flat packages, not package bundles, on Mac OS X.
1157         [57bda3cd5520]
1158
1159 2012-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1160
1161         * sudo.pp:
1162         Move macos section to be with the other OS-specific sections.
1163         [51423bb2973a]
1164
1165         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1166         plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po:
1167         Sync with translationproject.org
1168         [8ce41cbb8da0]
1169
1170         * configure, configure.in:
1171         Don't permanently add -D_FORTIFY_SOURCE=2 to CPPFLAGS
1172         [fa979aa6fe7d]
1173
1174         * sudo.pp:
1175         Add Mac OS X support, printing the latest chunk of the NEWS file and
1176         the license text in the installer.
1177         [ffeab72387c0]
1178
1179         * sudo.pp:
1180         Add explicit file modes that match those used by "make install"
1181         [7eb37242c920]
1182
1183         * pp:
1184         Sync with upstream for Mac OS X fixes.
1185         [97cba179041e]
1186
1187         * plugins/sudoers/Makefile.in, src/Makefile.in:
1188         Got back to using "install-sh -M" for files installed as non-
1189         readable by owner. This fixes "make install" as non-root for
1190         package building.
1191         [967804ee77d6]
1192
1193 2012-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1194
1195         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po,
1196         plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1197         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1198         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
1199         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
1200         Sync with translationproject.org
1201         [0e53db12039a]
1202
1203         * Makefile.in, doc/Makefile.in, include/Makefile.in,
1204         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1205         plugins/sudoers/Makefile.in, src/Makefile.in:
1206         Use -m not -M for install-sh for everything except setuid. Install
1207         locale .mo files mode 0444, not 0644. If timedir parent doesn't
1208         exist, use default dir mode, not 0700.
1209         [8b6f64c92090]
1210
1211 2012-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1212
1213         * pp:
1214         Re-sync with upstream; no longer need a local patch.
1215         [97a2c7be5e59]
1216
1217         * mkpkg:
1218         Add support for building Mac OS X packages.
1219         [94d49ac223a4]
1220
1221         * pp:
1222         Sync with upstream
1223         [1c97654fc841]
1224
1225         * src/Makefile.in:
1226         No longer need to define _PATH_SUDO_CONF here.
1227         [2560905b7482]
1228
1229         * src/exec_common.c:
1230         Fix noexec for Mac OS X.
1231         [b7a744bca2c0]
1232
1233 2012-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1234
1235         * common/Makefile.in:
1236         Move _PATH_SUDO_CONF override to common to match sudo_debug.c
1237         [f0788972a63a]
1238
1239         * plugins/sudoers/set_perms.c:
1240         More complete fix for LDR_PRELOAD on AIX. The addition of
1241         set_perm(PERM_ROOT) before calling the nss open functions (needed to
1242         avoid a GNU TLS bug) also broke LDR_PRELOAD. Setting the effective
1243         and then real uid to 0 for PERM_ROOT works around the issue.
1244         [5888eda051af]
1245
1246         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1247         regen
1248         [997fe403e219]
1249
1250         * src/sudo.c:
1251         Set real uid to root before calling sudo_edit() or run_command() so
1252         that the monitor process is owned by root and not by the user.
1253         Otherwise, on AIX at least, the monitor process shows up in ps as
1254         belonging to the user (and can be killed by the user).
1255         [d4772d7d2fc5]
1256
1257         * plugins/sudoers/set_perms.c:
1258         For PERM_ROOT when using setreuid(), only set the euid to 0 prior to
1259         the call to setuid(0) if the current euid is non-zero. This
1260         effectively restores the state of things prior to rev 7bfeb629fccb.
1261         Fixes a problem on AIX where LDR_PRELOAD was not being honored for
1262         the command being executed.
1263         [b9b40325b4dc]
1264
1265         * MANIFEST, compat/pw_dup.c, config.h.in, configure, configure.in,
1266         include/missing.h, src/sudo.c:
1267         Make a copy of the struct passwd in exec_setup() to make sure
1268         nothing in the policy init modifies it.
1269         [b721261c921f]
1270
1271 2012-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1272
1273         * doc/sudoers.pod:
1274         update copyright
1275         [f9d229d1f65e]
1276
1277         * common/sudo_debug.c, include/sudo_debug.h:
1278         g/c now-unused debug subsystems
1279         [8f21726e698f]
1280
1281         * doc/sudo.pod, doc/sudoers.pod:
1282         Enumerate the debug subsystems used by sudo and sudoers.
1283         [ac4f84293d14]
1284
1285 2012-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1286
1287         * NEWS, common/sudo_conf.c, doc/sample.sudo.conf, doc/sudo.pod,
1288         include/sudo_conf.h, src/sudo.c:
1289         Normally, sudo disables core dumps while it is running. This
1290         behavior can now be modified at run time with a line in sudo.conf
1291         like "Set disable_coredumps false"
1292         [ad14e0508b0d]
1293
1294         * NEWS:
1295         Mention Spanish translation
1296         [600f3205bd6e]
1297
1298         * common/sudo_debug.c:
1299         Make sure we don't try to fall back to using the conversation
1300         function for debugging in the main sudo process if we are unable to
1301         open the debug file.
1302         [ffa329aa908c]
1303
1304         * MANIFEST, src/po/es.mo, src/po/es.po:
1305         Add sudo Spanish translation from translationproject.org
1306         [c1906654e740]
1307
1308 2012-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1309
1310         * plugins/sudoers/iolog.c:
1311         Better debug subsystem usage
1312         [1a31f115743c]
1313
1314         * src/sudo.c:
1315         Remove duplicate function prototypes
1316         [ae04b00532eb]
1317
1318 2012-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1319
1320         * configure, configure.in:
1321         Error out if user specified --with-pam but we can't find the headers
1322         or library. Also throw an error if the headers are present but the
1323         library is not and vice versa.
1324         [d6bf3e3d0aae]
1325
1326 2012-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
1327
1328         * plugins/sudoers/sudoers.c:
1329         Fix the sudoers permission check when the expected sudoers mode is
1330         owner-writable.
1331         [8b0b7e770a22]
1332
1333 2012-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1334
1335         * configure, configure.in:
1336         Verify that we can link executables built with -D_FORTIFY_SOURCE
1337         before using it.
1338         [7578215d1a95]
1339
1340         * src/exec_common.c:
1341         Fix potential off-by-one when making a copy of the environment for
1342         LD_PRELOAD insertion. Fixes bug #534
1343         [cc699cd551b6]
1344
1345         * configure, configure.in:
1346         Add rudimentary check for _FORTIFY_SOURCE support by checking for
1347         __sprintf_chk, one of the functions used by gcc to support it.
1348         [a992673d2ef8]
1349
1350         * compat/stdbool.h, config.h.in, configure, configure.in:
1351         Use AC_HEADER_STDBOOL instead of checking for stdbool.h ourselves.
1352         [8ba1370884b3]
1353
1354 2012-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1355
1356         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1357         regen
1358         [1e0b38397705]
1359
1360 2012-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
1361
1362         * src/exec.c, src/sudo.c:
1363         The change in 818e82ecbbfc that caused to exit when the monitor dies
1364         created a race condition between the monitor exiting and the status
1365         being read. All we really want to do is make sure that select()
1366         notifies us that there is a status change when the monitor dies
1367         unexpectedly so shutdown the socketpair connected to the monitor for
1368         writing when it dies. That way we can still read the status that is
1369         pending on the socket and select() on Linux will tell us that the fd
1370         is ready.
1371         [7fb5b30ea48d]
1372
1373         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_common.c,
1374         src/exec_pty.c, src/selinux.c, src/sesh.c, src/sudo.c, src/sudo.h,
1375         src/sudo_exec.h:
1376         Refactor disable_execute() and my_execve() into exec_common.c for
1377         use by sesh.c. This fixes NOEXEC when SELinux is used. Instead of
1378         disabling exec in exec_setup(), disable it immediately before
1379         executing the command. Adapted from a diff by Arno Schuring.
1380         [ec4d8b53db6b]
1381
1382 2012-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1383
1384         * aclocal.m4, configure, configure.in:
1385         Add custom version of AC_CHECK_LIB that uses the extra libs in the
1386         cache value name. With this we no longer need to rely on a modified
1387         version of autoconf.
1388         [1c3b1d482d6c]
1389
1390 2012-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
1391
1392         * configure, configure.in:
1393         Better handling of network functions that need -lsocket -lnsl
1394         [cc386342ec2b]
1395
1396         * src/sudo.c:
1397         When setting up the execution environment, set groups before
1398         gid/egid like sudo 1.7 did.
1399         [928e1c5fa6c1]
1400
1401         * configure, configure.in:
1402         Remove "WARNING: unable to find foo() trying -lsocket -lnsl"
1403         [84b23cdf138f]
1404
1405         * plugins/sudoers/sudoers.c:
1406         For "sudo -g" prepend the specified group ID to the beginning of the
1407         groups list. This matches BSD convention where the effective gid is
1408         the first entry in the group list. This is required on newer
1409         FreeBSD where the effective gid is not tracked separately and thus
1410         setgroups() changes the egid if this convention is not followed.
1411         Fixes bug #532
1412         [782d6909108b]
1413
1414 2012-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1415
1416         * configure, configure.in:
1417         Fix sh warning; use "test" instead of "["
1418         [c6ee3407f65e]
1419
1420         * src/exec.c:
1421         When not logging I/O, use a signal handler that only forwards
1422         SIGINT, SIGQUIT and SIGHUP when they are user-generated signals.
1423         Fixes a race in the non-I/O logging path where the command may
1424         receive two keyboard-generated signals; one from the kernel and one
1425         from the sudo process.
1426         [9638684e786a]
1427
1428         * src/exec.c:
1429         Back out change that put the command in its own pgrp when not
1430         logging I/O. It causes problems with pipelines.
1431         [4fc9c6e1e770]
1432
1433 2012-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
1434
1435         * compat/Makefile.in, configure, configure.in:
1436         Only run compat regress tests on compat objects we actually build.
1437         Fixes "make check" in the compat dir for systems that don't
1438         implement character classes in fnmatch() or glob(). Bug #531
1439         [a7addc305e83]
1440
1441 2012-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
1442
1443         * plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
1444         Update po files from translationproject.org
1445         [5ea066af1356]
1446
1447 2012-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
1448
1449         * sudo.pp:
1450         Include parent directories in case they don't already exist. This
1451         fixes a directory permissions problem with the AIX package when the
1452         /usr/local directories don't already exist.
1453         [a14f783dc827]
1454
1455         * pp:
1456         sync with git version
1457         [2f79d0543661]
1458
1459         * common/Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in:
1460         regen dependencies
1461         [24c92ca6c64d]
1462
1463         * MANIFEST, src/Makefile.in, src/sudo.c, src/sudo.h, src/ttyname.c:
1464         Move tty name lookup code to its own file.
1465         [58faf072cbf4]
1466
1467 2012-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
1468
1469         * NEWS:
1470         Update with latest sudo 1.8.4 changes.
1471         [a4ffe4f42528]
1472
1473         * config.h.in, configure, configure.in:
1474         Remove obsolete template for HAVE_TIMESPEC
1475         [75709007c906]
1476
1477         * src/sudo.c:
1478         Add a check for devname() returning a fully-qualified pathname. None
1479         of the devname() implementations do this today but you never know
1480         when this might change.
1481         [16813ace38f9]
1482
1483 2012-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
1484
1485         * plugins/sudoers/visudo.c:
1486         For "visudo -c" also list include files that were checked when
1487         everything is OK.
1488         [ad6f85b35c9c]
1489
1490         * src/sudo.c:
1491         The device name returned by devname() does not include the /dev/
1492         prefix so we need to add it ourselves.
1493         [b55285abb7ed]
1494
1495         * src/sudo.c:
1496         Add debug warning if KERN_PROC sysctl fails or devname() can't
1497         resolve the tty device to a name.
1498         [b5a23916ba3a]
1499
1500         * common/sudo_debug.c:
1501         The result of writev() is never checked so just cast to NULL.
1502         [4be4e9b58d5b]
1503
1504         * plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
1505         plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
1506         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
1507         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po:
1508         Update Esperanto, Finnish, Polish and Ukrainian translations from
1509         translationproject.org.
1510         [bb91bc6ad7e9]
1511
1512 2012-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
1513
1514         * config.h.in, configure, configure.in, src/sudo.c:
1515         Add support for determining tty via sysctl on other BSD variants.
1516         [fd15f63f719a]
1517
1518         * configure, configure.in:
1519         Only check for struct kinfo_proc.ki_tdev on systems that support
1520         sysctl.
1521         [109b3f07a39d]
1522
1523         * src/sudo.c:
1524         For FreeBSD, try the KERN_PROC_PID sysctl() first, falling back on
1525         ttyname() of std{in,out,err}.
1526         [95969b70bd68]
1527
1528 2012-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
1529
1530         * config.h.in, configure, configure.in, src/sudo.c:
1531         On newer FreeBSD we can get the parent's tty name via sysctl().
1532         [3207290501ee]
1533
1534         * plugins/sudoers/testsudoers.c:
1535         Include locale.h
1536         [a602cd0b8c2d]
1537
1538         * src/sudo.c:
1539         Silence a gcc warning.
1540         [8c6d0e3cd534]
1541
1542         * plugins/sudoers/bsm_audit.c:
1543         Need to include gettext.h and sudo_debug.h; from John Hein
1544         [447912aa7300]
1545
1546         * plugins/sudoers/iolog.c:
1547         Initialize the debug framework from the I/O plugin too.
1548         [ce1bf44d96d2]
1549
1550 2012-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1551
1552         * plugins/sudoers/testsudoers.c:
1553         Enable debugging via sudo.conf.
1554         [d85669c749d0]
1555
1556 2012-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1557
1558         * plugins/sudoers/visudo.c:
1559         Use SUDO_DEBUG_ALIAS for alias checking functions.
1560         [fb84af30dc76]
1561
1562         * configure, configure.in:
1563         More complete test for getaddrinfo() that doesn't rely on the
1564         network libraries already being added to LIBS.
1565         [cbaf2369f4f0]
1566
1567 2012-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
1568
1569         * common/aix.c:
1570         Add debug support.
1571         [def1bdf24485]
1572
1573         * configure, configure.in:
1574         Need -lsocket -lnsl for getaddrinfo(3) on Solaris at least.
1575         [a2ea1c2eac61]
1576
1577         * compat/getaddrinfo.c:
1578         Include errno.h and missing.h
1579         [7d15e17cc2f2]
1580
1581         * .hgignore:
1582         ignore doc/varsub
1583         [417f9fc3231b]
1584
1585         * configure.in, doc/visudo.pod, plugins/sudoers/Makefile.in,
1586         plugins/sudoers/gram.y, plugins/sudoers/match.c,
1587         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c, src/exec.c,
1588         src/parse_args.c, src/sudo.c, src/sudo.h:
1589         Update copyright year.
1590         [5d0ffc7dd567]
1591
1592         * NEWS:
1593         Update for sudo 1.8.4
1594         [841e3eff9844]
1595
1596         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
1597         regen pot files
1598         [c509cb45b66a]
1599
1600         * plugins/sudoers/sudoreplay.c:
1601         Enable debugging via sudo.conf.
1602         [5087aaee8484]
1603
1604         * plugins/sudoers/visudo.c:
1605         Enable debugging via sudo.conf.
1606         [04b067c16ed3]
1607
1608         * plugins/sudoers/visudo.c:
1609         Allow "visudo -c" to work when we only have read-only access to the
1610         sudoers include files.
1611         [d8c6713fe5c1]
1612
1613         * doc/sudo.pod, doc/visudo.pod:
1614         Mention the CONTRIBUTORS file, not HISTORY in AUTHOR section. Add
1615         HISTORY section in sudo that points to HISTORY file.
1616         [d1f1bcb051c5]
1617
1618         * doc/sudo.pod, doc/sudo_plugin.pod:
1619         Document Debug setting in sudo.conf and debug_flags in plugin.
1620         [acfc505aa4a9]
1621
1622 2012-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1623
1624         * plugins/sudoers/match.c:
1625         Do not include GLOB_MARK in the flags we pass to glob(3). Fixes a
1626         bug where a pattern like "/usr/*" include /usr/bin/ in the results,
1627         which would be incorrectly be interpreted as if the sudoers file had
1628         specified a directory. From Vitezslav Cizek.
1629         [0cdb6252188c]
1630
1631         * INSTALL, config.h.in, configure, configure.in,
1632         plugins/sudoers/auth/kerb5.c:
1633         Add --enable-kerb5-instance configure option to allow people using
1634         Kerberos V authentication to use a custom instance. Adapted from a
1635         diff by Michael E Burr.
1636         [e83af8bb7aa7]
1637
1638         * doc/sudo.pod, src/parse_args.c, src/sudo.c, src/sudo.h:
1639         Remove -D debug_level option.
1640         [cbcd05094347]
1641
1642         * doc/LICENSE:
1643         Update copyright year.
1644         [9f43dd7aa852]
1645
1646 2012-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
1647
1648         * plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
1649         plugins/sudoers/visudo.c:
1650         parse_error is now bool, not int
1651         [5ea7fb6fda38]
1652
1653         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
1654         plugins/sudoers/parse.c:
1655         Print a more sensible error if yyparse() returns non-zero but
1656         yyerror() was not called.
1657         [d44ec88f1183]
1658
1659         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
1660         plugins/sudoers/gram.c:
1661         Replace y.tab.c with the correct filename in #line directives.
1662         [3c84fcb7e959]
1663
1664 2012-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
1665
1666         * src/sudo.c:
1667         When trying to determine the tty, fall back on /proc/ppid/fd/{0,1,2}
1668         if the main process's fds 0-2 are not hooked up to a tty. Adapted
1669         from a diff by Zdenek Behan.
1670         [b9dfce12af85]
1671
1672         * src/exec.c:
1673         When not logging I/O, put command in its own pgrp and make that the
1674         controlling pgrp if the command is in the foreground. Fixes a race
1675         in the non-I/O logging path where the command may receive two
1676         keyboard-generated signals; one from the kernel and one from the
1677         sudo process.
1678         [d0e263ce496c]
1679
1680 2011-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
1681
1682         * src/sudo_edit.c:
1683         Quiet a bogus gcc warning.
1684         [2009669e0608]
1685
1686         * src/parse_args.c, src/sudo.h:
1687         Fix warnings related to sudo.conf accessors.
1688         [08ddc29ba50b]
1689
1690         * common/sudo_conf.c, include/sudo_conf.h:
1691         Separate sudo.conf parsing from plugin loading and move the parse
1692         functions into the common lib so that visudo, etc. can use them.
1693         [f1fc659a8079]
1694
1695         * MANIFEST, common/Makefile.in, src/Makefile.in, src/load_plugins.c,
1696         src/parse_args.c, src/sudo.c, src/sudo_plugin_int.h:
1697         Separate sudo.conf parsing from plugin loading and move the parse
1698         functions into the common lib so that visudo, etc. can use them.
1699         [e1f2cf6bd57a]
1700
1701         * doc/sudoers.pod, plugins/sudoers/def_data.c,
1702         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
1703         plugins/sudoers/sudoers.c, src/sudo.c:
1704         Remove support for noexec_file in sudoers and the plugin API
1705         [3e2fd58879b5]
1706
1707         * plugins/sudoers/sudoers.c:
1708         Don't dump interfaces if there are none.
1709         [9081bb4d3e9e]
1710
1711         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in:
1712         Add missing %s printf escape to the group_plugin, iolog_dir and
1713         iolog_file descriptions.
1714         [7db03f2b737e]
1715
1716 2011-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1717
1718         * plugins/sudoers/def_data.c, plugins/sudoers/def_data.in, src/exec.c:
1719         Fix typo in visiblepw description; from Joel Pickett
1720         [2fb4b26d5c2c]
1721
1722 2011-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
1723
1724         * MANIFEST, configure, configure.in, mkdep.pl,
1725         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
1726         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
1727         plugins/sudoers/sudoers.h, src/sudo.c:
1728         When running a login shell with a login_class specified, use
1729         LOGIN_SETENV instead of rolling our own login.conf setenv support
1730         since FreeBSD's login.conf has more than just setenv capabilities.
1731         This requires us to swap the plugin-provided envp for the global
1732         environ before calling setusercontext() and then stash the resulting
1733         environ pointer back into the command details, which is kind of a
1734         hack.
1735         [ad4f1190143b]
1736
1737         * plugins/sudoers/Makefile.in:
1738         If srcdir is "." just use the basename of the yacc/lex file when
1739         generating the C version. This matches the generated files
1740         currently in the repo.
1741         [0b11c3df87a8]
1742
1743         * doc/Makefile.in, plugins/sudoers/Makefile.in:
1744         Clean up the DEVEL noise
1745         [9de2afe457fd]
1746
1747         * src/exec.c:
1748         Handle different Unix domain socket (actually socketpair) semantics
1749         in BSD vs. Linux. In BSD if one end of the socketpair goes away
1750         select() returns the fd as readable and the read will fail with
1751         ECONNRESET. This doesn't appear to happen on Linux so if we notice
1752         that the monitor process has died when I/O logging is enabled,
1753         behave like the command has exited. This means we log the wait
1754         status of the monitor, not the command, but there is nothing else we
1755         can do at that point. This should only be an issue if SIGKILL is
1756         sent to the monitor process.
1757         [818e82ecbbfc]
1758
1759         * src/exec_pty.c:
1760         Catch common signals in the monitor process so they get passed to
1761         the command. Fixes a problem when the entire login session is
1762         killed when ssh is disconnected or the terminal window is closed.
1763         Previously, the monitor would exit and plugin's close method would
1764         not be called.
1765         [0e4658263138]
1766
1767         * INSTALL, configure, configure.in:
1768         Mention how to configure pam_hpsec on HP-UX to play nicely with
1769         sudo.
1770         [a7294cd8ce98]
1771
1772 2011-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
1773
1774         * plugins/sudoers/ldap.c:
1775         Escape values in the search expression as per RFC 4515.
1776         [c2adbc5db92b]
1777
1778         * doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
1779         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
1780         src/Makefile.in:
1781         No need for install target to depend explicitly on install-dirs, the
1782         install-foo targets all depend on it.
1783         [62a36ed98279]
1784
1785 2011-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
1786
1787         * .hgignore:
1788         ignore src/sesh
1789         [463d492f6782]
1790
1791         * MANIFEST, common/Makefile.in, configure, configure.in, mkdep.pl,
1792         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
1793         plugins/sudoers/Makefile.in, plugins/sudoers/env.c,
1794         plugins/sudoers/login_class.c, plugins/sudoers/sudoers.c,
1795         plugins/sudoers/sudoers.h, src/Makefile.in:
1796         Add support for setenv entries in login.conf. We can't use
1797         LOGIN_SETENV since the plugin sets up the envp the command is
1798         executed with. Also regen the Makefile.in files while here. Fixes
1799         bug #527
1800         [088d507926e2]
1801
1802 2011-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
1803
1804         * MANIFEST, aclocal.m4, compat/getaddrinfo.c, compat/getaddrinfo.h,
1805         config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
1806         src/net_ifs.c:
1807         Add getaddrinfo() for those without it, written by Russ Allbery
1808         [4cf9ac831222]
1809
1810         * doc/Makefile.in:
1811         Restore PACKAGE_TARNAME, it is used in docdir
1812         [9d65e893edb1]
1813
1814         * MANIFEST, compat/stdbool.h:
1815         SunPro C Compiler also has a _Bool builtin. Also add stdbool.h to
1816         the MANIFEST
1817         [e67700dc5621]
1818
1819         * common/atobool.c, common/term.c, src/exec.c:
1820         Remove duplicate return statements.
1821         [48a20d5215fd]
1822
1823         * plugins/sudoers/auth/bsdauth.c:
1824         Remove inaccurate comment
1825         [e7f0265cf657]
1826
1827         * plugins/sudoers/auth/bsdauth.c, plugins/sudoers/sudoers.c:
1828         Fetch the login class for the user we authenticate specifically when
1829         using BSD authentication. That user may have a different login
1830         class than what we will use to run the command. When setting the
1831         login class for the command, use the target user's struct passwd,
1832         not the invoking user's. Fixes bug 526
1833         [21bf0af892f7]
1834
1835         * compat/Makefile.in, configure, configure.in, doc/Makefile.in,
1836         plugins/sudoers/Makefile.in:
1837         Replace @DEV@ prefix with DEVEL variable so we can do "make DEVEL=1"
1838         [8ee6e0891f27]
1839
1840         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
1841         plugins/sudoers/regress/logging/check_wrap.c,
1842         plugins/sudoers/regress/parser/check_addr.c,
1843         plugins/sudoers/regress/parser/check_fill.c:
1844         Fix "make check" fallout from the sudo_conv changes in sudo_debug.
1845         [b0aaa63c9081]
1846
1847         * common/fileops.c, common/sudo_debug.c, configure, configure.in,
1848         include/fileops.h, plugins/sample/Makefile.in,
1849         plugins/sample/sample_plugin.c, plugins/sample_group/Makefile.in,
1850         plugins/sample_group/sample_group.c, plugins/sudoers/alias.c,
1851         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c,
1852         plugins/sudoers/defaults.c, plugins/sudoers/defaults.h,
1853         plugins/sudoers/env.c, plugins/sudoers/find_path.c,
1854         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
1855         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
1856         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
1857         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
1858         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
1859         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
1860         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
1861         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
1862         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
1863         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
1864         plugins/sudoers/visudo.c, src/exec.c, src/exec_pty.c,
1865         src/load_plugins.c, src/sudo.c, src/sudo.h, src/sudo_exec.h,
1866         src/sudo_plugin_int.h, src/utmp.c:
1867         Use stdbool.h instead of rolling our own TRUE/FALSE macros.
1868         [dcb0bbc42fc9]
1869
1870 2011-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
1871
1872         * compat/stdbool.h, config.h.in, configure, configure.in:
1873         Add stdbool.h for systems without it.
1874         [18bd9dda1dcd]
1875
1876         * aclocal.m4, config.h.in, configure, configure.in:
1877         No longer need SUDO_CHECK_TYPE and SUDO_TYPE_* now that the default
1878         includes have unistd.h in them. Add check for socklen_t for
1879         upcoming getaddrinfo compat.
1880         [d705465bef69]
1881
1882         * common/fileops.c, compat/nanosleep.c, config.h.in, configure,
1883         configure.in, plugins/sudoers/interfaces.c,
1884         plugins/sudoers/interfaces.h, plugins/sudoers/match_addr.c,
1885         plugins/sudoers/sudoreplay.c, src/net_ifs.c:
1886         Use HAVE_STRUCT_TIMESPEC and HAVE_STRUCT_IN6_ADDR instead of
1887         HAVE_TIMESPEC and HAVE_IN6_ADDR respectively.
1888         [fa187c9bd2be]
1889
1890         * src/sudo_noexec.c:
1891         No longer need to include time.h here as missing.h does not use
1892         time_t.
1893         [fa3a089bf5b1]
1894
1895 2011-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
1896
1897         * plugins/sudoers/visudo.c:
1898         Fix mode on sudoers as needed when the -f option is not specified.
1899         [7a1c40b0dc03]
1900
1901         * MANIFEST, src/po/sr.mo, src/po/sr.po:
1902         Add Serbian translation for sudo from translationproject.org
1903         [9a0c25e25cba]
1904
1905         * common/sudo_debug.c, plugins/sudoers/sudoers.c, src/load_plugins.c,
1906         src/parse_args.c:
1907         No longer pass debug_file to plugin, plugins must now use
1908         CONV_DEBUG_MSG
1909         [810cda1abb0b]
1910
1911         * mkpkg:
1912         Build PIE executables for newer Debian and Ubuntu
1913         [1c5f25f8904a]
1914
1915         * common/sudo_debug.c:
1916         Include time.h for ctime() prototype.
1917         [10090cf3bca1]
1918
1919 2011-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
1920
1921         * common/sudo_debug.c, include/sudo_debug.h, src/exec.c,
1922         src/exec_pty.c:
1923         Do not close error pipe or debug fd via closefrom() as we need them
1924         to report an exec error should one occur.
1925         [732f6587fafa]
1926
1927         * doc/sudoers.ldap.pod:
1928         Document that a sudoUser may now be a group ID.
1929         [2fef46b9d3d3]
1930
1931         * plugins/sudoers/ldap.c:
1932         Add support for permitting access by group ID in addition to group
1933         name.
1934         [b9450fdf1f69]
1935
1936         * plugins/sudoers/ldap.c:
1937         Older Netscape LDAP SDKs don't prototype ldapssl_set_strength()
1938         [d62a1e7cff4f]
1939
1940         * compat/fnmatch.c, compat/fnmatch.h, doc/LICENSE:
1941         Replace UCB fnmatch.c with a non-recursive version written by
1942         William A. Rowe Jr.
1943         [354d3384adb8]
1944
1945         * plugins/sudoers/auth/pam.c:
1946         Fix typo, return_debug vs. debug_return
1947         [1b522efcbb0d]
1948
1949 2011-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
1950
1951         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
1952         Update Japanese sudoers translation from translationproject.org
1953         [ec0f2beaad36]
1954
1955         * doc/sudoers.pod:
1956         Make the env_reset descriptions consistent.
1957         [41c056f02688]
1958
1959 2011-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
1960
1961         * configure, configure.in:
1962         Do multiple expansion when expanding paths to the noexec file, sesh
1963         and the plugin directory. Adapted from a diff by Mike Frysinger
1964         [d7e16c876c66]
1965
1966         * common/Makefile.in:
1967         regen
1968         [9d729e09c186]
1969
1970 2011-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
1971
1972         * .hgignore:
1973         Add ignore file; from Mike Frysinger
1974         [1fa8d52425f8]
1975
1976         * mkdep.pl:
1977         no longer save old Makefile.in to .old
1978         [378dd2395545]
1979
1980         * plugins/sudoers/Makefile.in, src/Makefile.in:
1981         regen
1982         [769faf517720]
1983
1984         * config.guess, config.sub, configure, ltmain.sh, m4/libtool.m4,
1985         m4/ltoptions.m4, m4/ltversion.m4:
1986         Update to libtool 2.4.2
1987         [9dac78d84b4f]
1988
1989 2011-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
1990
1991         * plugins/sudoers/sudoers_version.h:
1992         Bump grammar version for #include and #includedir relative path
1993         support.
1994         [82a4f7cd8f71]
1995
1996 2011-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
1997
1998         * doc/sudoers.pod, plugins/sudoers/toke.c, plugins/sudoers/toke.l:
1999         Add support for relative paths in #include and #includedir
2000         [4d6e3bd0c24f]
2001
2002         * plugins/sudoers/Makefile.in:
2003         Fix install-plugin when shared objects are unsupported or disabled.
2004         [cbdd770a7a1b]
2005
2006         * plugins/sudoers/goodpath.c:
2007         Don't write to sbp if it is NULL
2008         [fc438f8e8570]
2009
2010 2011-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2011
2012         * Makefile.in:
2013         Remove all sudo/sudoers .mo files on uninstall If LINGUAS is set,
2014         only install matching .mo files
2015         [c1dc30ab4ebc]
2016
2017 2011-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2018
2019         * plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
2020         plugins/sudoers/sudoers.c, src/conversation.c:
2021         Fix non-dynamic (no dlopen) sudo build.
2022         [b0bd3fa925a3]
2023
2024         * configure, configure.in:
2025         Don't error out if the user specified --disable-shared
2026         [cf035dd1e5cc]
2027
2028         * common/sudo_debug.c, plugins/sudoers/sudoreplay.c,
2029         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
2030         src/conversation.c:
2031         Use SUDO_CONV_DEBUG_MSG in the plugin instead of writing directly to
2032         the debug file.
2033         [640c62f83251]
2034
2035         * plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
2036         plugins/sudoers/sudoers.h:
2037         Make sudo_goodpath() return value bolean
2038         [fea2d59a6e55]
2039
2040         * INSTALL, MANIFEST, configure, configure.in, mkdep.pl,
2041         plugins/sudoers/Makefile.in, plugins/sudoers/auth/securid.c:
2042         Remove obsolete securid auth method.
2043         [4e54f860214b]
2044
2045         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
2046         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
2047         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2048         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
2049         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid5.c,
2050         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
2051         plugins/sudoers/auth/sudo_auth.h:
2052         Prefix authentication functions with a "sudo_" prefix to avoid
2053         namespace problems.
2054         [581d74063ea1]
2055
2056         * INSTALL, MANIFEST, config.h.in, configure, configure.in,
2057         doc/TROUBLESHOOTING, mkdep.pl, plugins/sudoers/Makefile.in,
2058         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/sudo_auth.c,
2059         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/env.c:
2060         Remove the old Kerberos IV support
2061         [2e4b4a44209d]
2062
2063 2011-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2064
2065         * plugins/sudoers/check.c:
2066         Don't print garbage at the end of the custom lecture.
2067         [44bb788fafaa]
2068
2069         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2070         Add lexer tracing as debug@parser
2071         [d850f3f9d414]
2072
2073         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
2074         plugins/sudoers/defaults.h, plugins/sudoers/gram.c,
2075         plugins/sudoers/match.c, plugins/sudoers/parse.c,
2076         plugins/sudoers/regress/parser/check_fill.c,
2077         plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
2078         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2079         plugins/sudoers/visudo.c:
2080         Revert 003bdb078a15. We need to #include <gram.h> not "gram.h" and
2081         <def_data.h> and not "def_data.h" when generating the parser in a
2082         build dir.
2083         [7da701def753]
2084
2085 2011-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2086
2087         * mkdep.pl, plugins/sudoers/Makefile.in:
2088         Better devdir support in mkdep.pl
2089         [7dcec57bd155]
2090
2091         * plugins/sudoers/Makefile.in:
2092         Add devdir before srcdir in include path and fix up dependecies
2093         accordingly.
2094         [6e9958eca485]
2095
2096         * plugins/sudoers/alias.c, plugins/sudoers/defaults.c,
2097         plugins/sudoers/defaults.h, plugins/sudoers/match.c,
2098         plugins/sudoers/parse.c, plugins/sudoers/testsudoers.c,
2099         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
2100         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
2101         #include "gram.h" not <gram.h> and "def_data.h" and not
2102         <def_data.h>.
2103         [003bdb078a15]
2104
2105         * sudo.pp:
2106         Mark libexec files as optional. If we build without shared object
2107         support, libexec is not used.
2108         [4bffcf482219]
2109
2110         * src/load_plugins.c:
2111         Change Debug sudo.conf setting to take a program name as the first
2112         argument. In the future, this will allow visudo and sudoreplay to
2113         use their own Debug entries.
2114         [cfb8f7e4867c]
2115
2116         * src/sudo.c:
2117         fix sudo_debug_printf priority
2118         [dcb67e965609]
2119
2120         * plugins/sudoers/sudoers.c:
2121         add missing debug_return_int
2122         [d88ec450c592]
2123
2124 2011-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2125
2126         * common/sudo_debug.c, include/error.h, include/sudo_debug.h,
2127         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c:
2128         Fold SUDO_DEBUG_PROGERR and SUDO_DEBUG_SYSERR into SUDO_DEBUG_ERROR
2129         [dcee8efc294f]
2130
2131         * doc/UPGRADE:
2132         Add missing word in HOME security note.
2133         [fd844fdcc1ac]
2134
2135         * plugins/sudoers/testsudoers.c:
2136         Prevent "testsudoers -d username" from trying to malloc(0).
2137         [839126e56e8c]
2138
2139 2011-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
2140
2141         * plugins/sudoers/regress/sudoers/test10.in,
2142         plugins/sudoers/regress/sudoers/test10.out.ok,
2143         plugins/sudoers/regress/sudoers/test10.toke.ok,
2144         plugins/sudoers/regress/sudoers/test10.toke.out.ok,
2145         plugins/sudoers/regress/sudoers/test11.in,
2146         plugins/sudoers/regress/sudoers/test11.out.ok,
2147         plugins/sudoers/regress/sudoers/test11.toke.ok,
2148         plugins/sudoers/regress/sudoers/test11.toke.out.ok,
2149         plugins/sudoers/regress/sudoers/test12.in,
2150         plugins/sudoers/regress/sudoers/test12.out.ok,
2151         plugins/sudoers/regress/sudoers/test12.toke.ok,
2152         plugins/sudoers/regress/sudoers/test13.in,
2153         plugins/sudoers/regress/sudoers/test13.out.ok,
2154         plugins/sudoers/regress/sudoers/test13.toke.ok,
2155         plugins/sudoers/regress/sudoers/test9.in,
2156         plugins/sudoers/regress/sudoers/test9.out.ok,
2157         plugins/sudoers/regress/sudoers/test9.toke.ok,
2158         plugins/sudoers/regress/sudoers/test9.toke.out.ok:
2159         Tests for empty sudoers (should parse OK) and syntax errors within a
2160         line (should report correct line number) both with and without the
2161         trailing newline.
2162         [d57c879c4718]
2163
2164         * plugins/sudoers/regress/sudoers/test4.out.ok,
2165         plugins/sudoers/regress/sudoers/test5.out.ok,
2166         plugins/sudoers/regress/sudoers/test7.out.ok,
2167         plugins/sudoers/regress/sudoers/test8.out.ok,
2168         plugins/sudoers/testsudoers.c:
2169         Print line number when there is a parser error.
2170         [5444ef6ac6dc]
2171
2172 2011-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2173
2174         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
2175         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
2176         Keep track of the last token returned. On error, if the last token
2177         was COMMENT, decrement sudolineno since the error most likely
2178         occurred on the preceding line. Previously we always uses
2179         sudolineno-1 which will give the wrong line number for errors within
2180         a line.
2181         [d661a03a64da]
2182
2183 2011-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
2184
2185         * NEWS:
2186         update with sudo 1.8.3p1 info
2187         [0f79ff31f602]
2188
2189         * plugins/sudoers/sudoers.c:
2190         Fix crash when "sudo -g group -i" is run. Fixes bug 521
2191         [a3087ae337c4]
2192
2193 2011-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2194
2195         * plugins/sudoers/visudo.c:
2196         Make alias_remove_recursive() return TRUE/FALSE as its callers
2197         expect and remove two unused arguments. Fixes bug 519.
2198         [2ee3b2882844]
2199
2200         * plugins/sudoers/regress/visudo/test1.out.ok,
2201         plugins/sudoers/regress/visudo/test1.sh:
2202         Add regress test for bugzilla 519
2203         [48000ebedf97]
2204
2205         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2206         plugins/sudoers/regress/logging/check_wrap.c,
2207         plugins/sudoers/regress/parser/check_addr.c,
2208         plugins/sudoers/regress/parser/check_fill.c:
2209         Disable warning/error wrapping in regress tests.
2210         [373c589ba561]
2211
2212 2011-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2213
2214         * Makefile.in:
2215         Do compile-po as part of sync-po so that the .mo files get rebuild
2216         automatically when we sync with translationproject.org
2217         [83f3cbfc2f33]
2218
2219         * plugins/sudoers/Makefile.in:
2220         check_addr needs to link with the network libraries on Solaris
2221         [322bd70e316e]
2222
2223         * plugins/sudoers/match.c:
2224         When matching a RunasAlias for a runas group, pass the alias in as
2225         the group_list, not the user_list. From Daniel Kopecek.
2226         [766545edf141]
2227
2228         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
2229         We need to init the auth system regardless of whether we need a
2230         password since we will be closing the PAM session in the monitor
2231         process. Fixes a crash in the monitor on Solaris; bugzilla #518
2232         [e82809f86fb3]
2233
2234 2011-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2235
2236         * src/exec.c:
2237         Get rid of done: label. If the child exits we still need to close
2238         the pty, update utmp and restore the SELinux tty context.
2239         [cc127bf48405]
2240
2241 2011-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2242
2243         * common/Makefile.in, common/atobool.c, common/fileops.c,
2244         common/fmt_string.c, common/lbuf.c, common/list.c,
2245         common/setgroups.c, common/term.c, plugins/sudoers/Makefile.in,
2246         plugins/sudoers/alias.c, plugins/sudoers/audit.c,
2247         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
2248         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
2249         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
2250         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2251         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
2252         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
2253         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
2254         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/boottime.c,
2255         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
2256         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
2257         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
2258         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
2259         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
2260         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
2261         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
2262         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
2263         plugins/sudoers/logwrap.c, plugins/sudoers/match.c,
2264         plugins/sudoers/match_addr.c, plugins/sudoers/parse.c,
2265         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
2266         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
2267         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
2268         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
2269         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
2270         src/Makefile.in, src/conversation.c, src/exec.c, src/exec_pty.c,
2271         src/get_pty.c, src/load_plugins.c, src/net_ifs.c, src/parse_args.c,
2272         src/selinux.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
2273         src/tgetpass.c, src/ttysize.c, src/utmp.c:
2274         Add debug_decl/debug_return (almost) everywhere. Remove old
2275         sudo_debug() and convert users to sudo_debug_printf().
2276         [8f3bbf907b67]
2277
2278         * common/alloc.c, include/error.h, plugins/sudoers/plugin_error.c,
2279         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
2280         plugins/sudoers/visudo.c, src/error.c:
2281         Wrap error/errorx and warning/warningx functions with debug
2282         statements. Disable wrapping for standalone sudoers programs as well
2283         as memory allocation functions (to avoid infinite recursion).
2284         [562ed7b5ae8d]
2285
2286         * README, config.h.in, configure, configure.in:
2287         Add checks for __func__ and __FUNCTION__ and mention that we now
2288         require a cpp that supports variadic macros.
2289         [314cfe4c5d23]
2290
2291         * MANIFEST, common/Makefile.in, common/sudo_debug.c,
2292         include/sudo_debug.h, include/sudo_plugin.h, src/conversation.c,
2293         src/load_plugins.c, src/parse_args.c, src/sudo.c,
2294         src/sudo_plugin_int.h:
2295         New debug framework for sudo and plugins using /etc/sudo.conf that
2296         also supports function call tracing.
2297         [cded741e9f10]
2298
2299 2011-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2300
2301         * plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po:
2302         Update Japanese sudoers translation from translationproject.org
2303         [c24725775e32]
2304
2305 2011-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2306
2307         * configure, configure.in:
2308         Override and ignore the --disable-static option. Sudo already runs
2309         libtool with -tag=disable-static where applicable and we need non-
2310         PIC objects to build the executables.
2311         [aff1227b853a]
2312
2313 2011-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2314
2315         * NEWS:
2316         Add sudoedit fix
2317         [74655c7ccad1]
2318
2319         * plugins/sudoers/po/sudoers.pot:
2320         regen pot files
2321         [28d89a831ed3]
2322
2323         * plugins/sudoers/env.c:
2324         Ignore set_logname (which is now the default) for sudoedit since we
2325         want the LOGNAME, USER and USERNAME environment variables to refer
2326         to the calling user since that is who the editor runs as. This
2327         allows the editor to find the user's startup files. Fixes bugzilla
2328         #515
2329         [6c5dddf5ff05]
2330
2331         * plugins/sudoers/pwutil.c:
2332         Instead of trying to grow the buffer in make_grlist_item(), simply
2333         increase the total length, free the old buffer and allocate a new
2334         one. This is less error prone and saves us from having to adjust
2335         all the pointers in the buffer. This code path is only taken when
2336         there are groups longer than the length of the user field in struct
2337         utmp or utmpx, which should be quite rare.
2338         [5587dc8cffaf]
2339
2340         * src/po/it.mo:
2341         Add Italian translation for sudo from translationproject.org
2342         [1b3dd886e7e3]
2343
2344         * MANIFEST, NEWS, plugins/sudoers/po/ja.mo, plugins/sudoers/po/ja.po,
2345         src/po/ja.mo, src/po/ja.po:
2346         Japanese translation for sudo and sudoers from
2347         translationproject.org
2348         [c06dd866be6e]
2349
2350 2011-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
2351
2352         * plugins/sudoers/Makefile.in:
2353         sudoreplay depends on timestr.lo too; from Mike Frysinger
2354         [b9e73214b2f1]
2355
2356 2011-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
2357
2358         * plugins/sudoers/po/sudoers.pot:
2359         Regen sudoers pot file.
2360         [019588bafdb3]
2361
2362         * NEWS:
2363         Update with latest sudo 1.8.3 news
2364         [6868042a88e9]
2365
2366         * plugins/sudoers/sudoers.c:
2367         It appears that LDAP or NSS may modify the euid so we need to be
2368         root for the open(). We restore the old perms at the end of
2369         sudoers_policy_open().
2370         [2da67a5497ef]
2371
2372         * plugins/sudoers/set_perms.c:
2373         Better warning message on setuid() failure for the setreuid()
2374         version of set_perms().
2375         [07abcfe7bd9a]
2376
2377 2011-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2378
2379         * plugins/sudoers/check.c:
2380         Delref auth_pw at the end of check_user() instead of getting a ref
2381         twice.
2382         [cb665f55e6a5]
2383
2384         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/check.c:
2385         Make sudo_auth_{init,cleanup} return TRUE on success and check for
2386         sudo_auth_init() return value in check_user().
2387         [92631c919356]
2388
2389         * plugins/sudoers/auth/sudo_auth.c:
2390         Do not return without restoring permissions.
2391         [59ef40b6696a]
2392
2393         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2394         regen pot files
2395         [9f320a340b7c]
2396
2397         * plugins/sudoers/auth/API, plugins/sudoers/auth/bsdauth.c,
2398         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
2399         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
2400         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
2401         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
2402         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
2403         plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
2404         plugins/sudoers/sudoers.h:
2405         Modify the authentication API such that the init and cleanup
2406         functions are always called, regardless of whether or not we are
2407         going to verify a password. This is needed for proper PAM session
2408         support.
2409         [19a53f3fb596]
2410
2411         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
2412         Add missing dependency for getspwuid.lo and regen other depends.
2413         [f7f70eae819a]
2414
2415         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
2416         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/sudoers.c:
2417         Fix a PAM_USER mismatch in session open/close. We update PAM_USER
2418         to the target user immediately before setting resource limits, which
2419         is after the monitor process has forked (so it has the old value).
2420         Also, if the user did not authenticate, there is no pamh in the
2421         monitor so we need to init pam here too. This means we end up
2422         calling pam_start() twice, which should be fixed, but at least the
2423         session is always properly closed now.
2424         [fbc063a2a872]
2425
2426         * src/utmp.c:
2427         Add check for old being NULL in utmp_setid(); from Steven McDonald
2428         [e87126442f2e]
2429
2430 2011-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2431
2432         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
2433         plugins/sudoers/sudoers.h:
2434         If the invoking user cannot be resolved by uid fake the struct
2435         passwd and store it in the cache so we can delref it on exit.
2436         [a27e2f8b9f5e]
2437
2438 2011-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
2439
2440         * plugins/sudoers/sudoers.c:
2441         Don't error out if the group plugin cannot be loaded, just warn.
2442         [0fbfcd381e33]
2443
2444 2011-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2445
2446         * plugins/sudoers/sudoers.c:
2447         Quiet a false positive found by several static analysis tools. These
2448         tools don't know that log_error() does not return (it longjmps to
2449         error_jmp which returns to the sudo front-end).
2450         [33d0469df21b]
2451
2452 2011-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2453
2454         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/eo.mo,
2455         plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
2456         plugins/sudoers/po/uk.mo, plugins/sudoers/po/zh_CN.mo, src/po/it.po:
2457         Add Italian translation for sudo from translationproject.org Regen
2458         .mo files
2459         [c3c888a82be6]
2460
2461 2011-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
2462
2463         * doc/TROUBLESHOOTING:
2464         Update to current reality and add bit about ssh auth
2465         [184a1e7c2eeb]
2466
2467         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
2468         Make "verbose" static; fixes a namespace clash with
2469         pam_ssh_agent_auth (and it doesn't need to be extern these days).
2470         [cc38d2eb2f4c]
2471
2472         * config.h.in, configure, configure.in, src/get_pty.c:
2473         FreeBSD has libutil.h not util.h
2474         [dab4c94b6d4f]
2475
2476         * configure, configure.in:
2477         Define _BSD_SOURCE on FreeBSD, OpenBSD and DragonflyBSD
2478         [41c362f0a92a]
2479
2480 2011-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2481
2482         * plugins/sudoers/po/da.po, plugins/sudoers/po/eo.po,
2483         plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po,
2484         plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po:
2485         Update po files from translationproject.org
2486         [1e99e147c7fa]
2487
2488 2011-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
2489
2490         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
2491         Add support for DEREF in ldap.conf.
2492         [3c1937a98547]
2493
2494         * Makefile.in:
2495         install target should depend on ChangeLog too, not just install-doc
2496         [1a7c83941175]
2497
2498         * doc/sudoers.pod:
2499         Only iolog_file (not iolog_dir) supports mktemp-style suffixes.
2500         [0eca47d60a2c]
2501
2502         * NEWS:
2503         Sync with 1.8 branch for sudo 1.8.2 and 1.8.3 changes.
2504         [0501415cc5ff]
2505
2506         * doc/UPGRADE:
2507         Document group lookup change and possible side effects.
2508         [585743e1ebf7]
2509
2510         * configure, configure.in:
2511         Fix some square brackets in case statements that needed to be
2512         doubled up. While here, use $OSMAJOR when it makes sense.
2513         [8973343f4696]
2514
2515         * plugins/sudoers/pwutil.c:
2516         Fix a crash in make_grlist_item() on 64-bit machines with strict
2517         alignment.
2518         [c89508c73c46]
2519
2520         * plugins/sudoers/defaults.c, plugins/sudoers/defaults.h:
2521         Remove list_options() function that is no longer used now that "sudo
2522         -L" is gone.
2523         [fcc6a776c135]
2524
2525         * configure, configure.in:
2526         Error message if user tries --with-CC
2527         [ec5b478f813a]
2528
2529         * configure, configure.in:
2530         Check for -libmldap too when looking for ldap libs, which is the
2531         Tivoli Directory Server client library.
2532         [bb3007a97206]
2533
2534 2011-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2535
2536         * plugins/sudoers/parse.c:
2537         Honor NOPASSWD tag for denied commands too.
2538         [8dd92656db92]
2539
2540 2011-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
2541
2542         * INSTALL, configure, configure.in:
2543         Remove --with-CC option; it doesn't work correctly now that we use
2544         libtool. Users can get the same effect by setting the CC
2545         environment variable when running configure.
2546         [ec22bd1a55e0]
2547
2548 2011-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
2549
2550         * config.h.in, configure, configure.in, plugins/sudoers/visudo.c,
2551         src/sudo_edit.c:
2552         Assume all modern systems support fstat(2).
2553         [6a5a8985f6a0]
2554
2555 2011-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2556
2557         * compat/regress/glob/globtest.c, config.h.in, configure,
2558         configure.in, include/missing.h, plugins/sudoers/sudoers.h,
2559         src/sudo.h, src/sudo_noexec.c:
2560         Add configure test for missing errno declaration and only declare it
2561         ourselves if it is missing.
2562         [456e76c809a2]
2563
2564         * plugins/sudoers/alias.c:
2565         Include errno.h before sudo.h to avoid conflicting with the system
2566         definition of errno.
2567         [d0b97e392512]
2568
2569 2011-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2570
2571         * plugins/sudoers/regress/parser/check_addr.c:
2572         Only print individual check status when there is a failure.
2573         [2ac704c91441]
2574
2575         * plugins/sudoers/regress/iolog_path/check_iolog_path.c,
2576         plugins/sudoers/regress/logging/check_wrap.c,
2577         plugins/sudoers/regress/parser/check_addr.c:
2578         Add calls to setprogname() for test programs.
2579         [a8d9b420e826]
2580
2581         * configure, configure.in:
2582         Add -Wall and -Werror after all tests so they don't cause failures.
2583         [2661188ff3fa]
2584
2585         * plugins/sudoers/Makefile.in:
2586         Actually run check_addr in the check target
2587         [0b2778bc86bf]
2588
2589         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/match.c,
2590         plugins/sudoers/match_addr.c,
2591         plugins/sudoers/regress/parser/check_addr.c,
2592         plugins/sudoers/regress/parser/check_addr.in:
2593         Split out address matching into its own file and add regression
2594         tests for it.
2595         [12b9a2bf8dba]
2596
2597 2011-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2598
2599         * plugins/sudoers/match.c:
2600         When matching an address with a netmask in sudoers, AND the mask and
2601         addr before checking against the local addresses.
2602         [9747bb6d7b1c]
2603
2604 2011-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2605
2606         * plugins/sudoers/match.c:
2607         Fix netmask matching.
2608         [a3c8f8cc1464]
2609
2610         * plugins/sudoers/visudo.c:
2611         Don't assume all editors support the +linenumber command line
2612         argument, use a whitelist of known good editors.
2613         [21d43a91fd10]
2614
2615 2011-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2616
2617         * plugins/sudoers/set_perms.c, plugins/sudoers/visudo.c, src/exec.c,
2618         src/exec_pty.c, src/sudo.c:
2619         Silence compiler warnings on Solaris with gcc 3.4.3
2620         [da620bae6fdb]
2621
2622         * mkpkg:
2623         Fix building on RHEL 3
2624         [f3227fb2a252]
2625
2626         * INSTALL, configure, configure.in:
2627         Add --enable-werror configure option.
2628         [fec2cdb95543]
2629
2630         * common/setgroups.c:
2631         setgroups() proto lives in grp.h on RHEL4, perhaps others.
2632         [de91c0de5a98]
2633
2634         * configure, configure.in:
2635         Use PAM by default on AIX 6 and higher.
2636         [e16493208e5f]
2637
2638 2011-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2639
2640         * MANIFEST, plugins/sudoers/po/eo.mo, plugins/sudoers/po/eo.po,
2641         src/po/eo.mo, src/po/eo.po:
2642         Add new Esperanto translation from translationproject.org
2643         [0d9a59e04c64]
2644
2645 2011-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2646
2647         * plugins/sudoers/iolog_path.c:
2648         Quiet an innocuous valgrind warning.
2649         [0582b6027161]
2650
2651 2011-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2652
2653         * plugins/sudoers/iolog_path.c,
2654         plugins/sudoers/regress/iolog_path/data:
2655         Fix expansion of strftime() escapes in log_dir and add a regress
2656         test that exhibited the problem.
2657         [a5c7c1c4c589]
2658
2659         * plugins/sudoers/Makefile.in:
2660         Fix "make check" return value.
2661         [33b58e175230]
2662
2663 2011-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2664
2665         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2666         Regen pot files
2667         [063841aac19b]
2668
2669         * Makefile.in:
2670         Fix logic inversion in pot file up to date check.
2671         [f6a8ca8654df]
2672
2673 2011-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
2674
2675         * configure, configure.in:
2676         Add caching for gettext() checks.
2677         [01b7200f6105]
2678
2679         * configure, configure.in:
2680         Better handling of libintl header and library mismatch.
2681         [9a49b1d4db69]
2682
2683 2011-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2684
2685         * plugins/sudoers/sudoers.c:
2686         Also check sudoers gid if sudoers is group writable.
2687         [23ef96ca0d33]
2688
2689 2011-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
2690
2691         * configure, configure.in:
2692         If dlopen is present but libtool doesn't find it, error out since it
2693         probably means that libtool doesn't support the system.
2694         [a9da0a5f7941]
2695
2696         * mkpkg:
2697         configure args on the command line should override builtin defaults.
2698         Disable NLS for non-Linux/Solaris unless explicitly enabled.
2699         [b2fb05614504]
2700
2701         * plugins/sudoers/auth/aix_auth.c:
2702         Fix loop that calls authenticate(). If there was an error message
2703         from authenticate(), display it.
2704         [063a0c4f0b9a]
2705
2706 2011-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2707
2708         * m4/libtool.m4, m4/ltversion.m4:
2709         Update to autoconf 2.68 and libtool 2.4
2710         [5a912a6eb67b]
2711
2712         * config.guess, config.sub, configure, configure.in, ltmain.sh:
2713         Update to autoconf 2.68 and libtool 2.4
2714         [931ab56aecf6]
2715
2716         * doc/sudoers.pod:
2717         Fix typo; OPT should be OTP
2718         [e97bd2e46544]
2719
2720         * plugins/sudoers/Makefile.in:
2721         Rename libsudoers convenience library to libparsesudoers to avoid
2722         libtool confusion.
2723         [2a89a613f537]
2724
2725 2011-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
2726
2727         * MANIFEST, plugins/sudoers/po/da.mo, plugins/sudoers/po/da.po:
2728         Add Danish sudoers translation from translationproject.org
2729         [27b96e85eb13]
2730
2731         * plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c:
2732         Add dedicated callback function for runas_default sudoers setting
2733         that only sets runas_pw if no runas user or group was specified by
2734         the user.
2735         [b8382d8eea34]
2736
2737 2011-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
2738
2739         * plugins/sudoers/po/fi.mo, plugins/sudoers/po/fi.po,
2740         plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po,
2741         plugins/sudoers/po/uk.mo, plugins/sudoers/po/uk.po, src/po/ru.mo,
2742         src/po/ru.po:
2743         Update Finish, Polish, Russian and Ukrainian translations from
2744         translationproject.org.
2745         [f9339aff664e]
2746
2747         * plugins/sudoers/defaults.h, plugins/sudoers/sudoers.c,
2748         plugins/sudoers/testsudoers.c:
2749         Go back to using a callback for runas_default to keep runas_pw in
2750         sync. This is needed to make per-entry runas_default settings work
2751         with LDAP-based sudoers. Instead of declaring it a callback in
2752         def_data.in, sudo and testsudoers poke sudo_defs_table[] which is a
2753         bit naughty, but avoids requiring stub functions in visudo and the
2754         tests.
2755         [9aaefb908415]
2756
2757 2011-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2758
2759         * Makefile.in:
2760         Add check for out of date message catalogs when doing "make dist".
2761         [e45a29b612f4]
2762
2763 2011-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
2764
2765         * configure:
2766         regen
2767         [d6f9ad26774a]
2768
2769         * configure.in:
2770         Make sure compiler supports static-libgcc before using it.
2771         [b01bd9566e50]
2772
2773 2011-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2774
2775         * src/Makefile.in:
2776         Link libsudo_noexec.la with LDLDFLAGS for -static-libgcc
2777         [c99c7ab3edef]
2778
2779 2011-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
2780
2781         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/pl.mo,
2782         plugins/sudoers/po/pl.po, plugins/sudoers/po/uk.mo,
2783         plugins/sudoers/po/zh_CN.mo, src/po/ru.mo, src/po/ru.po,
2784         src/po/zh_CN.mo:
2785         Add new Russian sudo translation from translationproject.org and
2786         rebuild the other translation files.
2787         [e20015459056]
2788
2789 2011-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
2790
2791         * plugins/sudoers/po/fi.po, plugins/sudoers/po/pl.po:
2792         Update Finish and Polish translations from translationproject.org
2793         [4e3dbba4a1de]
2794
2795         * plugins/sudoers/sudoers.c, src/parse_args.c, src/sudo.c:
2796         Go back to escaping the command args for "sudo -i" and "sudo -s"
2797         before calling the plugin. Otherwise, spaces in the command args
2798         are not treated properly. The sudoers plugin will unescape non-
2799         spaces to make matching easier.
2800         [dfa2c4636f33]
2801
2802 2011-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
2803
2804         * plugins/sudoers/check.c, plugins/sudoers/group_plugin.c,
2805         plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
2806         plugins/sudoers/set_perms.c, plugins/sudoers/toke.c,
2807         plugins/sudoers/toke.l:
2808         Fix some potential problems found by the clang static analyzer, none
2809         serious.
2810         [ff64aa74aae6]
2811
2812         * plugins/sudoers/po/uk.po, plugins/sudoers/po/zh_CN.po,
2813         src/po/zh_CN.po:
2814         Updated Ukranian and Chinese (simplified) po files from
2815         translationproject.org
2816         [ec792becb48e]
2817
2818 2011-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
2819
2820         * plugins/sudoers/po/pl.po:
2821         Updated Polish translation from translationproject.org
2822         [a3af53cb649c]
2823
2824         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
2825         Rebuild pot files
2826         [c650524c0f0a]
2827
2828         * plugins/sudoers/audit.c, plugins/sudoers/sudoers.c:
2829         Don't try to audit failure if the runas user does not exist. We
2830         don't have the user's command at this point so there is nothing to
2831         audit. Add a NULL check in audit_success() and audit_failure() just
2832         to be on the safe side.
2833         [2a0007c2022f]
2834
2835         * mkpkg:
2836         Add -g to CFLAG for PIE builds.
2837         [32a0a9693c9c]
2838
2839 2011-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
2840
2841         * plugins/sudoers/pwutil.c, plugins/sudoers/sudoers.c,
2842         plugins/sudoers/sudoers.h, src/sudo.c:
2843         Remove fallback to per-group lookup when matching groups in sudoers.
2844         The sudo front-end will now use getgrouplist() to get the user's
2845         list of groups if getgroups() fails or returns zero groups so we
2846         always have a list of the user's groups. For systems with
2847         mbr_check_membership() which support more that NGROUPS_MAX groups
2848         (Mac OS X), skip the call to getgroups() and use getgrouplist() so
2849         we get all the groups.
2850         [51b3ed8c600b]
2851
2852 2011-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
2853
2854         * common/setgroups.c:
2855         Fix setgroups() fallback code on EINVAL.
2856         [2b6faecd56a4]
2857
2858         * plugins/sudoers/set_perms.c:
2859         Fix two PERM_INITIAL cases that were still using user_gids.
2860         [9680bab0acc6]
2861
2862         * MANIFEST:
2863         Add Polish sudo message catalog
2864         [8bb40c3ba576]
2865
2866         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2867         user_group is no longer used, remove it
2868         [9acede0fe6c5]
2869
2870 2011-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
2871
2872         * MANIFEST, plugins/sudoers/po/pl.mo, plugins/sudoers/po/pl.po:
2873         Add Polish translation from translationproject.org
2874         [afac5c638573]
2875
2876         * MANIFEST, common/Makefile.in, common/setgroups.c,
2877         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.h, src/sudo.c,
2878         src/sudo.h, src/sudo_edit.c:
2879         Add a wrapper for setgroups() that trims off extra groups and
2880         retries if setgroups() fails. Also add some missing addrefs for
2881         PERM_USER and PERM_FULL_USER.
2882         [224dfd8aae5c]
2883
2884         * MANIFEST, compat/Makefile.in, compat/getgrouplist.c, config.h.in,
2885         configure, configure.in, include/missing.h, mkdep.pl,
2886         plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
2887         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
2888         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/sudo.c:
2889         Instead of keeping separate groups and gids arrays, create struct
2890         group_info and use it to store both, along with a count for each.
2891         Cache group info on a per-user basis using getgrouplist() to get the
2892         groups. We no longer need special to special case the user or list
2893         user for user_in_group() and thus no longer need to reset the groups
2894         list when listing another user.
2895         [0ad849a8b2d5]
2896
2897         * src/preload.c:
2898         Don't rely on NULL since we don't include a header for it.
2899         [b40937f1890c]
2900
2901 2011-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
2902
2903         * doc/sudoers.pod:
2904         Fix typo
2905         [c1035360e169]
2906
2907 2011-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
2908
2909         * plugins/sudoers/sudoers.c:
2910         Do not shadow global sudo_mode with a local variable in set_cmnd()
2911         [0c72969503ad]
2912
2913 2011-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
2914
2915         * plugins/sudoers/sudoers.c:
2916         bash 2.x doesd not support the -l flag and exits with an error if it
2917         is specified so use --login instead. This causes an error with bash
2918         1.x (which uses -login instead) but this version is hopefully less
2919         used than 2.x.
2920         [5c4c296e30e6]
2921
2922         * src/po/pl.mo, src/po/pl.po:
2923         Add Polish translation from translationproject.org
2924         [48592dd6edcf]
2925
2926 2011-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
2927
2928         * plugins/sudoers/set_perms.c:
2929         Make error strings translatable.
2930         [414c5c484768]
2931
2932         * mkpkg:
2933         Only run configure with --with-pam-login for RHEL 5 and above.
2934         [6c16e4de4026]
2935
2936         * sudo.pp:
2937         Fix typo in summary
2938         [9ac618c9a749]
2939
2940 2011-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
2941
2942         * plugins/sudoers/logwrap.c:
2943         Add missing logwrap.c
2944         [c12a413ecc1d]
2945
2946         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/logging.c,
2947         plugins/sudoers/logging.h,
2948         plugins/sudoers/regress/logging/check_wrap.c,
2949         plugins/sudoers/regress/logging/check_wrap.in,
2950         plugins/sudoers/regress/logging/check_wrap.out.ok:
2951         Split out log file word wrap code into its own file and add unit
2952         tests. Fixes an off-by one in the word wrap when the log line
2953         length matches loglinelen.
2954         [52ed277f6690]
2955
2956 2011-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
2957
2958         * mkpkg:
2959         For SuSE, only use /usr/lib64 as libexec if generating 64-bit
2960         binaries.
2961         [645ab903cf77]
2962
2963         * src/load_plugins.c, src/sudo.c:
2964         Fix build error when --without-noexec configure option is used.
2965         [b994f7b0d8b4]
2966
2967         * configure, configure.in:
2968         Disable noexec for AIX < 5. LDR_PRELOAD is only available in AIX
2969         5.3 and above.
2970         [c2a6f9b472f3]
2971
2972 2011-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
2973
2974         * plugins/sudoers/ldap.c, plugins/sudoers/pwutil.c,
2975         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
2976         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
2977         Resolve the list of gids passed in from the sudo frontend (the
2978         result of getgroups()) to names and store both the group names and
2979         ids in the sudo_user struct. When matching groups in the sudoers
2980         file, match based on the names in the groups list first and only do
2981         a gid-based match when we absolutely have to. By matching on the
2982         group name (as it is listed in sudoers) instead of id (which we
2983         would have to resolve) we save a lot of group lookups for sudoers
2984         files with a lot of groups in them.
2985         [8dc19353f148]
2986
2987 2011-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
2988
2989         * plugins/sudoers/sudoers.c:
2990         Workaround for "sudo -i command" and newer versions of bash which
2991         don't go into login mode when -c is specified unless -l is too.
2992         [9393762b80f3]
2993
2994 2011-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
2995
2996         * plugins/sudoers/logging.c:
2997         Rewrite logfile word wrapping code to be more straight-forward and
2998         actually wrap at the correct place.
2999         [f712a0c90f55]
3000
3001 2011-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3002
3003         * doc/CONTRIBUTORS, doc/contributors.pod, plugins/sudoers/sudoers.c:
3004         Set use_pty=true in command details when use_pty is set in sudoers.
3005         From Ludwig Nussel
3006         [8d95a163dfc1]
3007
3008 2011-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3009
3010         * plugins/sudoers/po/zh_CN.mo, plugins/sudoers/po/zh_CN.po,
3011         src/po/zh_CN.mo, src/po/zh_CN.po:
3012         Sync Chinese (simplified) PO files from translationproject.org
3013         [acce8eb7be18]
3014
3015 2011-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3016
3017         * MANIFEST, plugins/sudoers/po/eu.mo, plugins/sudoers/po/fi.mo,
3018         plugins/sudoers/po/uk.mo, src/po/da.mo, src/po/da.po, src/po/eu.mo:
3019         Add Danish translation from translationproject.org and add missing
3020         Basque mo files.
3021         [0c22bb21b9c4]
3022
3023         * Makefile.in, configure, configure.in:
3024         No longer need to specify LINGUAS in configure, "make install-nls"
3025         now just installs all the .mo files it finds.
3026         [fcd45cf04885]
3027
3028 2011-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3029
3030         * MANIFEST, doc/CONTRIBUTORS, doc/Makefile.in, doc/contributors.pod:
3031         Build CONTRIBUTORS from newly-added contributors.pod
3032         [8b192f2720f4]
3033
3034         * doc/CONTRIBUTORS:
3035         Rework the wording in the leading paragraph
3036         [312044145cdd]
3037
3038 2011-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3039
3040         * MANIFEST, doc/CONTRIBUTORS:
3041         Add a CONTRIBUTORS file with the names of folks who have contributed
3042         code or patches to sudo since I started maintaining it (plus the
3043         original authors).
3044         [b8bdd8b59528]
3045
3046 2011-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
3047
3048         * plugins/sudoers/env.c:
3049         Preserve SHELL variable for "sudo -s". Otherwise we can end up with
3050         a situation where the SHELL variable and the actual shell being run
3051         do not match.
3052         [b8b3974aee3e]
3053
3054 2011-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
3055
3056         * configure, configure.in:
3057         Only enable Solaris project support when setproject() is present in
3058         libproject.
3059         [49ad7857ab89]
3060
3061         * sudo.pp:
3062         Explicitly set mode and owner of /etc/sudoers instead of relying on
3063         "cp -p" to work in the postinstall script. On AIX 6.1 at least the
3064         postinstall script runs before the final file permissions are set.
3065         [e41ffc0212b2]
3066
3067 2011-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3068
3069         * doc/sudo.pod, doc/sudoers.pod:
3070         Refer the user to the "Command Environment" section in description
3071         of sudo's -i option.
3072         [263cc3be7eef]
3073
3074         * doc/sudo.pod:
3075         Fix typo
3076         [35dfac450f4d]
3077
3078 2011-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
3079
3080         * mkdep.pl:
3081         If there is no old dependency for an object file, use the MANIFEST
3082         to find its source.
3083         [d15e3b9899f9]
3084
3085         * compat/Makefile.in:
3086         Remove dependency for getgrouplist.lo as we don't ship that source
3087         file.
3088         [312a6d5fe6b0]
3089
3090 2011-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3091
3092         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
3093         Do not declare yyparse() static as the actual function generated by
3094         yacc is extern.
3095         [9017b79dcf55]
3096
3097 2011-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3098
3099         * Makefile.in:
3100         Remove locale files in "make uninstall"
3101         [201ff261ecbe]
3102
3103         * configure.in, plugins/sudoers/po/eu.po, plugins/sudoers/po/fi.po,
3104         plugins/sudoers/po/uk.po, src/po/eu.po:
3105         Add Basque translation and sync Finish and Ukranian translations.
3106         [66d2c78c8a13]
3107
3108         * configure, configure.in:
3109         FreeBSD no longer needs the main sudo binary to link with -lpam now
3110         that plug-ins are loaded with RTLD_GLOBAL.
3111         [96c710df2457]
3112
3113         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
3114         Load plugins with RTLD_GLOBAL instead of RTLD_LOCAL. This fixes
3115         problems with pam modules not having access to symbols provided by
3116         libpam on some platforms. Affects FreeBSD and SLES 10 at least.
3117         [0d016983ec84]
3118
3119         * Makefile.in:
3120         Move xgettext invocation out of update-po target into update-pot
3121         [19a73c6d017c]
3122
3123 2011-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3124
3125         * plugins/sudoers/po/sudoers.pot, src/po/sudo.pot:
3126         Regenerate .pot files for 1.8.2rc2
3127         [c3037f591dd8]
3128
3129         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3130         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3131         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3132         src/Makefile.in, zlib/Makefile.in:
3133         Move nls targets to the top level Makefile so the paths in the pot
3134         file are saner
3135         [65b9285cd8d9]
3136
3137         * src/po/fi.mo:
3138         Add compiled version of sudo Finish translation
3139         [8f2405384ea3]
3140
3141         * MANIFEST, plugins/sudoers/po/fi.mo, plugins/sudoers/po/uk.mo:
3142         Update MANIFEST with .po and .mo files Rebuild sudoers fi and uk .mo
3143         files
3144         [a165e70fa9ec]
3145
3146         * configure, configure.in, plugins/sudoers/po/fi.po:
3147         Add Finish translation from translationproject.org
3148         [4466f8a96ceb]
3149
3150 2011-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3151
3152         * doc/sudoers.pod:
3153         The group named by exempt_group should not have a % prefix.
3154         [df084d6b32c8]
3155
3156 2011-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3157
3158         * doc/sudoers.pod:
3159         Fix typo; "Defaults group_plugin" not "Defaults sudo_plugin"
3160         [5113699a3f8b]
3161
3162 2011-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3163
3164         * src/exec.c, src/exec_pty.c:
3165         Fix compressed io log corruption in background mode by using _exit()
3166         instead of exit() to avoid flushing buffers twice.
3167
3168         Improved background mode support. When not allocating a pty, the
3169         command is run in its own process group. This prevents write access
3170         to the tty. When running in a pty, stdin is not hooked up and we
3171         never read from /dev/tty, which results in similar behavior.
3172         [87c15149894c]
3173
3174         * compat/Makefile.in, mkdep.pl, plugins/sudoers/Makefile.in:
3175         Clean up regress files Generate proper dependencies for regress objs
3176         in compat
3177         [88bfc728c1e7]
3178
3179         * plugins/sudoers/Makefile.in:
3180         Add missing dependency for check_fill.o.
3181         [0bd6362e3e17]
3182
3183 2011-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3184
3185         * INSTALL, configure, configure.in:
3186         Add support for --enable-nls[=location]
3187         [b90db44a050f]
3188
3189 2011-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3190
3191         * plugins/sudoers/linux_audit.c:
3192         Include gettext.h
3193         [7f909a6e48cb]
3194
3195         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
3196         Quiet gcc warnings.
3197         [b41a6cdca583]
3198
3199         * configure, configure.in:
3200         Don't install .mo files if gettext was not found.
3201         [1397b34cc165]
3202
3203 2011-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3204
3205         * src/exec.c:
3206         Always allocate a pty when running a command in the background but
3207         call setsid() after forking to make sure we don't end up with a
3208         controlling tty.
3209         [b6454ba172e8]
3210
3211         * plugins/sudoers/iolog.c:
3212         Add missing space between command name and the first command line
3213         argument.
3214         [fe217f0a36d4]
3215
3216         * plugins/sudoers/sudoreplay.c:
3217         Quiet a compiler warning on some platforms.
3218         [de9f2849f236]
3219
3220         * plugins/sudoers/po/README, src/po/README:
3221         README file that directs people to translationproject.org
3222         [30c0fc323281]
3223
3224         * plugins/sudoers/po/uk.po, src/po/fi.po:
3225         Sync translations with TP
3226         [1d7d64559cba]
3227
3228         * Makefile.in:
3229         Add 'sync-po' target to top-level Makefile to rsync the po files
3230         from translationproject.org.
3231         [20508211aaa3]
3232
3233         * plugins/sudoers/Makefile.in:
3234         install nls files from install target
3235         [5fc07b6cab38]
3236
3237         * Makefile.in, plugins/sudoers/Makefile.in, src/Makefile.in, sudo.pp:
3238         Include .mo files in sudo binary packags.
3239         [278d4821a916]
3240
3241         * configure, configure.in, plugins/sudoers/po/zh_CN.mo,
3242         plugins/sudoers/po/zh_CN.po, src/po/zh_CN.mo, src/po/zh_CN.po:
3243         Add simplified chinese translation
3244         [2b33ffc755b9]
3245
3246 2011-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3247
3248         * configure, configure.in, plugins/sudoers/po/uk.mo,
3249         plugins/sudoers/po/uk.po, src/po/uk.mo, src/po/uk.po:
3250         Add ukranian translation
3251         [2d8102688e93]
3252
3253         * compat/Makefile.in:
3254         refer to siglist.c, not ./siglist.c since not all makes will treat
3255         foo and ./foo the same.
3256         [6639d293ffba]
3257
3258         * plugins/sudoers/sudoers.c:
3259         Set def_preserve_groups before searching for the command when the -P
3260         flag is specified.
3261         [0edc7942f875]
3262
3263         * Makefile.in, compat/Makefile.in, mkdep.pl,
3264         plugins/sudoers/Makefile.in:
3265         Add dependency for siglist.lo in compat. This is a generated file
3266         so "make depend" needs to depend on it.
3267         [28d0932f8b50]
3268
3269         * compat/Makefile.in:
3270         More dependency fixes.
3271         [aad0d05cd020]
3272
3273         * compat/Makefile.in:
3274         Fix a few dependencies.
3275         [eb21aa35a032]
3276
3277         * plugins/sudoers/Makefile.in, src/Makefile.in:
3278         Place compiled mo files in the src dir, not the build dir. When
3279         installing compiled mo files, display a status message.
3280         [e15634c29cd3]
3281
3282 2011-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3283
3284         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
3285         Tivoli Directory Server requires that seconds be present in a
3286         timestamp, even though RFC 4517 states that they are optional.
3287         [55fe23dd4ef9]
3288
3289         * plugins/sudoers/sudo_nss.h:
3290         Add missing bit of copyright
3291         [d2eba3c364ca]
3292
3293         * doc/visudo.pod:
3294         Mention cycle detection warnings
3295         [a76bef15ab67]
3296
3297         * plugins/sudoers/visudo.c:
3298         When checking aliases, also check the contents of the alias in case
3299         there are problems with an alias that is referenced inside another.
3300         Replace the self reference check with real alias cycle detection.
3301         [a66c904cf53b]
3302
3303         * plugins/sudoers/alias.c:
3304         Set errno to ELOOP in alias_find() if there is a cycle. Set errno to
3305         ENOENT in alias_find() and alias_remove() if the entry could not be
3306         found.
3307         [b4f0b89e433c]
3308
3309         * plugins/sudoers/visudo.c:
3310         Increment alias_seqno before calls to alias_remove_recursive() to
3311         avoid false positives with the alias loop detection. Fixes spurious
3312         warnings about unused aliases when they are nested.
3313         [a344483b8193]
3314
3315         * MANIFEST:
3316         add mkdep.pl
3317         [86b7ed33eab2]
3318
3319         * plugins/sudoers/Makefile.in:
3320         Add dependency on convenience libs to binaries
3321         [cd3078b3c997]
3322
3323         * Makefile.in:
3324         mkdep.pl only works when run from the src dir
3325         [f35a5e47c944]
3326
3327         * Makefile.in, common/Makefile.in, compat/Makefile.in, mkdep.pl,
3328         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3329         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
3330         Auto-generate Makefile dependencies with a perl script.
3331         [a3e4afcd7975]
3332
3333 2011-05-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3334
3335         * plugins/sudoers/match.c:
3336         If the user specifies a runas group via sudo's -g option that
3337         matches the runas user's group in the passwd database and that group
3338         is not denied in the Runas_Spec, allow it. Thus, if user root's gid
3339         in /etc/passwd is 0, then "sudo -u root -g root id" is allow even if
3340         no groups are present in the Runas_Spec.
3341         [e3f9732dc564]
3342
3343 2011-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
3344
3345         * plugins/sudoers/Makefile.in, src/Makefile.in:
3346         Add dependencies on gettext.h
3347         [a3a9dc51f78b]
3348
3349         * plugins/sudoers/Makefile.in, src/Makefile.in:
3350         Fix install-nls target with HP-UX sh when gettext is not present.
3351         [0c6b9655cd41]
3352
3353 2011-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
3354
3355         * plugins/sudoers/Makefile.in, plugins/sudoers/po/sudoers.pot,
3356         src/Makefile.in, src/po/sudo.pot:
3357         regenerate .pot files for lbuf changes
3358         [918ded125a0b]
3359
3360         * configure, configure.in:
3361         Add missing "checking" message for gettext when using the cache.
3362         [9c21187ad1d2]
3363
3364         * common/lbuf.c, include/lbuf.h, plugins/sudoers/ldap.c,
3365         plugins/sudoers/parse.c, plugins/sudoers/sudo_nss.c,
3366         src/parse_args.c:
3367         Add primitive format string support to the lbuf code to make
3368         translations simpler.
3369         [ee71c7ef5299]
3370
3371         * MANIFEST, plugins/sudoers/Makefile.in,
3372         plugins/sudoers/po/sudoers.pot, src/Makefile.in, src/po/sudo.pot:
3373         Add message catalog template files for sudo and the sudoers module.
3374         [f3f8acb1f014]
3375
3376         * MANIFEST, common/aix.c, common/alloc.c, compat/strsignal.c,
3377         config.h.in, configure.in, doc/Makefile.in, include/gettext.h,
3378         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
3379         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3380         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/error.c,
3381         src/net_ifs.c, src/sesh.c, src/sudo.c, src/sudo.h:
3382         Add gettext.h convenience header. This is similar to but distinct
3383         from the one included with the gettext package.
3384         [930a0591f73c]
3385
3386 2011-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
3387
3388         * configure, configure.in:
3389         Add checks for nroff -c and -Tascii flags
3390         [19ca990b3149]
3391
3392         * configure, configure.in:
3393         Add check for HP bundled C Compiler (which cannot create shared
3394         libs)
3395         [517716a7072d]
3396
3397         * plugins/sudoers/sudoreplay.c:
3398         Fix C format warnings.
3399         [6514326013fa]
3400
3401         * include/error.h:
3402         Add __printflike
3403         [e1749a30a406]
3404
3405         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
3406         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoreplay.c,
3407         plugins/sudoers/visudo.c, src/parse_args.c:
3408         Translate help / usage strings.
3409         [ee1cc9b1a8bd]
3410
3411         * plugins/sudoers/Makefile.in, src/Makefile.in:
3412         Set --msgid-bugs-address to the bugzilla url
3413         [5a0aa250ca21]
3414
3415         * Makefile.in, common/Makefile.in, compat/Makefile.in, configure,
3416         configure.in, doc/Makefile.in, include/Makefile.in,
3417         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
3418         plugins/sudoers/Makefile.in, src/Makefile.in, zlib/Makefile.in:
3419         Add scaffolding to update .po files and install .mo files.
3420         [f05f4eed1fe1]
3421
3422         * doc/license.pod:
3423         update copyright year
3424         [fa0c62523875]
3425
3426         * INSTALL, README:
3427         No need to include version number at the top of these files.
3428         [9f2981325351]
3429
3430 2011-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3431
3432         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/env.c,
3433         plugins/sudoers/find_path.c, plugins/sudoers/group_plugin.c,
3434         plugins/sudoers/sudoers.c, plugins/sudoers/sudoreplay.c,
3435         plugins/sudoers/visudo.c:
3436         Minor warning/error cleanup
3437         [9236dc85aeab]
3438
3439         * config.h.in, configure.in:
3440         Emulate ngettext for the non-nls case
3441         [13571d63fa36]
3442
3443         * plugins/sudoers/ldap.c:
3444         Do not mark untranslatable strings for translation
3445         [735f5d4413fe]
3446
3447         * plugins/sudoers/check.c:
3448         Use ROOT_UID not 0.
3449         [09a268db8da4]
3450
3451         * plugins/sudoers/check.c, plugins/sudoers/iolog.c,
3452         plugins/sudoers/logging.c, src/exec.c, src/exec_pty.c,
3453         src/load_plugins.c, src/sudo.c, src/sudo_edit.c:
3454         Minor warning/error message cleanup
3455         [3c7b1a7939b5]
3456
3457         * plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/sudo_auth.c,
3458         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
3459         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
3460         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c, src/exec.c,
3461         src/exec_pty.c, src/net_ifs.c, src/selinux.c:
3462         cannot -> "unable to" in warning/error messages
3463         [31c3897649e9]
3464
3465         * plugins/sudoers/check.c, plugins/sudoers/mon_systrace.c,
3466         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
3467         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/exec_pty.c,
3468         src/sudo.c, src/utmp.c:
3469         can't -> "unable to" in warning/error messages
3470         [127b75f15291]
3471
3472         * configure, configure.in:
3473         FreeBSD needs the main sudo executable to link with -lpam when
3474         loading dynaic pam modules for some reason.
3475         [944522cc9bef]
3476
3477 2011-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
3478
3479         * plugins/sudoers/ldap.c, src/exec.c, src/exec_pty.c, src/sudo.c:
3480         We don't want to translate debugging messages.
3481         [56a1a365815a]
3482
3483         * configure, configure.in, plugins/sudoers/Makefile.in,
3484         plugins/sudoers/iolog.c, plugins/sudoers/plugin_error.c,
3485         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
3486         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
3487         src/Makefile.in, src/sesh.c, src/sudo.c:
3488         Add calls to bindtextdomain() and textdomain() Currently there are
3489         two domains, one for the sudo front-end and one for the sudoers
3490         plugin and its associated utilities.
3491         [0426138f789e]
3492
3493         * configure, configure.in:
3494         Fix caching of libc gettext check.
3495         [942142d2c43a]
3496
3497         * plugins/sudoers/def_data.c, plugins/sudoers/defaults.c,
3498         plugins/sudoers/mkdefaults:
3499         Mark defaults descriptions for translation
3500         [5b27f018e6cf]
3501
3502         * NEWS:
3503         Update for sudo 1.8.1p2
3504         [747c4dee2ca7]
3505
3506 2011-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
3507
3508         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3509         Quiet compiler warning when SELinux is enabled.
3510         [1fbf77dda240]
3511
3512         * plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
3513         src/error.c, src/net_ifs.c, src/sesh.c:
3514         Add missing includes of libintl.h.
3515         [bc1d66316082]
3516
3517         * plugins/sudoers/auth/pam.c:
3518         Fix gettext marker.
3519         [a5cf4ed66c66]
3520
3521         * common/aix.c, common/alloc.c, compat/strsignal.c,
3522         plugins/sudoers/auth/pam.c, plugins/sudoers/sudoers.h, src/sudo.h:
3523         Include libint.h where needed.
3524         [2b0e5a663c7b]
3525
3526         * plugins/sudoers/alias.c, plugins/sudoers/auth/bsdauth.c,
3527         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb5.c,
3528         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/rfc1938.c,
3529         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
3530         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
3531         plugins/sudoers/bsm_audit.c, plugins/sudoers/check.c,
3532         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
3533         plugins/sudoers/find_path.c, plugins/sudoers/gram.c,
3534         plugins/sudoers/gram.y, plugins/sudoers/group_plugin.c,
3535         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
3536         plugins/sudoers/iolog_path.c, plugins/sudoers/ldap.c,
3537         plugins/sudoers/linux_audit.c, plugins/sudoers/logging.c,
3538         plugins/sudoers/parse.c, plugins/sudoers/plugin_error.c,
3539         plugins/sudoers/pwutil.c, plugins/sudoers/set_perms.c,
3540         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
3541         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
3542         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
3543         plugins/sudoers/toke_util.c, plugins/sudoers/visudo.c:
3544         Prepare sudoers module messages for translation.
3545         [7212ae1909c5]
3546
3547         * plugins/sudoers/sudoers.c:
3548         Only check gid of sudoers file if it is group-readable.
3549         [50e3bc0cb242]
3550
3551         * plugins/sudoers/auth/aix_auth.c:
3552         For AIX, keep calling authenticate() until reenter reaches 0.
3553         [e240815b74b1]
3554
3555 2011-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
3556
3557         * configure, configure.in:
3558         Cache the status of the initial gettext() check.
3559         [32751ebe1704]
3560
3561         * INSTALL, configure, configure.in:
3562         Add --disable-nls flag and improve checks for gettext.
3563         [c7e6b17052de]
3564
3565         * configure, configure.in:
3566         When building with gcc on HP-UX, use -march=1.1 to produce portable
3567         binaries on a pa-risc2 host. Previously, the +Dportable option was
3568         used for the HP-UX C compiler but gcc always produced native
3569         binaries.
3570         [8f4c749324d7]
3571
3572 2011-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3573
3574         * common/aix.c, common/alloc.c, compat/strsignal.c, src/error.c,
3575         src/exec.c, src/exec_pty.c, src/load_plugins.c, src/net_ifs.c,
3576         src/parse_args.c, src/selinux.c, src/sesh.c, src/sudo.c,
3577         src/sudo_edit.c, src/tgetpass.c, src/utmp.c:
3578         Prepare sudo front end messages for translation.
3579         [2fc2fabceccb]
3580
3581 2011-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
3582
3583         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c:
3584         Add initial scaffolding to support localization via gettext()
3585         [7d47b59fcf95]
3586
3587         * compat/fnmatch.h, compat/glob.h:
3588         Don't let the fnmatch/glob macros expand the function prototype.
3589         [a9014aa0288e]
3590
3591 2011-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
3592
3593         * compat/fnmatch.c, compat/fnmatch.h, compat/glob.c, compat/glob.h:
3594         Resolve namespace collisions on HP-UX ia64 and possibly others by
3595         adding a rpl_ prefix to our fnmatch and glob replacements and
3596         #defining rpl_foo to foo in the header files.
3597         [caa9b690a15d]
3598
3599 2011-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3600
3601         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3602         Split ALL, ROLE and TYPE into their own actions. Since you can only
3603         have #ifdefs inside of braces, ROLE and TYPE use a naughty goto in
3604         the non-SELinux case. This is safe because the actions are in one
3605         big switch() statement.
3606         [7473fc2cfa2c]
3607
3608         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3609         Fix regexp for matching a CIDR-style IPv4 netmask. From Marc Espie.
3610         [9be3480c2865]
3611
3612 2011-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3613
3614         * doc/UPGRADE, doc/sudoers.pod:
3615         askpass moved from sudoers to sudo.conf in sudo 1.8.0
3616         [b2c2956cec4e]
3617
3618         * doc/sudoers.pod:
3619         Remove obsolete warning about runas_default and ordering. Move
3620         syslog facility and priority lists into the section where the
3621         relevant options are described.
3622         [e57b8dc3f779]
3623
3624 2011-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
3625
3626         * plugins/sudoers/auth/sia.c:
3627         Fix SIA support; we no longer have access to the real argc and argv
3628         so allocate space for a fake one and use the argv passed to the
3629         plugin with "sudo" for argv[0].
3630         [1c0552772ad2]
3631
3632 2011-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3633
3634         * src/net_ifs.c:
3635         Remove useless realloc when trying to get the buffer size right.
3636         [792225380a62]
3637
3638         * plugins/sudoers/set_perms.c:
3639         Be explicit when setting euid to 0 before call to setreuid(0, 0)
3640         [7bfeb629fccb]
3641
3642 2011-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
3643
3644         * configure, configure.in:
3645         Need to do checks for krb5_verify_user, krb5_init_secure_context and
3646         krb5_get_init_creds_opt_alloc regardless of whether or not
3647         krb5-config is present.
3648         [9d1b98ece1d3]
3649
3650 2011-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
3651
3652         * plugins/sudoers/set_perms.c:
3653         Work around weird AIX saved uid semantics on setuid() and
3654         setreuid(). On AIX, setuid() will only set the saved uid if the euid
3655         is already 0.
3656         [069fc08150ca]
3657
3658 2011-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
3659
3660         * sudo.pp:
3661         update copyright year
3662         [1c42d579ba6e]
3663
3664         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3665         Treat a missing includedir like an empty one and do not return an
3666         error.
3667         [92f71d8cbfd4]
3668
3669 2011-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
3670
3671         * pp:
3672         Fix ARCH setting in cross-compile Solaris packages.
3673         [b0de281cc889]
3674
3675         * sudo.pp:
3676         Fix aix version setting.
3677         [98437dbfb085]
3678
3679         * plugins/sudoers/ldap.c:
3680         Remove extraneous parens in LDAP filter when sudoers_search_filter
3681         is enabled that causes a search error. From Matthew Thomas.
3682         [1d75bf1fc8d9]
3683
3684 2011-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
3685
3686         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
3687         Correct sizeof() to fix test failure.
3688         [fd2f7c0c0572]
3689
3690         * plugins/sudoers/Makefile.in:
3691         "install" target should depend on "install-dirs". Fixes "make -j"
3692         problem and closes bz #487. From Chris Coleman.
3693         [083902d38edb]
3694
3695 2011-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
3696
3697         * config.h.in:
3698         Add HAVE_RFC1938_SKEYCHALLENGE
3699         [a94cb33758a8]
3700
3701 2011-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
3702
3703         * NEWS:
3704         Mention plugin loading and libgcc changes
3705         [e11b30b5026a]
3706
3707         * src/load_plugins.c, src/sudo.c, src/sudo_plugin_int.h:
3708         Load plugins after parsing arguments and potentially printing the
3709         version. That way, an error loading or initializing a plugin
3710         doesn't break "sudo -h" or "sudo -V".
3711         [1b76f2b096a2]
3712
3713         * Makefile.in:
3714         When using a sub-shell to invoke the sub-make, exec make instead of
3715         running it inside the shell to avoid an extra process.
3716         [fd2c04a71fbf]
3717
3718         * compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c:
3719         Stop testing unspecified behavior in fnmatch Make glob test more
3720         portable
3721         [229803093725]
3722
3723         * compat/Makefile.in:
3724         No need to add current dir to include path and having it breaks the
3725         test programs that expect to get the system glob.h and fnmatch.h
3726         [68085f624be4]
3727
3728         * INSTALL, configure, configure.in:
3729         Fix and document --with-plugindir; partially from Diego Elio Petteno
3730         [07edc52ea89e]
3731
3732         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
3733         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/globtest.c,
3734         compat/regress/glob/globtest.in:
3735         Fix fnmatch and glob tests to not use hard-coded flag values in the
3736         input file. Link test programs with libreplace so we get our
3737         replacement verions as needed.
3738         [c2cca448f660]
3739
3740         * Makefile.in:
3741         If make in a subdir fails, fail the target in the upper level
3742         Makefile too. Adapted from a patch from Diego Elio Petteno
3743         [76fc9a0d96fd]
3744
3745         * configure, configure.in, plugins/sudoers/auth/rfc1938.c:
3746         Add check for NetBSD-style 4-argument skeychallenge() as Gentoo also
3747         has this. Adapted from a patch from Diego Elio Petteno
3748         [a97279a59b93]
3749
3750         * plugins/sudoers/Makefile.in:
3751         Make SUDOERS_LDFLAGS reference $(LDFLAGS) instead of using @LDFLAGS@
3752         directly.
3753         [47b884029b3b]
3754
3755         * configure, configure.in:
3756         Fix warnings when -without-skey, --without-opie, --without-kerb4,
3757         --without-kerb5 or --without-SecurID were specified.
3758         [71ad150f4d24]
3759
3760         * MANIFEST:
3761         Add plugins/sudoers/sudoers_version.h
3762         [7423966de440]
3763
3764         * configure, configure.in, plugins/sample/Makefile.in,
3765         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
3766         Back out the --with-libpath addition to SUDOERS_LDFLAGS since that
3767         now include LDFLAGS in the sudoers Makefile.in. Add missing settng
3768         of @LDFLAGS@ in plugin Makefile.in files.
3769         [b835826f889c]
3770
3771 2011-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
3772
3773         * NEWS:
3774         Mention %#gid support in User_List and Runas_List
3775         [5a983dff017a]
3776
3777         * plugins/sudoers/sudoers.c, plugins/sudoers/sudoers_version.h,
3778         plugins/sudoers/visudo.c:
3779         Keep track of sudoers grammar version and report it in the -V
3780         output.
3781         [52901a3c0296]
3782
3783         * plugins/sudoers/sudo_nss.h:
3784         Add multiple inclusion guard
3785         [50853aed046e]
3786
3787         * configure, configure.in, plugins/sample/Makefile.in,
3788         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
3789         The --with-libpath option now adds to SUDOERS_LDFLAGS as well as
3790         LDFLAGS. Remove old -static hack for HP-UX < 9. Add LTLDFLAGS and
3791         set it to -Wc,-static-libgcc if not using GNU ld so we don't
3792         have a dependency on the shared libgcc in sudoers.so.
3793         [66ad8bc5e32d]
3794
3795         * doc/sudoers.pod:
3796         Fix typo; from Petr Uzel
3797         [f9a7afd80892]
3798
3799 2011-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
3800
3801         * plugins/sudoers/testsudoers.c:
3802         In dump-only mode, use "root" as the default username instead of
3803         "nobody" as the latter may not be available on all systems.
3804         [0c48e6414337]
3805
3806 2011-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
3807
3808         * plugins/sudoers/testsudoers.c:
3809         Remove NewArgv/NewArgc, they are no longer needed.
3810         [16e18f734c7e]
3811
3812         * plugins/sudoers/testsudoers.c:
3813         Fix setting of user_args
3814         [aa29e0d0a54a]
3815
3816         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3817         Add '!' token to lex tracing
3818         [5227ad266235]
3819
3820         * plugins/sudoers/regress/testsudoers/test1.sh:
3821         Use group bin in test, not wheel as most systems have the bin group
3822         but the same is no longer true of wheel.
3823         [718802b3b45e]
3824
3825         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3826         Avoid using pre or post increment in a parameter to a ctype(3)
3827         function as it might be a macro that causes the increment to happen
3828         more than once.
3829         [78e281152c3a]
3830
3831 2011-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
3832
3833         * sudo.pp:
3834         Strip off the beta or release candidate version when building AIX
3835         packages.
3836         [28fe31668559]
3837
3838         * configure, configure.in:
3839         We need to include OSDEFS in CFLAGS when doing the utmp/utmpx
3840         structure checks for glibc which only has __e_termination visible
3841         when _GNU_SOURCE is *not* defined.
3842         [59ae1698911f]
3843
3844         * common/aix.c:
3845         getuserattr(user, ...) will fall back to the "default" entry
3846         automatically, there's no need to check "default" manually.
3847         [3c7a47a61fdb]
3848
3849 2011-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
3850
3851         * doc/UPGRADE:
3852         Document parser changes.
3853         [ec415503308d]
3854
3855         * Makefile.in, common/Makefile.in, compat/Makefile.in,
3856         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
3857         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
3858         src/Makefile.in, zlib/Makefile.in:
3859         If there is an existing sudoers file, only install if it passes a
3860         syntax check.
3861         [37427c73e8cb]
3862
3863         * plugins/sudoers/regress/sudoers/test6.out.ok,
3864         plugins/sudoers/testsudoers.c:
3865         Add runasgroup support to testsudoers
3866         [047ea5571f33]
3867
3868         * plugins/sudoers/Makefile.in:
3869         For "make check", keep going even if a test fails.
3870         [ce6a0a73c372]
3871
3872         * plugins/sudoers/testsudoers.c:
3873         More useful exit codes:
3874          * 0 - parsed OK and command matched.
3875          * 1 - parse error
3876          * 2 - command not matched
3877          * 3 - command denied
3878         [1d2ce1361903]
3879
3880         * doc/sudoers.pod:
3881         Document %#gid, and %:#nonunix_gid syntax.
3882         [492d4f9696c4]
3883
3884         * plugins/sudoers/pwutil.c:
3885         Add support to user_in_group() for treating group names that begin
3886         with a '#' as gids.
3887         [20240c94a134]
3888
3889         * config.h.in, configure, configure.in, src/utmp.c:
3890         Add explicit check for struct utmpx.ut_exit.e_termination and struct
3891         utmpx.ut_exit.__e_termination. HP-UX uses the latter. Only update
3892         ut_exit if we detect one or the other.
3893         [b4e8cab777e6]
3894
3895 2011-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
3896
3897         * plugins/sudoers/toke.c:
3898         Add back missing #include of config.h
3899         [9ab3897a1b2e]
3900
3901         * plugins/sudoers/iolog_path.c,
3902         plugins/sudoers/regress/iolog_path/data:
3903         Avoid a NULL deref on unrecognized escapes. Collapse %% -> % like
3904         strftime() does.
3905         [93395762cdcd]
3906
3907         * aclocal.m4:
3908         Quote first argument to AC_DEFUN(); from Elan Ruusamae
3909         [97f53ad31d77]
3910
3911 2011-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
3912
3913         * MANIFEST:
3914         add new sudoers tests
3915         [476af91b3da3]
3916
3917         * plugins/sudoers/regress/sudoers/test8.in,
3918         plugins/sudoers/regress/sudoers/test8.out.ok,
3919         plugins/sudoers/regress/sudoers/test8.toke.ok:
3920         Add test for a newline in the middle of a string when no line
3921         continuation character is used.
3922         [de2394bc86ab]
3923
3924         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3925         Use bitwise AND instead of modulus to check for length being odd. A
3926         newline in the middle of a string is an error unless a line
3927         continuation character is used.
3928         [bdb1d762a1d5]
3929
3930         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
3931         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3932         Move lexer globals initialization into init_lexer.
3933         [1ce62211aadb]
3934
3935         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3936         Fix a potential crash when a non-regular file is present in an
3937         includedir. Fixes bz #452
3938         [1586760c3525]
3939
3940         * pp:
3941         On some Linux systems, "uname -p" contains detailed processor info
3942         so check "uname -m" first and then "uname -p" if needed. Recognize
3943         PLD Linux.
3944         [b8535cb9012e]
3945
3946 2011-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
3947
3948         * plugins/sudoers/redblack.c:
3949         Don't need all sudoers.h here.
3950         [8c0929f42dab]
3951
3952         * src/sudo.c:
3953         Print sudo version early, in case policy plugin init fails.
3954         [47cddc4358bc]
3955
3956 2011-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
3957
3958         * plugins/sudoers/regress/sudoers/test4.toke.ok:
3959         Update to match change in input.
3960         [4a3af8e68790]
3961
3962         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3963         Make an empty group or netgroup a syntax error.
3964         [66f51ddc2ff6]
3965
3966         * plugins/sudoers/regress/sudoers/test7.in,
3967         plugins/sudoers/regress/sudoers/test7.out.ok,
3968         plugins/sudoers/regress/sudoers/test7.toke.ok:
3969         An empty group or netgroup should be a syntax error.
3970         [bd5bf1e2edce]
3971
3972         * plugins/sudoers/regress/sudoers/test6.in,
3973         plugins/sudoers/regress/sudoers/test6.out.ok,
3974         plugins/sudoers/regress/sudoers/test6.toke.ok:
3975         Check that uids work in per-user and per-runas Defaults Check that
3976         uids and gids work in a Command_Spec
3977         [c5e848e6082b]
3978
3979         * plugins/sudoers/regress/sudoers/test5.in,
3980         plugins/sudoers/regress/sudoers/test5.out.ok,
3981         plugins/sudoers/regress/sudoers/test5.toke.ok:
3982         Test empty string in User_Alias and Command_Spec
3983         [3a084d777e03]
3984
3985         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3986         Allow a group ID in the User_Spec.
3987         [bc2859eb71dc]
3988
3989 2011-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
3990
3991         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
3992         Return an error for the empty string when a word is expected. Allow
3993         an ID for per-user or per-runas Defaults.
3994         [915c259b00ff]
3995
3996         * plugins/sudoers/testsudoers.c:
3997         Fix printing "User_Alias FOO = ALL"
3998         [ba58c3d548b3]
3999
4000 2011-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
4001
4002         * src/parse_args.c:
4003         Better error message about invalid -C argument
4004         [c9a8d15bbf5d]
4005
4006         * NEWS:
4007         fix typo
4008         [cdcfbafed013]
4009
4010         * doc/sudoers.pod:
4011         Fix placement of equal size ('=') in user specification summary.
4012         [5ad7178b230d]
4013
4014 2011-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4015
4016         * MANIFEST:
4017         update to match sudoers regress
4018         [e04db0648717]
4019
4020         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4021         Restore ability to define TRACELEXER and have trace output go to
4022         stderr.
4023         [d9531e4d1b20]
4024
4025         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4026         Restore old behavior of setting sawspace = TRUE for command line
4027         args when a line continuation character is hit to avoid causing
4028         problems for existing sudoers files.
4029         [fd930ad25550]
4030
4031         * plugins/sudoers/regress/sudoers/test4.in,
4032         plugins/sudoers/regress/sudoers/test4.out.ok,
4033         plugins/sudoers/regress/sudoers/test4.toke.ok:
4034         Add test for line continuation and aliases
4035         [29ab538ca6bb]
4036
4037         * plugins/sudoers/Makefile.in:
4038         Make test output line up nicely for parse vs. toke
4039         [257ef82c1434]
4040
4041         * plugins/sudoers/Makefile.in,
4042         plugins/sudoers/regress/sudoers/test1.in,
4043         plugins/sudoers/regress/sudoers/test1.out.ok,
4044         plugins/sudoers/regress/sudoers/test1.toke.ok,
4045         plugins/sudoers/regress/sudoers/test2.in,
4046         plugins/sudoers/regress/sudoers/test2.out.ok,
4047         plugins/sudoers/regress/sudoers/test2.toke.ok,
4048         plugins/sudoers/regress/sudoers/test3.in,
4049         plugins/sudoers/regress/sudoers/test3.out.ok,
4050         plugins/sudoers/regress/sudoers/test3.toke.ok,
4051         plugins/sudoers/regress/testsudoers/test1.ok,
4052         plugins/sudoers/regress/testsudoers/test1.out.ok,
4053         plugins/sudoers/regress/testsudoers/test1.sh,
4054         plugins/sudoers/regress/testsudoers/test2.out,
4055         plugins/sudoers/regress/testsudoers/test2.sh,
4056         plugins/sudoers/regress/testsudoers/test3.ok,
4057         plugins/sudoers/regress/testsudoers/test3.sh,
4058         plugins/sudoers/regress/visudo/test1.ok,
4059         plugins/sudoers/regress/visudo/test1.sh:
4060         Move parser tests to sudoers directory and test the tokenizer output
4061         too.
4062         [44f529b3cdb6]
4063
4064         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4065         If we match a rule anchored to the beginning of a line after parsing
4066         a line continuation character, return an ERROR token. It would be
4067         nicer to use REJECT instead but that substantially slows down the
4068         lexer.
4069         [355478293f8c]
4070
4071         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4072         plugins/sudoers/toke.c, plugins/sudoers/toke.h,
4073         plugins/sudoers/toke.l:
4074         Move LEXTRACE macro to toke.h so we can use it in yyerror().
4075         [72ee7a06d3ca]
4076
4077 2011-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4078
4079         * plugins/sudoers/testsudoers.c, plugins/sudoers/toke.c,
4080         plugins/sudoers/toke.l:
4081         Make lex tracing settable at run-time in testsudoers via the -t
4082         flag. Trace output goes to stderr. Will be used by regress tests
4083         to check lexer.
4084         [93bd53c413c8]
4085
4086         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4087         Allow whitespace after the modifier in a Defaults entry. E.g.
4088         "Defaults: username set_home"
4089         [9dfcf8dd8a3a]
4090
4091 2011-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4092
4093         * mkpkg:
4094         Don't set CC when cross-compiling.
4095         [4b95b0c04e1c]
4096
4097         * NEWS:
4098         Credit Matthew Thomas for the sudoers_search_filter changes.
4099         [a65998ab09f7]
4100
4101         * MANIFEST:
4102         Add the .sym files to the MANIFEST
4103         [f599225cc861]
4104
4105         * NEWS:
4106         Update for sudo 1.8.1 beta
4107         [71021e854c49]
4108
4109         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c, src/parse_args.c:
4110         user_shell -> run_shell to avoid confusion with the user's SHELL
4111         variable.
4112         [dc0ac6dafc21]
4113
4114         * src/exec_pty.c:
4115         Save the controlling tty process group before suspending in pty
4116         mode. Previously, we assumed that the child pgrp == child pid
4117         (which is usually, but not always, the case).
4118         [10b2883b7875]
4119
4120         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4121         Add support for sudoers_search_filter setting in ldap.conf. This
4122         can be used to restrict the set of records returned by the LDAP
4123         query.
4124         [b0f1b721d102]
4125
4126 2011-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
4127
4128         * configure, configure.in:
4129         Remove the hack to disable -g in CFLAGS unless --with-devel
4130         [89822cf84ef4]
4131
4132         * doc/sudoers.pod:
4133         The '@' character does not normally need to be quoted.
4134         [7823f5ed829a]
4135
4136         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4137         We normaly transition from GOTDEFS to STARTDEFS on whitespace, but
4138         if that whitespace is followed by a comma, we want to treat it as
4139         part of a list and not transition.
4140         [1ca6943e1824]
4141
4142         * plugins/sudoers/regress/testsudoers/test3.ok,
4143         plugins/sudoers/regress/testsudoers/test3.sh:
4144         Add check for whitespace when a User_List is used for a per-user
4145         Defaults entry.
4146         [91f75e6dd19a]
4147
4148         * plugins/sudoers/regress/testsudoers/test2.out,
4149         plugins/sudoers/regress/testsudoers/test2.sh:
4150         Expand quoted name checks to cover recent fixes.
4151         [ce4f76bca146]
4152
4153         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4154         Fix parsing of double-quoted names in Defaultd and Aliases which was
4155         broken in 601d97ea8792.
4156         [424b0d6c1dc4]
4157
4158         * plugins/sudoers/Makefile.in:
4159         toke_util.c lives in $(srcdir) not $(devdir)
4160         [94866bebee83]
4161
4162 2011-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4163
4164         * configure, configure.in:
4165         Change trunk version to 1.8.x to distinguish from real 1.8.0.
4166         [a9781e61d064]
4167
4168         * NEWS, doc/UPGRADE:
4169         Document major changes in 1.8.1 and add upgrade notes.
4170         [f2cf51b0d9ce]
4171
4172         * plugins/sudoers/match.c:
4173         Be careful not to deref user_stat if it is NULL. This cannot
4174         currently happen in sudo but might in other programs using the
4175         parser.
4176         [06a2334dd674]
4177
4178         * mkpkg:
4179         configure will not add -O2 to CFLAGS if it is already defined to add
4180         -O2 to the CFLAGS we pass in when PIE is being used.
4181         [1ce6481ece59]
4182
4183         * doc/sudoers.pod:
4184         Warn about the dangers of log_input and mention iolog_file and
4185         iolog_dir in the log_input and log_output descriptions.
4186         [ae854ffb0768]
4187
4188         * pp:
4189         sync with git version
4190         [a993e39ce3cb]
4191
4192         * doc/sudoers.pod:
4193         It seems that h comes after i
4194         [0f621109220d]
4195
4196         * doc/sudoers.pod:
4197         Move log_input and log_output to their proper, sorted, location.
4198         Document set_utmp and utmp_runas.
4199         [273b234b9c34]
4200
4201         * src/exec.c:
4202         Save the controlling tty process group before suspending so we can
4203         restore it when we resume. Fixes job control problems on Linux
4204         caused by the previous attemp to fix resuming a shell when I/O
4205         logging not enabled.
4206         [f03a660315ee]
4207
4208         * common/lbuf.c:
4209         Fix printing of the remainder after a newline. Fixes "sudo -l"
4210         output corruption that could occur in some cases.
4211         [25d83fb501fc]
4212
4213 2011-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
4214
4215         * config.h.in, configure, configure.in, src/exec_pty.c,
4216         src/sudo_exec.h, src/utmp.c:
4217         Add support for ut_exit
4218         [b574c13f1bba]
4219
4220         * doc/sudo_plugin.pod, plugins/sudoers/def_data.c,
4221         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
4222         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c, src/exec.c,
4223         src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_exec.h, src/utmp.c:
4224         Add support for controlling whether utmp is updated and which user
4225         is listed in the entry.
4226         [44a81632133f]
4227
4228         * plugins/sudoers/def_data.h, plugins/sudoers/defaults.h,
4229         plugins/sudoers/ldap.c, plugins/sudoers/mkdefaults,
4230         plugins/sudoers/parse.c:
4231         Fix typo; tupple vs. tuple
4232         [697744acb710]
4233
4234         * src/utmp.c:
4235         For legacy utmp, strip the /dev/ prefix before trying to determine
4236         slot since the ttys file does not include the /dev/ prefix.
4237         [7ad5b81ff90c]
4238
4239         * aclocal.m4, configure, configure.in, pathnames.h.in:
4240         Add check for _PATH_UTMP
4241         [21e638029bfd]
4242
4243 2011-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4244
4245         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
4246         Adapt check_iolog_path to sessid changes
4247         [728b5fe2be6f]
4248
4249         * config.h.in, configure, configure.in, src/Makefile.in,
4250         src/exec_pty.c, src/sudo_exec.h, src/utmp.c:
4251         Redo utmp handling. If no getutent()/getutxent() is available,
4252         assume a ttyslot-based utmp. If getttyent() is available, use that
4253         directly instead of ttyslot() so we don't have to do the stdin dup2
4254         dance.
4255         [18aa455cd140]
4256
4257 2011-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4258
4259         * MANIFEST, src/Makefile.in, src/exec_pty.c, src/sudo_exec.h,
4260         src/utmp.c:
4261         Move utmp handling into utmp.c
4262         [f6eae6c8e012]
4263
4264         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
4265         common/lbuf.c, common/list.c, compat/isblank.c, compat/memrchr.c,
4266         compat/mksiglist.c, compat/nanosleep.c, compat/snprintf.c,
4267         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
4268         compat/utimes.c, doc/sudo.pod, doc/visudo.pod,
4269         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
4270         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
4271         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4272         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4273         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4274         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4275         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4276         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4277         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4278         plugins/sudoers/auth/sia.c, plugins/sudoers/boottime.c,
4279         plugins/sudoers/bsm_audit.c, plugins/sudoers/env.c,
4280         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
4281         plugins/sudoers/logging.c, plugins/sudoers/parse.c,
4282         plugins/sudoers/parse.h, plugins/sudoers/redblack.c,
4283         plugins/sudoers/set_perms.c, plugins/sudoers/timestr.c,
4284         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c, src/exec.c,
4285         src/exec_pty.c, src/get_pty.c, src/parse_args.c, src/sudo.c,
4286         src/sudo.h, src/sudo_edit.c, src/sudo_exec.h, src/sudo_noexec.c,
4287         src/sudo_plugin_int.h, src/tgetpass.c:
4288         Update copyright years.
4289         [16aa39f9060a]
4290
4291         * doc/sudo_plugin.pod, plugins/sudoers/sudoers.c,
4292         plugins/sudoers/sudoers.h, src/parse_args.c:
4293         Add "user_shell" boolean as a way to indicate to the plugin that the
4294         -s flag was given.
4295         [fb1ef0897b32]
4296
4297         * plugins/sudoers/iolog_path.c, plugins/sudoers/logging.c,
4298         plugins/sudoers/sudoers.h:
4299         Move sessid out of sudo_user.
4300         [ba298ddb57f4]
4301
4302         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
4303         plugins/sudoers/logging.c, plugins/sudoers/sudoers.c,
4304         plugins/sudoers/sudoers.h:
4305         Log the TSID even if it is not a simple session ID.
4306         [d7cc1b9c513c]
4307
4308         * doc/sample.sudo.conf, doc/sudo.pod, doc/sudoers.pod:
4309         Document noexec in sample.sudo.conf and add back noexec_file section
4310         in sudoers with a note that it is deprecated.
4311         [4a6e961e494d]
4312
4313         * plugins/sudoers/set_perms.c:
4314         Fix running commands as non-root on systems where setreuid() changes
4315         the saved uid based on the effective uid we are changing to.
4316         [df0769b71b34]
4317
4318 2011-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4319
4320         * plugins/sudoers/defaults.c, src/load_plugins.c, src/sudo.c,
4321         src/sudo.h:
4322         Move noexec path into sudo.conf now that sudo itself handles noexec.
4323         Currently can be configured in sudoers too but is now undocumented
4324         and will be removed in a future release.
4325         [6fa8befdc110]
4326
4327         * doc/sudo.pod, doc/sudoers.pod:
4328         Document "Path noexec ..." in sudo.conf. No longer document
4329         noexec_file in sudoers, it will be removed in a future release.
4330         [24eee3a0b3e5]
4331
4332         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
4333         plugins/sudoers/sudoers.h, src/sudo.c, src/sudo.h:
4334         Move noexec handling to sudo front-end where it is documented as
4335         being.
4336         [3ed4f10d7052]
4337
4338         * config.h.in, configure, configure.in, plugins/sudoers/sudoers.c,
4339         src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h, src/sudo_edit.c,
4340         src/sudo_exec.h:
4341         Add support for disabling exec via solaris privileges. Includes
4342         preparation for moving noexec support out of sudoers and into front
4343         end as documented.
4344         [dec843ed553e]
4345
4346         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.sym,
4347         plugins/sample_group/Makefile.in,
4348         plugins/sample_group/sample_group.sym, plugins/sudoers/Makefile.in,
4349         plugins/sudoers/sudoers.sym:
4350         Only export the symbols corresponding to the plugin structs.
4351         [8d8d03b0ca54]
4352
4353         * configure, configure.in, plugins/sample/Makefile.in,
4354         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in:
4355         Install plugins manually instead of using libtool. This works
4356         around a problem on AIX where libtool will install a .a file
4357         containing the .so file instead of the .so file itself.
4358         [796971cfbddb]
4359
4360         * Makefile.in:
4361         Move check into its own rule since some versions of make will run
4362         both targets as the default rule.
4363         [34d759979176]
4364
4365         * configure, ltmain.sh, m4/libtool.m4, m4/ltoptions.m4,
4366         m4/ltversion.m4, m4/lt~obsolete.m4:
4367         Update to libtool 2.2.10
4368         [34c130de6af7]
4369
4370 2011-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4371
4372         * src/exec.c:
4373         In handle_signals(), restart the read() on EINTR to make sure we
4374         keep up with the signal pipe. Don't return -1 on EAGAIN, it just
4375         means we have emptied the pipe.
4376         [d5b9c8eb9000]
4377
4378         * compat/mktemp.c:
4379         Reorder functions to quiet a compiler warning.
4380         [c9e9a23729f0]
4381
4382         * mkpkg:
4383         Use the Sun Studio C compiler on Solaris if possible
4384         [11a86e27891e]
4385
4386 2011-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
4387
4388         * mkpkg:
4389         Fix default setting of osversion variable.
4390         [52e49ca1cedd]
4391
4392         * doc/sudo_plugin.pod:
4393         Make two login_class entris consistent.
4394         [18ff1fa94a91]
4395
4396         * config.h.in, configure, configure.in, src/exec.c, src/exec_pty.c,
4397         src/sudo_exec.h:
4398         Add support for adding a utmp entry when allocating a new pty.
4399         Requires the BSD login(3) or SYSV/POSIX getutent()/getutxent().
4400         Currently only creates a new entry if the existing tty has a utmp
4401         entry.
4402         [32db72b81d80]
4403
4404         * plugins/sudoers/boottime.c:
4405         Avoid pulling in headers we don't need on Linux For getutx?id(),
4406         call setutx?ent() first and always call endutx?ent().
4407         [5dad21e1ee1b]
4408
4409         * configure, configure.in:
4410         Add some more libs to SUDOERS_LIBS instead of relying on them to be
4411         pulled in by SUDO_LIBS.
4412         [18a7c21c09a7]
4413
4414         * plugins/sudoers/sudoers.c:
4415         Fix return value of "sudo -l command" when command is not allowed,
4416         broken in [c7097ea22111]. The default return value is now TRUE and
4417         a bad: label is used when permission is denied. Also fixed missing
4418         permissions restoration on certain errors. On error()/errorx(), the
4419         password and group files are now closed before returning.
4420         [4f2d0e869ae5]
4421
4422 2011-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4423
4424         * plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c:
4425         Fix passing of login class back to sudo front end.
4426         [6f70a784ce48]
4427
4428         * mkpkg:
4429         Add --osversion flag to specify OS instead of running "pp
4430         --probeonly"
4431         [a8efdccb7bc1]
4432
4433         * sudo.pp:
4434         Fix expr usage w/ GNU expr
4435         [48895599ee63]
4436
4437 2011-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4438
4439         * plugins/sudoers/sudoers.c:
4440         Fix exit value for validate and list mode.
4441         [c7097ea22111]
4442
4443         * plugins/sudoers/sudoers.c:
4444         Fix non-interactive mode with sudoers plugin.
4445         [172f29597bd2]
4446
4447 2011-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4448
4449         * doc/sudoreplay.pod:
4450         sudoreplay can now find IDs other than %{seq} and display the
4451         session.
4452         [fc3dd3be67e9]
4453
4454 2011-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4455
4456         * plugins/sudoers/sudoreplay.c:
4457         Add support for replaying sessions when iolog_file is set to
4458         something other than %{seq}.
4459         [ca3131243874]
4460
4461         * plugins/sudoers/visudo.c:
4462         If we are killed by a signal, display the name of the signal that
4463         got us.
4464         [994bb76a990e]
4465
4466         * configure, configure.in:
4467         Move libs used for authentication from SUDO_LIBS to SUDOERS_LIBS
4468         where they belong.
4469         [40f94b936fa4]
4470
4471         * configure.in:
4472         Fix bug in skey/opie check that could cause a shell warning.
4473         [83c043072be5]
4474
4475         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
4476         No longer need sudo_getepw() stubs.
4477         [bbee15c36912]
4478
4479 2011-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4480
4481         * plugins/sudoers/sudo_nss.c:
4482         Fix exit value of "sudo -l command" in sudoers module.
4483         [a6541867521b]
4484
4485 2011-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4486
4487         * compat/regress/glob/globtest.c:
4488         Use fgets() not fgetln() for portability.
4489         [df1bb67fb168]
4490
4491         * sudo.pp:
4492         Don't use the beta or release candidate version as the rpm release.
4493         [d661ef78021a]
4494
4495 2011-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4496
4497         * configure, configure.in:
4498         version 1.8.0
4499         [f6530d56f6ae] [SUDO_1_8_0]
4500
4501         * NEWS:
4502         update sudo 1.8 section
4503         [f2ee2cf95d18]
4504
4505 2011-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
4506
4507         * plugins/sudoers/regress/testsudoers/test2.sh:
4508         fix test description
4509         [cd5730fa9f09]
4510
4511         * plugins/sudoers/regress/testsudoers/test2.out,
4512         plugins/sudoers/regress/testsudoers/test2.sh,
4513         plugins/sudoers/regress/visudo/test2.out,
4514         plugins/sudoers/regress/visudo/test2.sh:
4515         convert test2 to use testsudoers
4516         [b5ec3f0b69f1]
4517
4518         * include/sudo_plugin.h, src/sudo_plugin_int.h:
4519         Move struct generic_plugin to sudo_plugin_int.h
4520         [6f7bc629329c]
4521
4522         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4523         plugins/sudoers/parse.c, plugins/sudoers/parse.h,
4524         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
4525         plugins/sudoers/sudoers.h:
4526         Allow sudoers file name, mode, uid and gid to be specified in the
4527         settings list. The sudo front end does not currently set these but
4528         may in the future.
4529         [22f38a0fda2a]
4530
4531 2011-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4532
4533         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
4534         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
4535         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
4536         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
4537         doc/visudo.man.in:
4538         1.8.0rc1
4539         [5d4588b9c057]
4540
4541         * doc/sudo.pod, doc/sudoreplay.pod, doc/visudo.pod,
4542         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
4543         src/parse_args.c, src/sudo.h:
4544         add help text to sudo, visudo and sudoreplay for the -h option
4545         [52e7378d8476]
4546
4547 2011-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4548
4549         * compat/snprintf.c:
4550         avoid using "howmany" for a parameter name since it is a select-
4551         related macro
4552         [a14d565401a1]
4553
4554         * doc/sudoers.pod:
4555         mention group_plugin when describing nonunix_group
4556         [e0d1d0034b17]
4557
4558         * doc/sudo_plugin.pod:
4559         Add missing period at end of sentence
4560         [6744d7e9056d]
4561
4562         * Makefile.in, doc/Makefile.in, include/Makefile.in,
4563         plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
4564         plugins/sudoers/Makefile.in, src/Makefile.in:
4565         add localstatedir; closes bug 471
4566         [7aefcab85088]
4567
4568         * config.h.in, configure, configure.in, plugins/sudoers/sudoreplay.c,
4569         src/exec.c, src/exec_pty.c:
4570         The howmany macro lives in sys/sysmacros.h on SVR5 systems Closes
4571         Bug 470
4572         [927ed6740f32]
4573
4574         * configure.in:
4575         add missing AH_TEMPLATE for ENV_RESET
4576         [16300010c986]
4577
4578         * src/exec.c:
4579         SVR5 systems return non-zero for success on socketpair(), check for
4580         -1 instead. Closes Bug 469
4581         [4d276494bf8e]
4582
4583 2011-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
4584
4585         * configure, configure.in:
4586         1.8.0b5
4587         [d611cd5d73d3]
4588
4589         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
4590         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
4591         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
4592         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
4593         regen
4594         [85e96eeaed82]
4595
4596         * doc/sudo.pod:
4597         Document that a sudo.conf file with no Pligin lines uses the default
4598         sudoers plugins.
4599         [88bd52da977f]
4600
4601         * src/load_plugins.c:
4602         If sudo.conf contains no Plugin lines, use the default sudoers
4603         policy and I/O plugins.
4604         [fd8f4cb811ab]
4605
4606 2011-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4607
4608         * plugins/sudoers/sudo_nss.c:
4609         Avoid printing empty "Runas and Command-specific defaults for user"
4610         line.
4611         [2dd330fe4f8b]
4612
4613         * common/lbuf.c:
4614         Truncate the buffer at buf.len before printing in the non-wordwrap
4615         case.
4616         [901e9833f80d]
4617
4618         * common/lbuf.c:
4619         Remove extra newline when the tty width is very small or unavailable
4620         [245c05506c0e]
4621
4622 2011-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4623
4624         * plugins/sudoers/alias.c:
4625         Remove unneeded variable.
4626         [2c086d30b796]
4627
4628 2011-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
4629
4630         * configure, configure.in:
4631         Prefer getutxid over getutid
4632         [3f3322e9c93e]
4633
4634         * plugins/sudoers/boottime.c:
4635         Include utmp.h / utmpx.h before missing.h as apparently including it
4636         afterwards causes a compilation problem on GNU Hurd.
4637         [a528029ae962]
4638
4639 2011-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
4640
4641         * plugins/sudoers/sudoreplay.c, plugins/sudoers/toke_util.c:
4642         #include "foo.h", not <foo.h> for local includes.
4643         [f65ec693998e]
4644
4645         * src/parse_args.c:
4646         remove bogus XXX
4647         [9136c17d53ce]
4648
4649         * compat/mksiglist.c:
4650         Fix typo
4651         [1a3bb7b455c9]
4652
4653         * compat/glob.c, plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
4654         plugins/sudoers/match.c:
4655         return foo not return(foo)
4656         [5c9e0647359a]
4657
4658 2011-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
4659
4660         * src/exec.c:
4661         Remove duplicate FD_SET of signal_pipe[0]
4662         [3096527d2215]
4663
4664 2011-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
4665
4666         * compat/mksiglist.c:
4667         Use "missing.h" not <missing.h> in generated code.
4668         [d8e09cffbe09]
4669
4670 2011-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
4671
4672         * aclocal.m4, configure:
4673         fix --with-iologdir=no
4674         [a89699cb5f5f]
4675
4676         * aclocal.m4, configure:
4677         fix typo that broke --with-iologdir
4678         [91b54eb22403]
4679
4680 2011-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
4681
4682         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
4683         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.cat,
4684         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.man.in,
4685         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/visudo.cat,
4686         doc/visudo.man.in:
4687         Bump version to 1.8.0b4
4688         [e2b7f2cdc02e]
4689
4690         * NEWS:
4691         sync
4692         [decf5a0a8a33]
4693
4694         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4695         Attempt to clarify how users and groups interact in Runas_Specs
4696         [e6fb3a2dbd77]
4697
4698         * plugins/sudoers/regress/visudo/test2.out,
4699         plugins/sudoers/regress/visudo/test2.sh:
4700         Add test for quoted group that contains escaped double quotes
4701         [44596c48c629]
4702
4703         * src/exec.c, src/exec_pty.c:
4704         Pass SIGUSR1/SIGUSR2 through to the child.
4705         [c3108a827b01]
4706
4707         * src/exec_pty.c, src/sudo_exec.h:
4708         Use special values SIGCONT_FG and SIGCONT_BG instead of SIGUSR1 and
4709         SIGUSR2 to indicate whether the child should be continued in the
4710         foreground or background.
4711         [35ca47cc6785]
4712
4713         * src/exec.c:
4714         Use pid_t not int and check the return value of kill()
4715         [36ae7d37d7f9]
4716
4717 2011-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
4718
4719         * src/exec_pty.c:
4720         Remove obsolete comment
4721         [baebef4919f6]
4722
4723         * src/exec.c:
4724         In non-pty mode before continuing the child, make it the foreground
4725         pgrp if possible. Fixes resuming a shell.
4726         [fef5b1d02ddb]
4727
4728         * src/exec_pty.c:
4729         If we get a signal other than SIGCHLD in the monitor, pass it
4730         directly to the child.
4731         [b3ecb28163a0]
4732
4733         * src/exec.c, src/exec_pty.c, src/sudo.h:
4734         Save signal state before changing handlers and restore before we
4735         execute the command.
4736         [faf7475dc4bf]
4737
4738 2011-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
4739
4740         * plugins/sudoers/iolog.c:
4741         Use a char array to map a number to a base36 digit.
4742         [257576c51f8b]
4743
4744         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod:
4745         Be clear about what versions of sudo support new LDAP attributes.
4746         Fix up some formatting of attribute names. Minor other tweaks.
4747         [39f65df71f65]
4748
4749 2011-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
4750
4751         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
4752         match quoted strings the same way whether in a Defaults line or as a
4753         user/group/netgroup name. Fixes escaped double quotes in quoted
4754         user/group/netgroup names.
4755         [601d97ea8792]
4756
4757         * plugins/sudoers/Makefile.in:
4758         'make check' depends on visudo and testsudoers
4759         [127c5a24df8f]
4760
4761         * plugins/sudoers/sudoers2ldif:
4762         Add sudoOrder attribute to each entry Parse LOG_{INPUT,OUTPUT} tags
4763         [9029163a58c3]
4764
4765 2011-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
4766
4767         * doc/UPGRADE:
4768         Mention LDAP attribute compatibility status.
4769         [2c3595aaec63]
4770
4771 2011-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
4772
4773         * README.LDAP:
4774         Mention phpQLAdmin
4775         [9304c9064fbe]
4776
4777         * INSTALL, NEWS, config.h.in, configure, configure.in,
4778         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
4779         Add --disable-env-reset configure option.
4780         [8a753aa13a46]
4781
4782         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4783         Document that sudoers_locale also affects logging and email.
4784         [998d6ac11277]
4785
4786         * NEWS, config.h.in, configure, configure.in,
4787         plugins/sudoers/logging.c:
4788         Do logging and email sending in the locale specified by the
4789         "sudoers_locale" setting ("C" by default). Email send by sudo
4790         includes MIME headers when the sudoers locale is not "C".
4791         [cb7e55408400]
4792
4793 2011-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
4794
4795         * plugins/sudoers/check.c:
4796         Fix indentation
4797         [65ae7e92b9e4]
4798
4799 2011-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
4800
4801         * NEWS, src/parse_args.c, src/sudo.c:
4802         Perform command escaping for "sudo -s" and "sudo -i" after
4803         validating sudoers so the sudoers entries don't need to have all the
4804         backslashes.
4805         [4e168c103f4b]
4806
4807 2011-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
4808
4809         * plugins/sudoers/logging.c:
4810         Prepend "list " to the command logged when "sudo -l command" is used
4811         to make it clear that the command was listed, not run.
4812         [f392a6056cd6]
4813
4814         * plugins/sudoers/parse.c:
4815         cosmetic change
4816         [7c0951dbc2dd]
4817
4818         * common/aix.c, common/alloc.c, common/fileops.c, common/fmt_string.c,
4819         common/list.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
4820         compat/glob.c, compat/isblank.c, compat/memrchr.c, compat/mktemp.c,
4821         compat/nanosleep.c, compat/regress/glob/globtest.c,
4822         compat/snprintf.c, compat/strlcat.c, compat/strlcpy.c,
4823         compat/strsignal.c, compat/utimes.c, plugins/sample/sample_plugin.c,
4824         plugins/sample_group/getgrent.c, plugins/sample_group/plugin_test.c,
4825         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
4826         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
4827         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
4828         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
4829         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
4830         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
4831         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
4832         plugins/sudoers/auth/sia.c, plugins/sudoers/bsm_audit.c,
4833         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
4834         plugins/sudoers/find_path.c, plugins/sudoers/goodpath.c,
4835         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4836         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
4837         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
4838         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
4839         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
4840         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
4841         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4842         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
4843         plugins/sudoers/toke.l, plugins/sudoers/toke_util.c,
4844         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
4845         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
4846         src/sudo_noexec.c, src/tgetpass.c:
4847         standardize on "return foo;" rather than "return(foo);" or "return
4848         (foo);"
4849         [32d76c5aaf8c]
4850
4851         * plugins/sudoers/sudoers.c:
4852         Do not reject sudoers file just because it is root-writable.
4853         [0febc579185b]
4854
4855 2011-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
4856
4857         * NEWS:
4858         sync
4859         [1ab03f8278ff]
4860
4861         * plugins/sudoers/sudo_nss.c:
4862         For "sudo -U user -l" if user is not authorized on the host, say so.
4863         [289afe6dd15c]
4864
4865         * plugins/sudoers/ldap.c:
4866         In sudo_ldap_lookup(), always do the initial sudoers check as the
4867         invoking user. If we are listing another user's privs we will do a
4868         separate lookup using list_pw later.
4869         [e52bc15de76d]
4870
4871 2011-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
4872
4873         * MANIFEST:
4874         add parser fill tests
4875         [4f65140d3515]
4876
4877         * compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
4878         Don't test features not supported by the bundled glob()
4879         [8ec7ace11949]
4880
4881         * Makefile.in, aclocal.m4, common/Makefile.in, common/term.c,
4882         compat/Makefile.in, configure.in, doc/LICENSE, doc/Makefile.in,
4883         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
4884         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod, doc/sudoers.man.in,
4885         doc/sudoers.pod, include/Makefile.in, plugins/sample/Makefile.in,
4886         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
4887         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
4888         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
4889         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
4890         plugins/sudoers/ldap.c, plugins/sudoers/match.c,
4891         plugins/sudoers/pwutil.c, plugins/sudoers/sudo_nss.c,
4892         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
4893         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
4894         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
4895         plugins/sudoers/toke_util.c, src/Makefile.in, zlib/Makefile.in:
4896         Update copyright year to 2011
4897         [ac1b45cb1809]
4898
4899         * plugins/sudoers/sudo_nss.c:
4900         When listing, use separate lbufs for the defaults and the privileges
4901         and only print something if the number of privileges is non-zero.
4902         Fixes extraneous Defaults output for "sudo -U unauthorized_user -l".
4903         [d0854d39f8ef]
4904
4905         * plugins/sudoers/ldap.c:
4906         Stash pointer to user group vector in LDAP handle and only reuse the
4907         query if it has not changed. We always allocate a new buffer when
4908         we reset the group vector so a simple pointer check is sufficient.
4909         [88861d4eba69]
4910
4911         * plugins/sudoers/sudo_nss.c:
4912         Check initgroups() return value.
4913         [3bdaf58408a7]
4914
4915         * plugins/sudoers/Makefile.in,
4916         plugins/sudoers/regress/parser/check_fill.c:
4917         Add tests for the fill functions in toke_util.c
4918         [bca587ab4956]
4919
4920 2011-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
4921
4922         * plugins/sudoers/regress/iolog_path/check_iolog_path.c:
4923         fix copyright year
4924         [e2038cdaf055]
4925
4926         * NEWS:
4927         sync
4928         [56ca5d5eaebe]
4929
4930 2011-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
4931
4932         * common/term.c:
4933         Clear, don't set, OPOST in c_oflag as was intended in 506ad5ae9b4e.
4934         [b91f266624ec]
4935
4936 2011-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
4937
4938         * mkpkg, sudo.pp:
4939         Add Requires line for audit-libs >= 1.4 for RHEL5+
4940         [6c02f976171b]
4941
4942         * pp:
4943         sync with git version
4944         [d301c32d5865]
4945
4946 2011-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
4947
4948         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
4949         fix typo
4950         [39353f92976f]
4951
4952 2011-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
4953
4954         * NEWS:
4955         Update for sudo 1.7.4p5
4956         [b444da76901f]
4957
4958         * doc/schema.OpenLDAP, doc/schema.iPlanet:
4959         Add sudoNotBefore and sudoNotAfter attributes as optional attributes
4960         to the sudoRole object class. From Andreas Mueller
4961         [dacfad7e7a95]
4962
4963 2011-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
4964
4965         * NEWS:
4966         Mention "sudo -g group" password check fix.
4967         [1eb8fb14e53b]
4968
4969         * plugins/sudoers/sudoers.c:
4970         Fix "sudo -g" support in the sudoers module.
4971         [07d1b0ce530e]
4972
4973         * plugins/sudoers/check.c:
4974         If the user is running sudo as himself but as a different group we
4975         need to prompt for a password.
4976         [caf1fcc9a117]
4977
4978 2011-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
4979
4980         * NEWS, config.h.in, configure, configure.in, doc/sudoers.ldap.cat,
4981         doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
4982         plugins/sudoers/ldap.c:
4983         Add support for TIMEOUT in ldap.conf, mapping to the OpenLDAP
4984         LDAP_OPT_TIMEOUT. There is no corresponding option for mozilla-
4985         derived LDAP SDKs but we can pass the timeout parameter to
4986         ldap_search_ext_s() or ldap_search_st() when possible.
4987         [5537049991f7]
4988
4989         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
4990         regen
4991         [5b361c3c4324]
4992
4993         * NEWS, doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
4994         Add NETWORK_TIMEOUT as an alias for BIND_TIMELIMIT for compatibility
4995         with OpenLDAP ldap.conf files.
4996         [e97843bd16fb]
4997
4998         * plugins/sudoers/pwutil.c:
4999         If user has no supplementary groups, fall back on checking the group
5000         file expliticly.
5001         [5223ad4eb690]
5002
5003 2011-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5004
5005         * plugins/sudoers/toke.h, plugins/sudoers/toke_util.c:
5006         constify
5007         [6e132a4cca61]
5008
5009         * plugins/sudoers/toke.c, plugins/sudoers/toke.h,
5010         plugins/sudoers/toke.l:
5011         Move fill macro to toke.h
5012         [623d430798cf]
5013
5014         * MANIFEST, plugins/sudoers/Makefile.in, plugins/sudoers/toke.c,
5015         plugins/sudoers/toke.h, plugins/sudoers/toke.l,
5016         plugins/sudoers/toke_util.c:
5017         Split tokenizer utility functions out into toke_util.c
5018         [89a97bd51618]
5019
5020         * plugins/sudoers/gram.c, plugins/sudoers/gram.y,
5021         plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5022         ANSIfy
5023         [ca0eba1dfaa9]
5024
5025 2011-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5026
5027         * MANIFEST:
5028         sync
5029         [a43f94064bb3]
5030
5031         * plugins/sudoers/Makefile.in:
5032         Add visudo tests to check target
5033         [8c82fb4ed40f]
5034
5035         * compat/Makefile.in, compat/regress/fnmatch/fnm_test.c,
5036         compat/regress/fnmatch/fnm_test.in, compat/regress/glob/files,
5037         compat/regress/glob/globtest.c, compat/regress/glob/globtest.in:
5038         Add my regress tests for fnmatch() and glob() from OpenBSD.
5039         [6e8c1f211723]
5040
5041         * plugins/sudoers/regress/testsudoers/test1.sh,
5042         plugins/sudoers/regress/visudo/test1.ok,
5043         plugins/sudoers/regress/visudo/test1.sh:
5044         Add regress test for command tags using visudo -c
5045         [18b0ef207c0f]
5046
5047         * plugins/sudoers/Makefile.in,
5048         plugins/sudoers/regress/testsudoers/test1.ok,
5049         plugins/sudoers/regress/testsudoers/test1.sh:
5050         Add support for regress tests using testsudoers
5051         [1fa94bd2671b]
5052
5053         * plugins/sudoers/testsudoers.c:
5054         Need to set user_name explicitly due to internal changes made when
5055         converting sudoers to a plugin.
5056         [1fa54e86a364]
5057
5058 2011-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5059
5060         * MANIFEST, Makefile.in, common/Makefile.in, compat/Makefile.in,
5061         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5062         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5063         plugins/sudoers/regress/iolog_path/check_iolog_path.c,
5064         plugins/sudoers/regress/iolog_path/data, src/Makefile.in,
5065         zlib/Makefile.in:
5066         Add regression tests for iolog_path()
5067         [afa4b416e559]
5068
5069         * Makefile.in, common/Makefile.in, compat/Makefile.in,
5070         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
5071         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5072         src/Makefile.in, zlib/Makefile.in:
5073         Add support for "make Makefile" to regenerate Makefile from
5074         Makefile.in
5075         [98bd2dda3294]
5076
5077         * plugins/sudoers/iolog_path.c:
5078         Quiest a bogus compiler warning.
5079         [5ff932a7ad67]
5080
5081 2011-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
5082
5083         * plugins/sudoers/iolog_path.c:
5084         Protect call to setlocale() with HAVE_SETLOCALE
5085         [2c29ee3ccc81]
5086
5087 2011-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5088
5089         * MANIFEST:
5090         mkstemps.c was renamed mktemp.c
5091         [ae299c3b1827]
5092
5093         * NEWS:
5094         Update from 1.7 branch
5095         [20817d79717b]
5096
5097         * Makefile.in:
5098         Use "mv -f" when regenerating ChangeLog
5099         [c163635206c6]
5100
5101         * plugins/sudoers/match.c:
5102         Fix NULL dereference with "sudo -g group" when the sudoers rule has
5103         no runas user or group listed. Fixes RedHat bug Bug 667103.
5104         [41a6a1243d9e]
5105
5106 2011-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
5107
5108         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5109         Correct the default sudo.conf example
5110         [4e791698cad1]
5111
5112 2010-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
5113
5114         * plugins/sudoers/iolog_path.c:
5115         Reset slashp if we allocate a new buffer for strftime()
5116         [e491daa4203b]
5117
5118         * plugins/sudoers/iolog_path.c, plugins/sudoers/sudoers.c,
5119         plugins/sudoers/sudoers.h:
5120         Add extra out parameter to expand_iolog_path() to allow the caller
5121         to split the path into dir and file components if needed.
5122         [88346bc5ae39]
5123
5124 2010-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5125
5126         * plugins/sudoers/iolog.c:
5127         mkdir_iopath() returns size_t now that it uses strlcpy() and not
5128         snprintf()
5129         [3c4c64d265eb]
5130
5131         * plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c:
5132         Trim leading slashes from iolog_file and trailing slashes from
5133         iolog_dir
5134         [a803b51f8948]
5135
5136         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
5137         plugins/sudoers/iolog.c, plugins/sudoers/iolog_path.c,
5138         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5139         Pass a single I/O log file name in command_details instead of
5140         separate dir + file parameters.
5141         [d672a3e46e80]
5142
5143         * plugins/sudoers/sudoreplay.c:
5144         change an error() to errorx()
5145         [8013dcfdd69d]
5146
5147         * plugins/sudoers/iolog.c:
5148         Add missing cwd line to I/O log info file that got dropped when
5149         iolog_deserialize_info() was added
5150         [7cf84f208423]
5151
5152 2010-12-29  Todd C. Miller  <Todd.Miller@courtesan.com>
5153
5154         * plugins/sudoers/iolog.c:
5155         Avoid relying on globals filled in by the sudoers policy module for
5156         the sudoers I/O log module. The I/O log open function now pulls the
5157         bits it needs out of user_info and command_info.
5158         [c02f6951b0cc]
5159
5160         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
5161         plugins/sudoers/sudoers.h:
5162         If no iolog file is specified by the policy plugin, use io_nextid()
5163         to determine the next file in the sequence.
5164         [faa1130b1020]
5165
5166 2010-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5167
5168         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
5169         Document iolog_compress in command_info
5170         [58895c7d12f5]
5171
5172         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5173         Add support for the iolog_compress variable in command_info.
5174         [36f13a2fd1c1]
5175
5176         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
5177         Add sigsetjmp() calls to all plugin entry points just to be safe.
5178         [3fa482355bc4]
5179
5180         * src/sudo.c, src/sudo.h:
5181         Don't need iolog variables in struct command_details, they are for
5182         the I/O log plugins to handle.
5183         [5111579ffd9d]
5184
5185 2010-12-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5186
5187         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5188         Document use of mkdtemp() for iolog path teplates
5189         [5db6101408a9]
5190
5191         * doc/sudo.cat, doc/sudo.man.in, doc/sudo_plugin.cat,
5192         doc/sudo_plugin.man.in, doc/sudoers.cat, doc/sudoers.ldap.cat,
5193         doc/sudoers.ldap.man.in, doc/sudoers.man.in, doc/sudoreplay.cat,
5194         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
5195         regen
5196         [1ee11fd6d4eb]
5197
5198         * doc/sudo_plugin.pod, doc/sudoers.pod:
5199         Document iolog_file and supported escape sequences for sudoers.
5200         Clarify that iolog_file can contain directories.
5201         [da611dedcbdb]
5202
5203         * compat/Makefile.in, configure, configure.in:
5204         Fix building of mkstemps/mkdtemp replacements.
5205         [793a5e303122]
5206
5207         * compat/mkstemps.c, compat/mktemp.c, config.h.in, configure,
5208         configure.in, include/missing.h:
5209         Provide mkdtemp() for systems without it.
5210         [b0527dfa965c]
5211
5212         * plugins/sudoers/iolog_path.c:
5213         Fix typo
5214         [277f6c514cba]
5215
5216         * plugins/sudoers/iolog.c:
5217         Only use mkdtemp() if the path ends in at least 6 Xs since otherwise
5218         glibc mkdtemp() returns EINVAL.
5219         [2e7323b05579]
5220
5221         * plugins/sudoers/Makefile.in, plugins/sudoers/def_data.c,
5222         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5223         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c,
5224         plugins/sudoers/iolog_path.c, plugins/sudoers/plugin_error.c,
5225         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
5226         Allow sudoers to specify the iolog file in addition to the iolog
5227         dir. Add escape sequence support to iolog file and dir: sequence
5228         number, user, group, runas_user, runas_group, hostname and
5229         command in addition to any escape sequence recognized by
5230         strftime(3).
5231         [75cd32ee0435]
5232
5233         * plugins/sudoers/iolog.c:
5234         Add missing sigsetjmp() call in I/O plugin open function. Fixes a
5235         crash when the I/O plugin calls error(), errorx() or log_error().
5236         [1a6718bd817d]
5237
5238 2010-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5239
5240         * doc/sudo_plugin.pod, plugins/sudoers/iolog.c,
5241         plugins/sudoers/sudoers.c:
5242         Give the policy module fine-grained control over what the I/O plugin
5243         logs.
5244         [d29784fd2a66]
5245
5246         * common/term.c:
5247         Clear OPOST from c_oflag like we used to. Fixes screen-based
5248         editors such as vi.
5249         [506ad5ae9b4e]
5250
5251         * doc/sudoers.pod:
5252         Clarify umask option description. From Reuben Thomas.
5253         [1294ac84222b]
5254
5255 2010-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5256
5257         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5258         Pick last match in LDAP sudoers too
5259         [fbfd8e85703b]
5260
5261         * doc/sudo_plugin.pod:
5262         Document iolog_file, iolog_dir and use_pty
5263         [26120a59c20e]
5264
5265         * plugins/sample/sample_plugin.c, plugins/sudoers/iolog.c,
5266         plugins/sudoers/sudoers.c:
5267         Adapt plugins to version I/O logging ABI 1.1
5268         [880dd64bc1e8]
5269
5270         * src/exec.c, src/sudo.h:
5271         Add use_pty command_info flag for policies to indicate that a pty
5272         should be allocated even if no I/O logging is performed.
5273         [e7b167f8a6e5]
5274
5275         * src/sudo.c:
5276         Add remaining plugin convenience functions
5277         [ffeaf96da031]
5278
5279         * include/sudo_plugin.h, src/sudo.c, src/sudo.h,
5280         src/sudo_plugin_int.h:
5281         Change I/O log API to pass in command info to the I/O log open
5282         function. Add iolog_file and iolog_dir parameters to command info.
5283         This allows the policy plugin to specify the I/O log pathname. Add
5284         convenience functions for calling plugin functions that handle ABI
5285         backwards compatibility.
5286         [9b81dce76ce5]
5287
5288         * compat/dlopen.c:
5289         Remove useless cast
5290         [7cecce969739]
5291
5292 2010-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5293
5294         * configure, configure.in:
5295         Bump version to 1.8.0b3
5296         [1dc9f040aae0]
5297
5298 2010-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5299
5300         * configure.in:
5301         Remove extraneous newline
5302         [71c94551eea5]
5303
5304 2010-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5305
5306         * doc/sudoers.pod, plugins/sudoers/def_data.c,
5307         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
5308         plugins/sudoers/defaults.c, plugins/sudoers/iolog.c:
5309         Make I/O log dir configurable.
5310         [99b576667a38]
5311
5312         * aclocal.m4, configure, configure.in, doc/sudoers.pod:
5313         Rename io_logdir to iolog_dir
5314         [0731662acc8d]
5315
5316 2010-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5317
5318         * pp:
5319         Add missing '*' that prevented the generic ELF case from matching.
5320         [be77ca26bfb2]
5321
5322         * pp:
5323         If file(1) can't identify the ELF binary type, try readelf(1).
5324         [38a18d32a9e3]
5325
5326 2010-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
5327
5328         * plugins/sudoers/auth/kerb4.c, plugins/sudoers/check.c,
5329         plugins/sudoers/env.c, plugins/sudoers/pwutil.c,
5330         plugins/sudoers/sudoers.c, src/sudo.c:
5331         Use %u to print uid/gid, not %lu and adjust casts to match.
5332         [03c43b8749cf]
5333
5334         * doc/sudoers.ldap.pod:
5335         Clarify ordering of entries and attributes.
5336         [924e2a6bb603]
5337
5338         * doc/sudoers.ldap.pod:
5339         Fix typo and editing goof.
5340         [79dc7ccd85a8]
5341
5342         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
5343         doc/sudoers.ldap.pod:
5344         Merge in ordered LDAP entry support from Andreas Mueller.
5345         [ea5885989bad]
5346
5347         * plugins/sudoers/ldap.c:
5348         Make sure we don't dereference a NULL handle.
5349         [1a9f9ee15371]
5350
5351 2010-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5352
5353         * pp:
5354         Add support for RHEL 6 file modes that include a trailing dot on
5355         files with an SELinux security context
5356         [dc09be959547]
5357
5358 2010-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
5359
5360         * src/sudo.c:
5361         exec_setup() does not need to setuid(0), the Ubuntu issue was in the
5362         sudoers module.
5363         [d6dd99fc6062]
5364
5365         * plugins/sudoers/sudoers.c:
5366         create_admin_success_flag() should use restore_perms() rather than
5367         set_perms() to restore the uid.
5368         [eba7a91c1f57]
5369
5370         * src/sudo.c:
5371         In exec_setup() call setuid(0) to make certain the subsequent uid
5372         and gid changes will succeed. Fixes a problem on Ubuntu.
5373         [c5d32abf0645]
5374
5375         * src/sudo_edit.c:
5376         Error out if we cannot change to root's uid so we catch the failure
5377         early.
5378         [7a2e7f8f2c80]
5379
5380 2010-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
5381
5382         * doc/sudoers.pod:
5383         fix typo; from Michael T Hunter
5384         [a574a9d0db5b]
5385
5386         * plugins/sudoers/match.c:
5387         In sudoedit mode, assume command line arguments are paths and pass
5388         FNM_PATHNAME to fnmatch().
5389         [ce0abff8ce9f]
5390
5391 2010-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
5392
5393         * configure, configure.in:
5394         Add workaround for an error in sys/types.h on HP-UX 11.23 when large
5395         file support is enabled. Defining _XOPEN_SOURCE_EXTENDED avoids the
5396         broken bits of the header file.
5397         [e337217f097a]
5398
5399         * aclocal.m4:
5400         Fix SUDO_MAILDIR usage of AC_LANG_PROGRAM
5401         [fbbcee28961f]
5402
5403         * sudo.pp:
5404         For Tru64, strip off beta version.
5405         [eeccd762df5e]
5406
5407         * MANIFEST, plugins/sudoers/testsudoers.c,
5408         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/tsgetgrpw.h:
5409         Avoid conflicts with system definitions in grp.h and pwd.h
5410         [b219ffe1da09]
5411
5412         * zlib/gzguts.h:
5413         Include stdio.h after zlib.h, not before. We need the large file
5414         defines to come first.
5415         [21d6df39790f]
5416
5417 2010-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
5418
5419         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in:
5420         regen
5421         [3ff8750d0aac]
5422
5423         * Makefile.in:
5424         Don't clean ChangeLog
5425         [ab0d30d289d4]
5426
5427         * plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
5428         Add prototype for cleanup()
5429         [75626fd3769a]
5430
5431 2010-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
5432
5433         * plugins/sudoers/group_plugin.c:
5434         Avoid deferencing group_plugin if it is NULL in
5435         group_plugin_query(). This should not happen.
5436         [4f2933c8da7e]
5437
5438         * plugins/sudoers/group_plugin.c:
5439         group plugin init function return TRUE when successful
5440         [198024477030]
5441
5442 2010-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5443
5444         * plugins/sudoers/ldap.c:
5445         Enlarge the array of entry wrappers int blocks of 100 entries to
5446         save on allocation time. From Andreas Mueller
5447         [375c916bb03b]
5448
5449         * plugins/sudoers/ldap.c:
5450         Add back call to sudo_ldap_timefilter() in sudo_ldap_build_pass2()
5451         that was mistakenly dropped.
5452         [1555f5bc132d]
5453
5454 2010-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5455
5456         * doc/TROUBLESHOOTING:
5457         Mention that sudo needs "ar" to build.
5458         [65582ace2d09]
5459
5460         * configure, configure.in:
5461         Fail with a more useful error if "ar" is not found.
5462         [d1cb83719c17]
5463
5464 2010-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5465
5466         * plugins/sudoers/ldap.c:
5467         Merge in ordered LDAP entry support from Andreas Mueller and add
5468         local changes from the 1.7 branch.
5469         [bca29e461618]
5470
5471 2010-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5472
5473         * doc/schema.ActiveDirectory, doc/schema.OpenLDAP, doc/schema.iPlanet,
5474         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5475         Add timed entry support from Andreas Mueller.
5476         [e18d1df46a8d]
5477
5478         * plugins/sudoers/group_plugin.c:
5479         Don't try to unload if group_plugin is NULL. Don't call dlclose() if
5480         group_handle is NULL
5481         [de2273da37d5]
5482
5483         * plugins/sudoers/sudoers.h:
5484         It is now plugin_cleanup(), not cleanup()
5485         [da62a4e1a78c]
5486
5487         * plugins/sudoers/logging.c, plugins/sudoers/sudoers.c:
5488         Call plugin_cleanup(), not cleanup()
5489         [e800ad8b33ad]
5490
5491 2010-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5492
5493         * plugins/sudoers/ldap.c:
5494         Use efree() not free() and remove malloc.h include since we never
5495         directly call malloc() or free().
5496         [107fffd134bb]
5497
5498 2010-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5499
5500         * sudo.pp:
5501         set PSTAMP for Solaris and move the backend-specific bits to their
5502         own %if [xxx] %endif blocks in %set.
5503         [a94ebe8920c1]
5504
5505         * pp:
5506         sync with git repo
5507         [75ff509696b4]
5508
5509         * configure, configure.in:
5510         Only substitute file zlib files when using the builtin zlib
5511         [6c8145b2deb4]
5512
5513         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
5514         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5515         src/Makefile.in, zlib/Makefile.in:
5516         Give up on using VPATH to find sources as it is implemented
5517         inconsistenly in different versions of make.
5518         [60517c69aaee]
5519
5520         * plugins/sudoers/Makefile.in, plugins/sudoers/getdate.c,
5521         plugins/sudoers/gram.c, plugins/sudoers/toke.c:
5522         Include config.h before any other includes to make sure we get the
5523         right value for _FILE_OFFSET_BITS.
5524         [8fb007ca832e]
5525
5526         * MANIFEST:
5527         Add zlib
5528         [04a3e23dfaa9]
5529
5530         * zlib/Makefile.in:
5531         Add missing targets
5532         [40e45a177168]
5533
5534         * src/Makefile.in:
5535         g/c unused $(GENERATED)
5536         [c8758068c1bc]
5537
5538 2010-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5539
5540         * plugins/sudoers/group_plugin.c:
5541         Zero out group_plugin on unload just to be safe.
5542         [0b10f4d101ca]
5543
5544         * plugins/sudoers/group_plugin.c:
5545         Unload group plugin if its init function fails.
5546         [6552cdac4b7c]
5547
5548         * src/sudo.c:
5549         Only chdir to cwd if it is different from the current cwd or there
5550         is a new root (chroot).
5551         [b8203e875e84]
5552
5553         * configure, configure.in, doc/sudo.cat, doc/sudo.man.in,
5554         doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudoers.ldap.cat,
5555         doc/sudoers.ldap.man.in, doc/visudo.cat, doc/visudo.man.in:
5556         Bump version to 1.8.0b2
5557         [6dadeb75a878]
5558
5559 2010-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
5560
5561         * INSTALL:
5562         Better --enable-zlib description
5563         [e0da54fa59a6]
5564
5565         * mkpkg:
5566         Use system zlib on Linux Let configure decide on Solaris For all
5567         others, use builtin zlib
5568         [3d52eddb523c]
5569
5570         * zlib/zconf.h.in:
5571         Add large file support.
5572         [bec01215270d]
5573
5574         * config.h.in:
5575         Add large file support.
5576         [244e95b034ec]
5577
5578         * Makefile.in, configure, configure.in, doc/LICENSE, doc/license.pod,
5579         zlib/Makefile.in, zlib/adler32.c, zlib/compress.c, zlib/crc32.c,
5580         zlib/crc32.h, zlib/deflate.c, zlib/deflate.h, zlib/gzclose.c,
5581         zlib/gzguts.h, zlib/gzlib.c, zlib/gzread.c, zlib/gzwrite.c,
5582         zlib/infback.c, zlib/inffast.c, zlib/inffast.h, zlib/inffixed.h,
5583         zlib/inflate.c, zlib/inflate.h, zlib/inftrees.c, zlib/inftrees.h,
5584         zlib/trees.c, zlib/trees.h, zlib/uncompr.c, zlib/zconf.h.in,
5585         zlib/zlib.h, zlib/zutil.c, zlib/zutil.h:
5586         Add local copy of zlib for systems that lack it.
5587         [7542ca465c5a]
5588
5589 2010-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
5590
5591         * src/exec.c:
5592         If perform_io() fails, kill the child before exiting so it doesn't
5593         complain about connection reset. We can get an I/O error if, for
5594         example, and we get EIO reading from stdin.
5595         [e59a05fa729f]
5596
5597 2010-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
5598
5599         * plugins/sudoers/sudoers.c, src/sudo.c:
5600         Fix complilation on systems with set_auth_parameters() Sprinkle
5601         volatile to quiet warnings from gcc 2.8.0
5602         [a34c2b924ba7]
5603
5604         * compat/dlfcn.h, compat/dlopen.c:
5605         Avoid potential namespace issues with dlopen() emulation.
5606         [aedfababd6ca]
5607
5608         * MANIFEST:
5609         sync
5610         [6afb97e6d308]
5611
5612         * plugins/sudoers/interfaces.c:
5613         Use INADDR_NONE instead of casting -1 to in_addr_t (which may not
5614         exist).
5615         [ddfca5af1a36]
5616
5617         * Makefile.in:
5618         Mark ChangeLog as PHONY Don't overwrite ChangeLog if we can't run hg
5619         [e9d04bfa4505]
5620
5621         * configure, configure.in:
5622         HP-UX 10.20 libc has an incompatible getline
5623         [2e7bc202e78d]
5624
5625         * plugins/sudoers/visudo.c:
5626         Quiet an HP-UX compiler warning.
5627         [55b9d587ac8c]
5628
5629         * configure, configure.in:
5630         Check for vi even with --with-editor specified; the sample plugin
5631         needs it.
5632         [94dfc3643f76]
5633
5634 2010-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5635
5636         * compat/dlopen.c:
5637         Fix remaining syntax errors.
5638         [9d729b5b577e]
5639
5640         * src/Makefile.in:
5641         sudo binary depends on the libtool-generated libs
5642         [9e6148406adb]
5643
5644         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
5645         Use HAVE_DLOPEN instead of HAVE_DLFCN_H when determining whether to
5646         include the local or system dlfcn.h
5647         [68cfe4c1089b]
5648
5649         * pp:
5650         Don't use run_as_superuser=false on HP-UX
5651         [532242370b09]
5652
5653         * src/net_ifs.c:
5654         Use memset() instead of zero_bytes() since we don't include
5655         sudoers.h
5656         [a187c18c2472]
5657
5658         * plugins/sudoers/interfaces.c:
5659         Fix pasto; AF_INET not AF_INET6
5660         [2d2e9d7dc6f9]
5661
5662         * compat/dlopen.c:
5663         Actually call shl_load()
5664         [ed8153b8a3cd]
5665
5666         * pp:
5667         Update from git repo. Debian: version numbers now compliant with
5668         policy section 5.6.12 HP-UX: minimal changes needed to work on HP-UX
5669         10.20
5670         [ecf2692bceeb]
5671
5672         * configure, configure.in:
5673         Fix dlopen() detection for systems where dlopen() is in a separate
5674         library.
5675         [fa6b175582b6]
5676
5677         * plugins/sudoers/auth/pam.c:
5678         If pam_acct_mgmt() returns PAM_AUTH_ERR print a (hopefully) more
5679         useful message and return AUTH_FATAL so sudo does not keep trying to
5680         validate the user.
5681         [1be8857e5291]
5682
5683         * src/preload.c:
5684         sudo_preload_table is an array
5685         [b7704e72a9da]
5686
5687         * compat/dlopen.c:
5688         Quiet a compiler warning and fix sudo_preload_table external
5689         definition.
5690         [8234987664cc]
5691
5692         * compat/dlfcn.h:
5693         Fix multiple inclusion guard in dlfcn.h and fix dlerror() prototype.
5694         [8bab6a4053cc]
5695
5696         * plugins/sudoers/group_plugin.c:
5697         Make this compile correctly when no dlopen is available.
5698         [57643879bd2b]
5699
5700 2010-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5701
5702         * plugins/sudoers/check.c:
5703         Having a timestamp file defined is no longer indicative of tty
5704         tickets being enabled. Check def_tty_tickets directly.
5705         [efcc11ad157f]
5706
5707         * src/exec_pty.c, src/sudo.h, src/ttysize.c:
5708         Fix TCGETWINSZ compat.
5709         [da3a8b17cf7a]
5710
5711 2010-10-02  Todd C. Miller  <Todd.Miller@courtesan.com>
5712
5713         * src/exec_pty.c, src/ttysize.c:
5714         Prefer newer TIOCGWINSZ ioctl to old TIOCGSIZE
5715         [926492dd10a6]
5716
5717 2010-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
5718
5719         * plugins/sudoers/sudoers.c, src/sudo.c:
5720         Move set_project() from sudoers module into sudo proper.
5721         [beabafac03b4]
5722
5723         * configure, configure.in:
5724         Fix typo and regenerate
5725         [4a3caf4234f3]
5726
5727         * plugins/sudoers/ldap.c:
5728         When iterating over returned LDAP entries, keep looking at remaining
5729         matches even if we have a positive match. This catches negative
5730         matches that may exist in other entries and more closely match the
5731         sudoers file behavior.
5732         [f47db6e609b0]
5733
5734         * pp:
5735         Add support for multiple package instances on Solaris.
5736         [7f2a8b942545]
5737
5738         * src/exec.c:
5739         Add missing signal_pipe[0] to fdsr for the non-pty case.
5740         [79d01e11b19c]
5741
5742         * mkpkg:
5743         Add --with-project for Solaris
5744         [ffa4c2bb93f7]
5745
5746         * README:
5747         Need ar and ranlib too
5748         [5c2f679172ef]
5749
5750 2010-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
5751
5752         * plugins/sudoers/env.c:
5753         Preserve ODMDIR environment variable by default on AIX.
5754         [bd47cb1e804f]
5755
5756 2010-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
5757
5758         * Makefile.in, compat/Makefile.in, compat/dlfcn.h, compat/dlopen.c,
5759         config.h.in, configure, configure.in, plugins/sample/Makefile.in,
5760         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
5761         plugins/sudoers/group_plugin.c, plugins/sudoers/plugin_error.c,
5762         plugins/sudoers/sudoers.c, src/Makefile.in, src/load_plugins.c,
5763         src/preload.c:
5764         Add dlopen() emulation for systems without it. For HP-UX 10, emulate
5765         using shl_load(). For others, link sudoers plugin statically and use
5766         a lookup table to emulate dlsym().
5767         [e92edfb3c642]
5768
5769 2010-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
5770
5771         * compat/fnmatch.c, compat/glob.c, compat/mksiglist.c,
5772         compat/nanosleep.c, compat/utimes.c:
5773         When including compat headers, use the compat dir as part of the
5774         path so we are sure to get the correct header.
5775         [6c2a45da6af5]
5776
5777 2010-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
5778
5779         * plugins/sudoers/linux_audit.c:
5780         Ignore ECONNREFUSED from audit_log_user_command() which will occur
5781         if auditd is not running.
5782         [d314fe4c8d03]
5783
5784 2010-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
5785
5786         * pp:
5787         Sync with git version
5788         [1c0357744222]
5789
5790 2010-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
5791
5792         * common/fileops.c, plugins/sudoers/defaults.c:
5793         Cast isblank argument to unsigned char.
5794         [c822dbb3ca54]
5795
5796 2010-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
5797
5798         * INSTALL, config.h.in, configure, configure.in, doc/sudoers.cat,
5799         doc/sudoers.man.in, doc/sudoers.pod, plugins/sudoers/defaults.c:
5800         Implement --with-umask-override configure flag.
5801         [863e3047df22]
5802
5803         * plugins/sudoers/env.c:
5804         Take MODE_LOGIN_SHELL into account when initially setting reset_home
5805         instead of special-casing it later.
5806         [5d6b16480fd6]
5807
5808         * plugins/sudoers/sudoers.c:
5809         In login mode, make a copy of the runas user's pw_shell for
5810         NewArgv[0] because 1) we modify it and 2) it will runas_pw gets
5811         freed before exec.
5812         [1d1ccb568dfa]
5813
5814         * plugins/sudoers/env.c:
5815         Reset HOME for "sudo -i" even if HOME was listed in env_keep.
5816         [c1c1c65a2d63]
5817
5818         * src/sudo.c:
5819         Use SIG_SETMASK when resetting signal mask instead of SIG_UNBLOCK.
5820         [7443454e5f88]
5821
5822         * src/sudo.c:
5823         Reset signal mask at sudo startup time; we need to be able to rely
5824         on normal signal delivery to control the child process.
5825         [95800163ff94]
5826
5827 2010-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
5828
5829         * install-sh:
5830         Use sed instead of expr to split a flag from its argument. Fixes a
5831         problem with expr interpreting its arguments as a flag when they
5832         start with a dash.
5833         [736065e14301]
5834
5835         * common/lbuf.c:
5836         Do not need sys/time.h after all
5837         [91f6f668ccda]
5838
5839         * common/lbuf.c:
5840         Include sys/time.h for utimes() and struct timeval. No longer need
5841         ioctl.h or termios.h
5842         [2d75273d3213]
5843
5844         * compat/snprintf.c:
5845         Quiet bogus compiler warnings.
5846         [fe252e1968f5]
5847
5848         * include/missing.h:
5849         Declare innetgr() for HP-UX which is missing a declaration. Declare
5850         domainname() for HP-UX and Solaris which are missing a declaration.
5851         [b37c50751138]
5852
5853         * plugins/sudoers/bsm_audit.c:
5854         Use __sun for consistency with the rest of the sources.
5855         [6b086b61ccb6]
5856
5857         * plugins/sudoers/group_plugin.c:
5858         Quiet a bogus compiler warning.
5859         [ebc069842c4a]
5860
5861         * plugins/sudoers/pwutil.c:
5862         Don't try to delref a NULL group.
5863         [f6ff0838be21]
5864
5865         * common/alloc.c, common/lbuf.c:
5866         Include memory.h on systems that need it.
5867         [4e676da81c6f]
5868
5869 2010-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
5870
5871         * src/exec.c:
5872         Quiet gcc warnings on glibc systems that use warn_unused_result for
5873         write(2).
5874         [0532da0b7cf7]
5875
5876         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
5877         sudo_plugin is in section 8; from Ted Percival
5878         [b4506a0de87e]
5879
5880         * plugins/sudoers/Makefile.in:
5881         testsudoers depends on libsudoers.la, not sudoreplay
5882         [cdb1cc3bf06a]
5883
5884 2010-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
5885
5886         * src/exec.c:
5887         Read as many signals on the signal pipe as we can before returning.
5888         [b181671da047]
5889
5890         * src/exec.c, src/exec_pty.c, src/sudo_exec.h:
5891         Instead of using a array to store received signals, open a pipe and
5892         have the signal handler write the signal number to one end and
5893         select() on the other end. This makes it possible to handle signals
5894         similar to I/O without race conditions.
5895         [ee84d65c16b6]
5896
5897 2010-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
5898
5899         * doc/visudo.pod, plugins/sudoers/visudo.c:
5900         Make "visudo -c -f -" check the standard input.
5901         [195a3d2a9a26]
5902
5903         * doc/sudoers.pod:
5904         set_home and always_set_home have an effect if HOME is present in
5905         the env_keep list.
5906         [159d0b9dc5c8]
5907
5908         * plugins/sudoers/env.c:
5909         Make -H flag work when HOME is listed in env_keep. Also makes
5910         "set_home" and "always_set_home" override override HOME in env_keep.
5911         [a3e5b966193f]
5912
5913 2010-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
5914
5915         * plugins/sudoers/Makefile.in, plugins/sudoers/interfaces.c,
5916         plugins/sudoers/interfaces.h, plugins/sudoers/match.c,
5917         plugins/sudoers/sudoers.c, plugins/sudoers/testsudoers.c,
5918         plugins/sudoers/visudo.c, src/net_ifs.c:
5919         Convert sudoers plugin to use interface list passed in settings.
5920         [87d9b5f4f586]
5921
5922         * doc/sudo_plugin.pod, src/Makefile.in, src/net_ifs.c,
5923         src/parse_args.c, src/sudo.h:
5924         Query local network interfaces in the main sudo driver and pass to
5925         the plugin as "network_addrs" in the settings list.
5926         [7f35bcfe77a7]
5927
5928         * plugins/sudoers/bsm_audit.c:
5929         Solaris BSM audit return EINVAL when auditing is not enabled,
5930         whereas OpenBSM returns ENOSYS.
5931         [411b980ec58b]
5932
5933 2010-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
5934
5935         * compat/fnmatch.c:
5936         missing.h should come before most local includes
5937         [53921a7b8b5b]
5938
5939         * plugins/sudoers/sudoreplay.c:
5940         missing.h should come before most local includes
5941         [e9abb0db1aac]
5942
5943         * plugins/sudoers/sudoers.h:
5944         Make local includes consistent; use double quotes for local includes
5945         except for generated ones where we use angle brackets.
5946         [09de4faa9547]
5947
5948         * plugins/sudoers/sudoers.c:
5949         Always fill in NewArgv for audit code.
5950         [7c3aca60519f]
5951
5952         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
5953         Add missing LOG_INPUT/LOG_OUTPUT support in the lexer.
5954         [007cf6560f92]
5955
5956         * common/alloc.c, common/atobool.c, common/fileops.c,
5957         common/fmt_string.c, common/lbuf.c, common/list.c, common/term.c,
5958         common/zero_bytes.c, compat/closefrom.c, compat/fnmatch.c,
5959         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
5960         compat/getprogname.c, compat/glob.c, compat/isblank.c,
5961         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
5962         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
5963         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
5964         compat/unsetenv.c, compat/utimes.c, include/compat.h,
5965         plugins/sample/sample_plugin.c, plugins/sample_group/getgrent.c,
5966         plugins/sample_group/plugin_test.c,
5967         plugins/sample_group/sample_group.c, plugins/sudoers/audit.c,
5968         plugins/sudoers/auth/afs.c, plugins/sudoers/boottime.c,
5969         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
5970         plugins/sudoers/linux_audit.c, plugins/sudoers/match.c,
5971         plugins/sudoers/plugin_error.c, plugins/sudoers/sudoreplay.c,
5972         plugins/sudoers/timestr.c, src/error.c, src/sesh.c, src/sudo.h,
5973         src/sudo_noexec.c, src/ttysize.c:
5974         Make local includes consistent; use double quotes for local includes
5975         except for generated ones where we use angle brackets. Also g/c
5976         unused compat.h.
5977         [e57070dc8f04]
5978
5979 2010-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
5980
5981         * plugins/sudoers/match.c:
5982         When matching the runas user and runas group (-u and -g command line
5983         options), keep track of runas group and runas user matches
5984         separately. Only return a positive match if we have a match for
5985         both runas user and runas group (if specified).
5986         [815219e04cc8]
5987
5988 2010-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
5989
5990         * doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
5991         Add support for multiple URI lines by joining the contents and
5992         passing the result to ldap_initialize.
5993         [a47cae3b72e8]
5994
5995         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c:
5996         Do not return -1 on error from the display functions; the caller
5997         expects a return value >= 0.
5998         [101456a7dd00]
5999
6000         * plugins/sudoers/sudoers.c:
6001         Do not set both MODE_EDIT and MODE_RUN
6002         [8faa36694d54]
6003
6004 2010-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6005
6006         * include/missing.h:
6007         Move includes to the top of the file.
6008         [a51436798e8c]
6009
6010 2010-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
6011
6012         * plugins/sudoers/Makefile.in:
6013         Add missing definition of timedir
6014         [458a749c2c5e]
6015
6016         * compat/fnmatch.c, compat/getprogname.c, compat/isblank.c,
6017         compat/mksiglist.c, compat/strsignal.c,
6018         plugins/sudoers/plugin_error.c, src/error.c, src/sudo_noexec.c:
6019         Add #include of sys/types.h for .c files that include missing.h to
6020         be sure that size_t and ssize_t are defined.
6021         [08e3132dbf4f]
6022
6023         * plugins/sudoers/Makefile.in:
6024         Install sudoers file from the build dir not hte src dir.
6025         [ca89e962dbf4]
6026
6027 2010-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6028
6029         * plugins/sudoers/set_perms.c:
6030         If runas_pw changes, reset the stashed runas aux group vector.
6031         Otherwise, if runas_default is set in a per-command Defaults
6032         statement, the command runs with root's aux group vector (i.e. the
6033         one that was used when locating the command).
6034         [24f9107cedd2]
6035
6036         * plugins/sudoers/Makefile.in:
6037         Add target to generate sudoers file Remove generated sudoers file as
6038         part of distclean
6039         [fb7422e90f03]
6040
6041 2010-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6042
6043         * src/exec.c:
6044         When not logging I/O install a handler for SIGCONT and deliver it to
6045         the command upon resume. Fixes bugzilla #431
6046         [495dce52a5aa]
6047
6048 2010-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6049
6050         * plugins/sudoers/sudoers.h:
6051         g/c unused auth_pw extern definition
6052         [40eb7477ba17]
6053
6054         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c:
6055         Move get_auth() into check.c where it is actually used.
6056         [e31db0ce3a61]
6057
6058 2010-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6059
6060         * common/lbuf.c:
6061         Convert a remaining puts() and putchar() to use the output function.
6062         [d69e363a506b]
6063
6064         * plugins/sudoers/plugin_error.c:
6065         Plug memory leak
6066         [68895469ea8d]
6067
6068 2010-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
6069
6070         * plugins/sudoers/env.c:
6071         Set dupcheck to TRUE when setting new HOME value if !env_reset but
6072         always_set_home is true. Prevents a duplicate HOME in the
6073         environment (old value plus the new one) introduced in f421f8827340.
6074         [9ca19183794f]
6075
6076         * configure, configure.in, plugins/sudoers/sudoers,
6077         plugins/sudoers/sudoers.in:
6078         Substitute sysconfdir in the installed sudoers file to get the
6079         correct path for sudoers.d.
6080         [86072b6cd55d]
6081
6082 2010-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6083
6084         * src/get_pty.c:
6085         Fix typo that prevented compilation on Irix; Friedrich Haubensak
6086         [b48be51b65fc]
6087
6088 2010-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6089
6090         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
6091         common/atobool.c, common/fileops.c, common/fmt_string.c,
6092         common/lbuf.c, common/list.c, common/term.c, common/zero_bytes.c,
6093         compat/Makefile.in, compat/closefrom.c, compat/fnmatch.c,
6094         compat/getcwd.c, compat/getgrouplist.c, compat/getline.c,
6095         compat/getprogname.c, compat/glob.c, compat/isblank.c,
6096         compat/memrchr.c, compat/mksiglist.c, compat/mkstemps.c,
6097         compat/nanosleep.c, compat/setenv.c, compat/snprintf.c,
6098         compat/strlcat.c, compat/strlcpy.c, compat/strsignal.c,
6099         compat/unsetenv.c, compat/utimes.c, include/compat.h,
6100         include/missing.h, plugins/sample/sample_plugin.c,
6101         plugins/sample_group/getgrent.c,
6102         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
6103         plugins/sudoers/audit.c, plugins/sudoers/boottime.c,
6104         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
6105         plugins/sudoers/linux_audit.c, plugins/sudoers/plugin_error.c,
6106         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
6107         plugins/sudoers/timestr.c, src/Makefile.in, src/error.c, src/sesh.c,
6108         src/sudo.h, src/sudo_noexec.c, src/ttysize.c:
6109         Merge compat.h and missing.h into missing.h
6110         [572909ae9716]
6111
6112 2010-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6113
6114         * plugins/sudoers/auth/pam.c:
6115         If the user hits ^C while a password is being read, error out before
6116         reading any further passwords in the pam conversation function.
6117         Otherwise, if multiple PAM auth methods are required, the user will
6118         have to hit ^C for each one.
6119         [23782631748c]
6120
6121 2010-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6122
6123         * plugins/sudoers/check.c:
6124         Update comment
6125         [a5296cb3a20a]
6126
6127         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6128         Document sudo_conv_t function and sudo_printf_t return values.
6129         [745c0017814c]
6130
6131         * src/conversation.c:
6132         Make _sudo_printf return the number of characters printed on success
6133         like printf(3).
6134         [8eeefe8d7e77]
6135
6136 2010-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
6137
6138         * plugins/sudoers/sudoers.c:
6139         sudoers.h includes sudo_plugin.h for us
6140         [cabe68e07807]
6141
6142         * common/Makefile.in, common/gettime.c, compat/mkstemps.c,
6143         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/sudo.h,
6144         src/sudo_edit.c:
6145         Use gettimeofday() directly instead of via the gettime() wrapper.
6146         [7490426c99ae]
6147
6148         * common/gettime.c, compat/snprintf.c, compat/strcasecmp.c,
6149         compat/strerror.c, config.h.in, configure, configure.in,
6150         include/compat.h, include/missing.h, plugins/sudoers/logging.c,
6151         plugins/sudoers/sudoers.c, plugins/sudoers/visudo.c, src/sudo.c:
6152         Remove some obsolete configure tests, ancient Unix systems are no
6153         longer supported.
6154         [2be6218c3a36]
6155
6156 2010-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6157
6158         * sudo.pp:
6159         Set pp_kit_version and strip off patch level
6160         [aacfda1b676d]
6161
6162         * sudo.pp:
6163         Better handling of versions with a patchlevel. For rpm and deb, use
6164         the patchlevel+1 as the release. For AIX, use the patchlevel as the
6165         4th version number. For the rest, just leave the patchlevel in the
6166         version string.
6167         [638bd35f2346]
6168
6169 2010-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6170
6171         * plugins/sudoers/auth/sudo_auth.c:
6172         For non-standalone auth methods, stop reading the password if the
6173         user enters ^C at the prompt.
6174         [82c2911bb264]
6175
6176         * configure, configure.in, plugins/sudoers/Makefile.in,
6177         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/secureware.c,
6178         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
6179         plugins/sudoers/pwutil.c:
6180         No need to look up shadow password unless we are doing password-
6181         style authentication. This moves the shadow password lookup to the
6182         auth functions that need it.
6183         [ba9e3eba2b72]
6184
6185         * plugins/sudoers/sudoers.c:
6186         Retain final passwd/group refs until the policy close() function.
6187         Note that this doesn't get called in all cases so putting this in a
6188         cleanup function is probably better.
6189         [bbe214cb4119]
6190
6191         * plugins/sudoers/check.c:
6192         Fix mismerge
6193         [395115f89dd6]
6194
6195         * plugins/sudoers/check.c:
6196         When removing/resetting the timestamp file ignore the tty ticket
6197         contents.
6198         [b709f5667a0b]
6199
6200         * plugins/sudoers/sudoers.c:
6201         delref sudo_user.pw, runas_pw and runas_gr immediately before we
6202         return.
6203         [4d67d15dfd3b]
6204
6205 2010-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
6206
6207         * plugins/sudoers/check.c, plugins/sudoers/ldap.c,
6208         plugins/sudoers/match.c, plugins/sudoers/pwutil.c,
6209         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
6210         Reference count cached passwd and group structs. The cache holds
6211         one reference itself and another is added by sudo_getgr{gid,nam} and
6212         sudo_getpw{uid,nam}. The final ref on the runas and user passwd and
6213         group structs are persistent for now.
6214         [e544685523c3]
6215
6216         * doc/UPGRADE:
6217         fix typo
6218         [e32f2d35e6c9]
6219
6220 2010-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
6221
6222         * plugins/sudoers/check.c:
6223         Do not produce a warning for "sudo -k" if the ticket file does not
6224         exist.
6225         [1598f6061b75]
6226
6227         * plugins/sudoers/pwutil.c:
6228         Instead of caching struct passwd and struct group in the red-black
6229         tree, store a struct cache_item which includes both the key and
6230         datum. This allows us to user the actual name that was looked up as
6231         the key instead of the contents of struct passwd or struct group.
6232         This matters because the name in the database may not match what we
6233         looked up, due either to case folding or truncation (historically at
6234         8 characters). Also mark the disabled calls to sudo_freepwcache()
6235         and sudo_freegrcache() as broken since we use cached data for things
6236         like set_perms() and the logging functions. Fixing this would
6237         require making a copy of the structs for user and runas or adding a
6238         reference count (better).
6239         [225d4a22f60e]
6240
6241         * plugins/sudoers/Makefile.in:
6242         Fix path to mkinstalldirs
6243         [b4968379b12d]
6244
6245         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
6246         plugins/sudoers/sudoreplay.c, plugins/sudoers/visudo.c,
6247         src/exec_pty.c, src/get_pty.c, src/tgetpass.c:
6248         Quiet gcc warnings on glibc systems that use warn_unused_result for
6249         write(2) and others.
6250         [c99f138960e0]
6251
6252 2010-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6253
6254         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6255         Add %option noinput
6256         [72b9cd49b4f1]
6257
6258         * aclocal.m4, configure, configure.in:
6259         Add cross-compile defaults for remaining AC_TRY_RUN usage. Also add
6260         back getgroups() check since AC_FUNC_GETGROUPS defaults to "no" when
6261         cross-compiling.
6262         [e385c176d0ee]
6263
6264 2010-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
6265
6266         * aclocal.m4, compat/snprintf.c, config.h.in, configure, configure.in:
6267         Use AC_CHECK_MEMBER in SUDO_SOCK_SA_LEN Use AC_TYPE_LONG_LONG_INT
6268         and AC_CHECK_SIZEOF([long int]) instead of rolling our own.
6269         [cf3e60d9c440]
6270
6271 2010-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6272
6273         * pp:
6274         Update to latest version
6275         [32f93be33961]
6276
6277 2010-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
6278
6279         * sudo.pp:
6280         Let pp determine pp_aix_version itself.
6281         [7cf0245d84ed]
6282
6283         * INSTALL, config.h.in, configure, configure.in, mkpkg,
6284         plugins/sudoers/sudoers.c:
6285         Add support for Ubuntu admin flag file and enable it when building
6286         Ubuntu packages.
6287         [00e27cff2dfb]
6288
6289         * plugins/sudoers/sudoers, sudo.pp:
6290         Add commented out SuSE-like targetpw settings
6291         [4605d47b7413]
6292
6293         * configure, configure.in:
6294         Only try to use +DAportable for non-GCC on hppa
6295         [75d0f284ccf7]
6296
6297         * configure, configure.in:
6298         Prevent configure from adding the -g flag unless in devel mode
6299         [b1fd3f8d45c0]
6300
6301 2010-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
6302
6303         * sudo.pp:
6304         Go back to sudo-flavor to match existing packages and only use an
6305         underscore for those that need it.
6306         [d737069d1e1c]
6307
6308         * sudo.pp:
6309         Use sudo_$flavor instead of sudo-$flavor since that causes the least
6310         amount of trouble for the various package managers.
6311         [71f547af35fc]
6312
6313         * mkpkg:
6314         Fix handling of the ldap flavor Remove destdir unless --debug was
6315         specified Make distclean before running configure if there is a
6316         Makefile present
6317         [6316f08de7d3]
6318
6319         * sudo.pp:
6320         Add back include file.
6321         [195627bf68b8]
6322
6323         * mkpkg:
6324         Pass extra args on to configure on HP-UX, if we don't have the HP C
6325         compiler, disable zlib to prevent gcc from finding it in
6326         /usr/local/lib.
6327         [473efa0e2bac]
6328
6329         * mkpkg:
6330         Use the HP ANSI C compiler on HP-UX if possible
6331         [fb249b6b175d]
6332
6333         * plugins/sudoers/sudoreplay.c:
6334         Some getline() implementations (FreeBSD 8.0) do not ignore the
6335         length pointer when the line pointer is NULL as they should.
6336         [2410a1a3543c]
6337
6338         * plugins/sudoers/sudoreplay.c:
6339         Don't need to check for *cp being non-zero, isdigit() will do that.
6340         [7df11ea8a487]
6341
6342         * plugins/sudoers/sudoreplay.c:
6343         Add setlocale() so the command line arguments that use floating
6344         point work in different locales. Since sudo now logs the timing
6345         data in the C locale we must Parse the seconds in the timing file
6346         manually instead of using strtod(). Furthermore, sudo 1.7.3 logged
6347         the number of seconds with the user's locale so if the decimal point
6348         is not '.' try using the locale-specific version.
6349         [4d385765f23b]
6350
6351         * src/exec.c:
6352         Do I/O logging in the C locale so the floating point numbers in the
6353         timing file are not locale-dependent.
6354         [5961cec044ec]
6355
6356         * plugins/sudoers/sudoreplay.c:
6357         Use errorx() not error() for thingsthat don't set errno.
6358         [0fe5e692af84]
6359
6360 2010-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
6361
6362         * pp:
6363         Better support for 1.2.3 style versions in Tru64 kits
6364         [997c549bb777]
6365
6366         * sudo.pp:
6367         Add Tru64 kit support
6368         [e273a954f981]
6369
6370         * pp:
6371         Remove apparently unnecessary use of sudo
6372         [be8840d85125]
6373
6374         * Makefile.in, plugins/sudoers/Makefile.in:
6375         Create timedir as part of install-dirs target.
6376         [c736bc2fb14f]
6377
6378         * src/exec_pty.c:
6379         Handle ENXIO from read/write which can occur when reading/writing a
6380         pty that has gone away.
6381         [fa2e8059879f]
6382
6383         * plugins/sudoers/pwutil.c:
6384         sudo_pwdup() was not expanding an empty pw_shell to _PATH_BSHELL
6385         [3a045475d5ee]
6386
6387         * mkpkg:
6388         platform is a pp flag not a variable
6389         [12eba39a47c1]
6390
6391         * Makefile.in, mkpkg, sudo.pp:
6392         Add simple arg parsing for mkpkg so we can set debug, flavor or
6393         platform.
6394         [ada839fe252d]
6395
6396         * pp:
6397         Make rpm backend work on AIX 5.x
6398         [549a76d11393]
6399
6400 2010-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6401
6402         * plugins/sudoers/sudoers:
6403         Add commented out Defaults entry for log_output
6404         [7e67d7588900]
6405
6406 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6407
6408         * doc/Makefile.in:
6409         Remove sudo docdir completely
6410         [dce8e82878ef]
6411
6412         * doc/sample.sudo.conf:
6413         Add sample sudo.conf
6414         [aafdba3fc411]
6415
6416 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6417
6418         * plugins/sudoers/Makefile.in:
6419         Add PACKAGE_TARNAME for docdir
6420         [930c92b8f8f0]
6421
6422 2010-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
6423
6424         * src/Makefile.in:
6425         Pass install-sh -b~ here too.
6426         [c3f5eb446c38]
6427
6428         * plugins/sample/Makefile.in, plugins/sample_group/Makefile.in,
6429         plugins/sudoers/Makefile.in, src/Makefile.in:
6430         Install binary files with -b~ to make a backup. Fixes "text file
6431         busy" error on HP-UX during install.
6432         [81f306f54f8c]
6433
6434         * install-sh:
6435         "mv -f" on HP-UX doesn't unlink the destination first so add an
6436         explicit rm before moving the temporary into place.
6437         [fb719a79582d]
6438
6439         * configure, configure.in:
6440         Some more ${foo} -> $(foo) conversion for consistent Makefiles.
6441         [0aa098770074]
6442
6443         * doc/Makefile.in, plugins/sudoers/Makefile.in:
6444         Install sudoers2ldif in the doc dir
6445         [33ac3b53d7f5]
6446
6447 2010-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6448
6449         * pathnames.h.in:
6450         Add missing include of maillock.h for Solaris
6451         [5a58883be23a]
6452
6453         * NEWS, configure, configure.in, doc/TROUBLESHOOTING, doc/UPGRADE,
6454         doc/sample.syslog.conf, doc/sudoers.cat:
6455         Change the default syslog facility from local2 to authpriv (or auth
6456         if the operating system doesn't support authpriv).
6457         [3b70ba514f49]
6458
6459         * Makefile.in, sudo.pp:
6460         Install sudoers as /etc/sudoers on RPM and debian systems where the
6461         package manager will not replace a user-modified configuration file.
6462         This fixes upgrades from the vendor sudo packages.
6463         [d886b6d60b5b]
6464
6465         * pp:
6466         RPM: use %config(noreplace) instead of %config for volatile This
6467         results in the new file being installed with a .rpmnew suffix
6468         instead of the file being replaced and the old one renamed with a
6469         .rpmsave suffix.
6470         [58be2119f8e8]
6471
6472 2010-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
6473
6474         * compat/mkstemps.c, plugins/sudoers/boottime.c:
6475         Include time.h for struct timeval
6476         [ddf8b04f0276]
6477
6478         * src/exec_pty.c:
6479         The return value of strsignal() may be const and should be treated
6480         as const regardless.
6481         [620074ae1e77]
6482
6483         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6484         Mention that 127.0.0.1 will not match, nor will localhost unless
6485         that is the actual host name.
6486         [8b574122eb8f]
6487
6488         * MANIFEST, NEWS, README, WHATSNEW, doc/Makefile.in, doc/UPGRADE:
6489         Rename WHATSNEW -> NEWS
6490         [d1a2c8c47d89]
6491
6492         * pp:
6493         Updated pp with latest patches
6494         [98e16b9b8f62]
6495
6496         * WHATSNEW:
6497         Sync with 1.7.4
6498         [65ac4dafeef7]
6499
6500         * doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6501         plugins/sudoers/sudoers:
6502         Add commented out line to add HOME to env_keep and add a warning to
6503         the note about the HOME change in UPGRADE.
6504         [0d6a775bb6c8]
6505
6506 2010-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
6507
6508         * plugins/sudoers/sudoreplay.c:
6509         Add LINE_MAX define for those without it.
6510         [446d9dbe7859]
6511
6512         * INSTALL, WHATSNEW, config.h.in, configure, configure.in,
6513         doc/UPGRADE, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6514         plugins/sudoers/defaults.c:
6515         The tty_tickets option is now on by default.
6516         [a01c48206d80]
6517
6518         * WHATSNEW:
6519         Mention that AIX authdb support has been fixed.
6520         [87bd7f4eba6a]
6521
6522         * common/aix.c:
6523         setauthdb() only sets the "old" registry if it was set by a previous
6524         call to setauthdb(). To restore the original value, passing NULL
6525         (or an empty string) to setauthdb() is sufficient.
6526         [470da190a254]
6527
6528 2010-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
6529
6530         * WHATSNEW, doc/UPGRADE, doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod,
6531         doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
6532         plugins/sudoers/env.c:
6533         Reset HOME when env_reset is enabled unless it is in env_keep
6534         [f421f8827340]
6535
6536         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6537         The default for set_logname has been "true" for some time now.
6538         [f489da5674c3]
6539
6540         * plugins/sudoers/boottime.c:
6541         Add missing include of time.h
6542         [624d7014932f]
6543
6544         * plugins/sudoers/logging.c:
6545         Fix check for dup2() return value.
6546         [140ea2d50d20]
6547
6548         * plugins/sudoers/env.c:
6549         Add PYTHONUSERBASE to initial_badenv_table
6550         [3149aae5b12c]
6551
6552         * plugins/sudoers/visudo.c:
6553         Treat an unknown defaults entry as a parse error.
6554         [b3ebad73efb2]
6555
6556         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
6557         Check return value of setdefs() but don't stop setting defaults if
6558         we hit an unknown one.
6559         [945e752239ab]
6560
6561         * WHATSNEW, aclocal.m4, config.h.in, configure, configure.in,
6562         doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
6563         doc/sudoers.man.in, doc/sudoers.pod, pathnames.h.in,
6564         plugins/sudoers/env.c:
6565         If env_reset is enabled, set the MAIL environment variable based on
6566         the target user unless MAIL is explicitly preserved in sudoers.
6567         [a1b03e2e0e96]
6568
6569 2010-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
6570
6571         * pp:
6572         decode debian code names
6573         [8741280d9960]
6574
6575         * WHATSNEW:
6576         fix typo
6577         [a8a19451110b]
6578
6579 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6580
6581         * WHATSNEW:
6582         Merge with 1.7.4
6583         [9348fa7e15b8]
6584
6585         * src/sudo.c:
6586         Restore RLIMIT_NPROC after the uid switch if it appears that
6587         runas_setup() did not do it for us. Fixes a bash script problem on
6588         SuSE with RLIMIT_NPROC set to RLIM_INFINITY.
6589         [786fb272e5fd]
6590
6591 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6592
6593         * mkpkg, pp, sudo.pp:
6594         Restore the dot removal in the os version reported by polypkg. Adapt
6595         mkpkg and sudo.pp to the change.
6596         [dcafdd53b88f]
6597
6598 2010-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
6599
6600         * INSTALL:
6601         document --with-pam-login
6602         [ea93e4c6873c]
6603
6604         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6605         The tag is NOSETENV, not UNSETENV. From Petr Uzel.
6606         [2ac90d8de36e]
6607
6608 2010-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
6609
6610         * sudo.pp:
6611         Include flavor in solaris package name
6612         [e605f6364c9f]
6613
6614         * mkpkg:
6615         Older shells don't support IFS= so set explictly to space, tab,
6616         newline.
6617         [7773960bc8a0]
6618
6619         * mkpkg:
6620         Use '=' not '==' in test
6621         [c99d42bc48e6]
6622
6623         * mkpkg:
6624         Fix typo that prevented debian from matching
6625         [84421078fcb7]
6626
6627         * mkpkg:
6628         Add missing prefix setting for debian
6629         [6466f23de4aa]
6630
6631         * sudo.pp:
6632         Use tab indents to reduce the chance of problem with <<- Fix the
6633         debian %set section, pp does not set pp_deb_distro Uncomment %sudo
6634         line in sudoers for debian Uncomment some env_keep lines for RHEL,
6635         SLES and debian to more closely match the vendor sudoers files.
6636         Add /etc/pam.d to %files Remove the /etc/sudo-ldap.conf symlink on
6637         debian for ldap flavor
6638         [c5b49feb1a0c]
6639
6640         * plugins/sudoers/sudoers:
6641         Add commented out env_keep entries, sample Aliases and a %sudo line
6642         for debian.
6643         [387719e52d0f]
6644
6645         * configure, configure.in:
6646         Move zlib check later on in the script to avoid a strange shell
6647         problem on SLES11.
6648         [1a3153bb1291]
6649
6650         * configure.in:
6651         Remove check for egrep; configure has its own
6652         [a3b9d98cb5d2]
6653
6654 2010-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
6655
6656         * mkpkg:
6657         Enable zlib for linux distros
6658         [8fa51a1405a4]
6659
6660         * mkpkg:
6661         Add ldap flavor to default build
6662         [97644f5a555f]
6663
6664         * mkpkg, sudo.pp:
6665         Simplify rpm linux distro settings
6666         [b9dcf10cdf20]
6667
6668         * aclocal.m4, configure, configure.in, doc/UPGRADE, doc/sudoers.cat:
6669         Move time stamp files from /var/run/sudo to /var/{db,lib,adm}/sudo.
6670         [2c549c1acde9]
6671
6672         * Makefile.in:
6673         Fix ChangeLog creation from build dir
6674         [3d0c7904f173]
6675
6676         * plugins/sudoers/sudoers.c:
6677         Handle getcwd() failure.
6678         [aef7bef87394]
6679
6680         * doc/Makefile.in, mkpkg, sudo.pp:
6681         Add ldap "flavor" for debian, controlled by the SUDO_FLAVOR
6682         environment variable.
6683         [be6ed611b7a8]
6684
6685         * sudo.pp:
6686         Create sudo group on debian
6687         [6ed6c032042e]
6688
6689         * mkpkg, sudo.pp:
6690         Add debian 4/5/6 and use the dot when doing version matches
6691         [6bcb664d1f4f]
6692
6693         * aclocal.m4, configure:
6694         Use a loop when searching for mv, sendmail and sh
6695         [d5e9369f8d13]
6696
6697         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6698         Remove spurious "and"; from debian
6699         [a21e6f7c5b99]
6700
6701         * aclocal.m4, configure, configure.in, doc/sudoers.cat,
6702         doc/sudoers.man.in, doc/sudoers.pod, doc/visudo.cat,
6703         doc/visudo.man.in, doc/visudo.pod:
6704         Substitute the value of EDITOR into the sudoers and visudo manuals.
6705         [cd79e587dd7f]
6706
6707 2010-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
6708
6709         * mkpkg, pp, sudo.pp:
6710         Initial support for debian 4.0
6711         [ac6707915fa8]
6712
6713         * mkpkg:
6714         Some platforms need -fPIE instead of -fpie
6715         [fd6be19e5bc2]
6716
6717         * plugins/sudoers/auth/pam.c:
6718         Only set PAM_RHOST for Solaris, where it is needed to avoid a bug.
6719         On Linux it causes a DNS lookup via libaudit.
6720         [1e10105ade5b]
6721
6722         * MANIFEST:
6723         Update MANIFEST to match packaging changes
6724         [ef86ee557b5b]
6725
6726         * sudo.psf:
6727         We now use pp to generate HP-UX packages
6728         [f7aa8da7844e]
6729
6730         * INSTALL.binary, plugins/sudoers/Makefile.binary.in:
6731         Remove vestiges of old binary package bits.
6732         [afffd005452f]
6733
6734         * INSTALL, Makefile.in, common/Makefile.in, compat/Makefile.in,
6735         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6736         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6737         src/Makefile.in:
6738         install-man -> install-doc
6739         [99b5fa05567c]
6740
6741         * Makefile.in, doc/Makefile.in, include/Makefile.in, mkpkg,
6742         plugins/sudoers/Makefile.in, pp, src/Makefile.in, sudo.pp:
6743         Use http://rc.quest.com/topics/polypkg/ for packaging
6744         [5ca8eb75b223]
6745
6746         * install-sh:
6747         Just ignore the -c option, it is the default Add support for -d
6748         option
6749         [a8b6b0a131e8]
6750
6751 2010-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
6752
6753         * pathnames.h.in, plugins/sudoers/env.c, plugins/sudoers/logging.c:
6754         Use _PATH_STDPATH instead of _PATH_DEFPATH
6755         [137fa911908e]
6756
6757         * plugins/sudoers/Makefile.in, src/Makefile.in:
6758         Do not strip binaries.
6759         [20166e287176]
6760
6761         * INSTALL, configure, configure.in:
6762         Add --insults=disabled configure option to allow people to build in
6763         insult support but have the insults disabled unless explicitly
6764         enabled in sudoers.
6765         [523b8c552e90]
6766
6767         * compat/mkstemps.c:
6768         Add prototype for gettime()
6769         [275eee40473b]
6770
6771         * config.h.in, configure, configure.in, plugins/sudoers/auth/pam.c,
6772         plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
6773         plugins/sudoers/sudoers.h:
6774         Add support for a sudo-i pam.d file to be used for "sudo -i".
6775         Adapted from a RedHat patch.
6776         [06d34f16520b]
6777
6778 2010-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
6779
6780         * include/missing.h:
6781         Fix mkstemps() prototype
6782         [2421841e815b]
6783
6784         * MANIFEST, compat/Makefile.in, compat/mkstemp.c, compat/mkstemps.c,
6785         config.h.in, configure, configure.in, include/missing.h,
6786         src/sudo_edit.c:
6787         Use mkstemps() instead of mkstemp() in sudoedit. This allows
6788         sudoedit to preserve the file extension (if any) which may be used
6789         by the editor (like emacs) to choose the editing mode.
6790         [d33172d2c086]
6791
6792 2010-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
6793
6794         * doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
6795         plugins/sudoers/ldap.c:
6796         TLS_CACERT is now an alias for TLS_CACERTFILE. OpenLDAP uses
6797         TLS_CACERT, not TLS_CACERTFILE in its ldap.conf. Other LDAP client
6798         code, such as nss_ldap, uses TLS_CACERTFILE. Also document why you
6799         should avoid disabling TLS_CHECKPEER is possible.
6800         [196622436212]
6801
6802 2010-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
6803
6804         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6805         Make sudo_plugin format a bit more like a man page
6806         [048d596e32da]
6807
6808         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
6809         Add suport for negated user/host/command lists in a Defaults entry.
6810         E.g. Defaults:!baduser noexec
6811         [d41112cf0342]
6812
6813         * Makefile.in, common/Makefile.in, compat/Makefile.in,
6814         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
6815         plugins/sample_group/Makefile.in, plugins/sudoers/Makefile.in,
6816         src/Makefile.in:
6817         Add uninstall target
6818         [fea66ebf136a]
6819
6820         * common/Makefile.in, compat/Makefile.in:
6821         Remove unused AR, SED and RANLIB variables
6822         [2ff9928bfdb3]
6823
6824         * Makefile.in:
6825         Do not install sample plugins
6826         [5443b87bd1c3]
6827
6828 2010-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
6829
6830         * MANIFEST, aclocal.m4, compat/setenv.c, compat/unsetenv.c, configure,
6831         configure.in, plugins/sudoers/env.c:
6832         Now that sudoers is a dynamically loaded module we cannot override
6833         the libc environment functions because the symbols may already have
6834         been resolved via libc. Remove getenv/putenv/setenv/unsetenv
6835         replacements from sudoers and add replacements for setenv/unsetenv
6836         for systems that lack them.
6837         [3f2b43cb8851]
6838
6839         * configure, configure.in, plugins/sudoers/Makefile.in:
6840         Link testsudoers with -ldl when needed
6841         [f79606f9fcd7]
6842
6843         * plugins/sample_group/plugin_test.c:
6844         Remove unused time.h and add limits.h for PATH_MAX
6845         [3f5d0074d621]
6846
6847         * doc/sudoers.ldap.pod:
6848         Fix typo.
6849         [bc855fd57397]
6850
6851 2010-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
6852
6853         * plugins/sample_group/plugin_test.c:
6854         Do not depend on strlcpy/strlcat
6855         [6e7e2b5af051]
6856
6857         * plugins/sample_group/plugin_test.c:
6858         Standalone test driver for sudoers group plugin.
6859         [eb1235fc3b8e]
6860
6861 2010-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
6862
6863         * plugins/sudoers/group_plugin.c, src/load_plugins.c:
6864         Use RTLD_LAZY instead of RTLD_NOW; was using RTLD_NOW as a debugging
6865         aid.
6866         [2a34e616229b]
6867
6868         * plugins/sample_group/sample_group.c:
6869         Fix style nit in function declarations
6870         [ab87c7c76bf9]
6871
6872         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
6873         Document group_plugin syntax.
6874         [ed1faf72ddcb]
6875
6876         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
6877         Document the sudoers group plugin.
6878         [f19a62dc8cfc]
6879
6880         * INSTALL, MANIFEST, Makefile.in, config.h.in, configure,
6881         configure.in, doc/LICENSE, doc/license.pod, include/sudo_plugin.h,
6882         plugins/sample_group/Makefile.in, plugins/sample_group/getgrent.c,
6883         plugins/sample_group/sample_group.c, plugins/sudoers/Makefile.in,
6884         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
6885         plugins/sudoers/def_data.in, plugins/sudoers/group_plugin.c,
6886         plugins/sudoers/match.c, plugins/sudoers/nonunix.h,
6887         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
6888         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
6889         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c, src/sudo.c:
6890         Replace built-in non-unix group support with a sudoers group plugin.
6891         Include a sample plugin that can read Unix-format group files.
6892         [8fc58ce0b1a8]
6893
6894         * configure, configure.in, src/load_plugins.c:
6895         Add a trailing slash to _PATH_SUDO_PLUGIN_DIR to simplify usage.
6896         [5c491dddb8ef]
6897
6898 2010-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
6899
6900         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudoers.cat,
6901         doc/sudoers.man.in, doc/sudoers.pod:
6902         Move sudoers-specific bits out of sudo(8) and into sudoers(5)
6903         [e8a5a5830cfe]
6904
6905         * aclocal.m4, configure, configure.in:
6906         Substitute @io_logdir@ for the sudoers I/O log directory.
6907         [21a75ca7b0ab]
6908
6909 2010-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
6910
6911         * MANIFEST, common/Makefile.in, common/aix.c, common/alloc.c,
6912         common/atobool.c, common/fileops.c, common/fmt_string.c,
6913         common/lbuf.c, common/term.c, compat/fnmatch.c, compat/getcwd.c,
6914         compat/getgrouplist.c, compat/getline.c, compat/glob.c,
6915         compat/snprintf.c, config.h.in, configure, configure.in,
6916         include/fileops.h, plugins/sample/sample_plugin.c,
6917         plugins/sudoers/alias.c, plugins/sudoers/auth/afs.c,
6918         plugins/sudoers/auth/aix_auth.c, plugins/sudoers/auth/bsdauth.c,
6919         plugins/sudoers/auth/dce.c, plugins/sudoers/auth/fwtk.c,
6920         plugins/sudoers/auth/kerb4.c, plugins/sudoers/auth/kerb5.c,
6921         plugins/sudoers/auth/pam.c, plugins/sudoers/auth/passwd.c,
6922         plugins/sudoers/auth/rfc1938.c, plugins/sudoers/auth/secureware.c,
6923         plugins/sudoers/auth/securid.c, plugins/sudoers/auth/securid5.c,
6924         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.c,
6925         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
6926         plugins/sudoers/defaults.c, plugins/sudoers/env.c,
6927         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
6928         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
6929         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
6930         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
6931         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
6932         plugins/sudoers/logging.c, plugins/sudoers/match.c,
6933         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
6934         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
6935         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
6936         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
6937         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
6938         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/visudo.c,
6939         src/Makefile.in, src/aix.c, src/conversation.c, src/exec.c,
6940         src/exec_pty.c, src/get_pty.c, src/load_plugins.c, src/parse_args.c,
6941         src/sudo.c, src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
6942         Set usrinfo for AIX Set adminstrative domain for the process when
6943         looking up user's password or group info and when preparing for
6944         execve(). Include strings.h even if string.h exists since they may
6945         define different things. Fixes warnings on AIX and others.
6946         [cf8b93e872c9]
6947
6948         * Makefile.in:
6949         Add a separate all target for AIX make which was using the entire
6950         LHS (not just the first entry) of the first target as the implicit
6951         target.
6952         [a45b980a01ef]
6953
6954         * plugins/sudoers/env.c:
6955         Do not rely on env.env_len when unsetting a variable, just use the
6956         NULL terminator.
6957         [ca6eb239c829]
6958
6959         * plugins/sudoers/env.c:
6960         In unsetenv() check for NULL or empty name as per POSIX 1003.1-2008
6961         [7046ba7caa4e]
6962
6963 2010-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
6964
6965         * plugins/sudoers/vasgroups.c:
6966         Use warningx() instead of log_error() since the latter is not
6967         available to visudo or testsudoers. This does mean that they don't
6968         end up in syslog.
6969         [152b7c50f426]
6970
6971         * plugins/sudoers/sudoers.c:
6972         Defer call to sudo_nonunix_groupcheck_cleanup() until after we have
6973         closed the sudoers sources. From Quest sudo.
6974         [c1cd573bab94]
6975
6976         * plugins/sudoers/pwutil.c:
6977         Ignore case when matching user/group names in the cache. From Quest
6978         sudo.
6979         [2aa4ecc7d7f5]
6980
6981 2010-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
6982
6983         * config.h.in, configure, configure.in, src/selinux.c:
6984         Add check for setkeycreatecon() when --with-selinux is specified.
6985         [affae247b4e0]
6986
6987         * configure, configure.in:
6988         Error out if libaudit.h is missing or ununable when --with-linux-
6989         audit was specified
6990         [d82e743fac04]
6991
6992         * doc/HISTORY, doc/history.pod:
6993         Add =head3 entries, mostly for the html version
6994         [ee93112d0308]
6995
6996 2010-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
6997
6998         * doc/HISTORY, doc/history.pod:
6999         Mention when LDAP was incorporate.
7000         [2923dc17f79c]
7001
7002 2010-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7003
7004         * configure, configure.in:
7005         Define _LINUX_SOURCE_COMPAT on AIX for strsignal() prototype, it is
7006         not covered by _ALL_SOURCE.
7007         [c92fd69809d0]
7008
7009 2010-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7010
7011         * plugins/sudoers/iolog.c:
7012         Add a cast to quiet a compiler warning.
7013         [a200e07ee1bc]
7014
7015         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
7016         Quiet a compiler warning.
7017         [c9acfc927cea]
7018
7019         * plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c:
7020         Call set_fqdn() after sudoers has parsed instead of inline as a
7021         callback.
7022         [5f4e5d075f2d]
7023
7024         * WHATSNEW, plugins/sudoers/sudoers.c:
7025         Do not call set_fqdn() until sudoers parses (where is gets run as a
7026         callback).
7027         [09040fca6d40]
7028
7029         * WHATSNEW:
7030         mention the change in tty ticket behavior when there is no tty
7031         [575a1fd98f05]
7032
7033         * plugins/sudoers/check.c:
7034         Do not update tty ticket if there is no tty.
7035         [63f9c33ce6a7]
7036
7037         * doc/LICENSE, doc/license.pod:
7038         Update copyright year
7039         [0722ab5d404b]
7040
7041         * doc/Makefile.in:
7042         Do not rely on BSD make's $>
7043         [936a86398bd9]
7044
7045         * configure, configure.in:
7046         Set timedir to /var/db/sudo for darwin to match Apple sudo's
7047         location
7048         [d5b9b03096f1]
7049
7050 2010-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
7051
7052         * plugins/sudoers/sudoers.h:
7053         Add stub declarations for struct stat and struct timeval
7054         [f6d90551a4fd]
7055
7056         * MANIFEST:
7057         Remove compat/sigaction.c
7058         [d0ed6d9a770e]
7059
7060         * config.h.in, configure, configure.in, plugins/sudoers/defaults.c,
7061         plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
7062         Check for zlib.h in addition to libz.
7063         [6e191b4a6065]
7064
7065         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h,
7066         src/sudo_exec.h:
7067         Move functions and symbols shared between exec.c and exec_pty.c into
7068         sudo_exec.h.
7069         [14ae63403544]
7070
7071         * doc/Makefile.in:
7072         Comment out rules to build .man.in and .cat files unless --with-
7073         devel
7074         [3cf7e5606a85]
7075
7076         * doc/Makefile.in:
7077         Comment out rules to build .man.in and .cat files unless --with-
7078         devel
7079         [d30495b0e29e]
7080
7081         * src/parse_args.c:
7082         Quote any non-alphanumeric characters other than '_' or '-' when
7083         passing a command to be run via the shell for the -s and -i options.
7084         [d633f74fe2d9]
7085
7086         * doc/Makefile.in:
7087         Add back .man suffix
7088         [6e63b60a2739]
7089
7090         * INSTALL, MANIFEST, WHATSNEW, config.h.in, configure, configure.in,
7091         plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
7092         plugins/sudoers/bsm_audit.c, plugins/sudoers/linux_audit.c,
7093         plugins/sudoers/linux_audit.h, plugins/sudoers/logging.h,
7094         src/selinux.c:
7095         Add Linux audit support.
7096         [5a2f445e0bd4]
7097
7098 2010-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
7099
7100         * plugins/sudoers/iolog.c:
7101         Remove an XXX
7102         [a170cbe651d1]
7103
7104         * doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
7105         plugins/sudoers/sudoreplay.c:
7106         Add -f (filter) option to sudoreplay to allow certain streams to be
7107         replayed and others ignored.
7108         [62e51b432ea1]
7109
7110         * src/load_plugins.c, src/parse_args.c, src/sudo.c, src/sudo.h,
7111         src/tgetpass.c:
7112         Fix -A flag when askpass is specified in sudo.conf or if sudo
7113         doesn't need to read a password.
7114         [2e401e4a00e3]
7115
7116         * src/exec.c, src/exec_pty.c, src/parse_args.c, src/sudo.c,
7117         src/sudo.h, src/sudo_edit.c, src/tgetpass.c:
7118         Clean up some XXXs
7119         [689f0b002d3d]
7120
7121         * WHATSNEW, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7122         doc/sudoers.ldap.pod, plugins/sudoers/ldap.c:
7123         Add support for multiple sudoers_base entries in ldap.conf. From
7124         Joachim Henke
7125         [e3e4a3c2bd5b]
7126
7127         * config.h.in, configure, configure.in, plugins/sudoers/logging.c,
7128         src/exec_pty.c:
7129         remove setsid check, we require a POSIX system
7130         [cc73cb9e22c0]
7131
7132         * plugins/sudoers/logging.c, src/exec_pty.c, src/selinux.c,
7133         src/sudo.c, src/tgetpass.c:
7134         Check for dup2() failure.
7135         [5d46d66794f5]
7136
7137         * config.h.in, configure, configure.in:
7138         Remove dup2() check, it is not optional.
7139         [5f1d56de4384]
7140
7141 2010-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
7142
7143         * WHATSNEW:
7144         sync with sudo 1.7.3
7145         [88e5c0bd6d59]
7146
7147         * INSTALL:
7148         SunOS does not ship with an ANSI compiler
7149         [f13c85c67069]
7150
7151         * INSTALL:
7152         Update OS specific notes. Delete some really ancient ones and move
7153         older ones to the end of the list.
7154         [59ce592c4c52]
7155
7156         * README:
7157         Sudo can be downloaded from the web site too Mention "OS dependent
7158         notes" section in INSTALL
7159         [191871538984]
7160
7161         * src/exec_pty.c, src/selinux.c:
7162         Call selinux_restore_tty() as part of cleanup() so it gets called
7163         from error()/errorx()
7164         [bb017da6b6da]
7165
7166         * MANIFEST, doc/PORTING:
7167         Remove obsolete porting guide
7168         [321e35591344]
7169
7170         * plugins/sudoers/interfaces.h, plugins/sudoers/match.c:
7171         Move union sudo_in_addr_un into interfaces.h
7172         [b2c8b19ee094]
7173
7174         * doc/Makefile.in:
7175         Remove useless circular dependencies
7176         [5682181b59cf]
7177
7178         * plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
7179         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
7180         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
7181         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
7182         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
7183         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
7184         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c:
7185         Convert to ANSI C function declarations
7186         [a4f76927d034]
7187
7188         * common/alloc.c, common/fileops.c, common/gettime.c, common/list.c,
7189         common/zero_bytes.c, compat/charclass.h, compat/closefrom.c,
7190         compat/fnmatch.c, compat/glob.c, compat/isblank.c, compat/memrchr.c,
7191         compat/mkstemp.c, compat/nanosleep.c, compat/snprintf.c,
7192         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
7193         compat/strlcpy.c, compat/timespec.h, compat/utime.h,
7194         compat/utimes.c, doc/HISTORY, doc/history.pod, doc/license.pod,
7195         include/alloc.h, include/error.h, include/lbuf.h, include/list.h,
7196         include/missing.h, pathnames.h.in, plugins/sudoers/alias.c,
7197         plugins/sudoers/audit.c, plugins/sudoers/auth/sudo_auth.h,
7198         plugins/sudoers/boottime.c, plugins/sudoers/bsm_audit.c,
7199         plugins/sudoers/bsm_audit.h, plugins/sudoers/defaults.c,
7200         plugins/sudoers/defaults.h, plugins/sudoers/find_path.c,
7201         plugins/sudoers/getspwuid.c, plugins/sudoers/goodpath.c,
7202         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
7203         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
7204         plugins/sudoers/logging.h, plugins/sudoers/match.c,
7205         plugins/sudoers/parse.h, plugins/sudoers/plugin_error.c,
7206         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
7207         plugins/sudoers/redblack.h, plugins/sudoers/sudo_nss.h,
7208         plugins/sudoers/sudoers.h, plugins/sudoers/sudoreplay.c,
7209         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
7210         plugins/sudoers/toke.l, plugins/sudoers/visudo.c, src/aix.c,
7211         src/conversation.c, src/error.c, src/load_plugins.c,
7212         src/parse_args.c, src/sesh.c, src/sudo.h, src/sudo_noexec.c,
7213         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c:
7214         Update copyright year
7215         [26ac7991f7d8]
7216
7217         * doc/Makefile.in:
7218         Fix commented DEVDOCS when not in devel mode.
7219         [e0a97eaf3793]
7220
7221         * plugins/sudoers/match.c:
7222         Quiet a compiler warning.
7223         [b2a17ebd5d38]
7224
7225         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y:
7226         Quiet a compiler warning.
7227         [687843bc593d]
7228
7229         * plugins/sudoers/ldap.c, plugins/sudoers/sudoers.h:
7230         Make all functions in ldap.c static
7231         [b2111e89eeba]
7232
7233         * doc/schema.ActiveDirectory:
7234         Updates from Alain Roy to provide better examples for importing the
7235         schema and to fix problems caused by Windows validating attributes
7236         which have not yet been added before committing the changes.
7237         [69f4c5ccaf89]
7238
7239 2010-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
7240
7241         * configure, configure.in, doc/Makefile.in, doc/sudo.cat,
7242         doc/sudo.man.in, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
7243         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7244         doc/sudoers.man.in, doc/sudoreplay.cat, doc/sudoreplay.man.in,
7245         doc/visudo.cat, doc/visudo.man.in:
7246         Leave rules to build .man.in and .cat files uncommented but only
7247         make them part of the "all" rule in devel mode. Generate .cat files
7248         directly from .man.in instead of .man using default values in
7249         configure.in
7250         [c3054a44f6a5]
7251
7252         * configure, configure.in:
7253         Bump sudo version to 1.8.0b1
7254         [8f79c85135e1]
7255
7256         * configure, configure.in, src/sudo.c, src/sudo_usage.h.in:
7257         Print configure args with verbose version information.
7258         [1ce690660ed2]
7259
7260         * TODO, plugins/sudoers/visudo.c:
7261         Remove tfd from struct sudoersfile; it is not used. Add prev pointer
7262         to struct sudoersfile. Declare list of sudoersfile using TQ_DECLARE.
7263         Use tq_append to append sudoers entries to the tail queue.
7264         [1743f9a286e4]
7265
7266 2010-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
7267
7268         * WHATSNEW:
7269         Describe tty timestamp improvements
7270         [e214e863a313]
7271
7272         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7273         A comment character may not be part of a command line argument
7274         unless it is quoted with a backslash. Fixes parsing of:
7275         testuser ALL=NOPASSWD: /usr/bin/wl #comment foo bar closes bz #441
7276         [ea2e990f85ed]
7277
7278         * doc/sudoers.pod:
7279         Make this read a little bit better when passwd_timeout is 0.
7280         [39d362757f31]
7281
7282         * doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod:
7283         Attempt to handle a default password prompt timeout of zero more
7284         gracefully.
7285         [ea47d43acf5b]
7286
7287         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7288         Do not override value of keepopen global, instead restore it to the
7289         value we pushed onto the stack when popping.
7290         [fe282e5a3402]
7291
7292         * plugins/sudoers/Makefile.in:
7293         Add dependency for utility programs on libreplace and libcommon
7294         [2339aba64928]
7295
7296         * compat/sigaction.c, config.h.in, configure.in, include/compat.h,
7297         plugins/sudoers/logging.c, plugins/sudoers/mon_systrace.c,
7298         src/exec.c, src/exec_pty.c, src/tgetpass.c:
7299         Remove sigaction emulation Use SA_INTERRUPT in sa_flags
7300         [7dd61f1bd8d2]
7301
7302         * MANIFEST, config.h.in, configure, configure.in, include/missing.h:
7303         We don't use getgrouplist() at the moment so there's no need to
7304         provide a compat version.
7305         [1597536fbada]
7306
7307         * TODO:
7308         sync with reality
7309         [9e1a874e7885]
7310
7311         * include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
7312         src/conversation.c, src/sudo.h, src/tgetpass.c:
7313         Fix visiblepw sudoers option; the plugin API portion still needs
7314         documenting
7315         [60b6933ef5e0]
7316
7317         * src/sudo.c:
7318         Print sudo version as well.
7319         [987ed459b459]
7320
7321         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
7322         Use sudo_printf for I/O log version Clarify policy plugin version
7323         string
7324         [5a58b7e8c80b]
7325
7326         * plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
7327         plugins/sudoers/ldap.c, plugins/sudoers/sudoreplay.c:
7328         Silence some compiler warnings
7329         [afb1eba90915]
7330
7331         * src/load_plugins.c, src/tgetpass.c:
7332         Store askpass path in a global instead of uses setenv() which many
7333         systems lack.
7334         [b440bcc0e660]
7335
7336 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7337
7338         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
7339         doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7340         plugins/sudoers/check.c, plugins/sudoers/def_data.c,
7341         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
7342         plugins/sudoers/defaults.c, plugins/sudoers/sudoers.c,
7343         plugins/sudoers/sudoers.h, src/load_plugins.c, src/parse_args.c,
7344         src/tgetpass.c:
7345         Move askpass path specification from sudoers to sudo.conf.
7346         [5507ab867c26]
7347
7348         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
7349         Use a flag bit in struct command_details for selinux instead of a
7350         separate field.
7351         [c59ca4acded9]
7352
7353         * src/exec.c, src/exec_pty.c, src/sudo.c, src/sudo.h:
7354         Implement background mode. If I/O logging we use pipes instead of a
7355         pty.
7356         [c07a4b356cbd]
7357
7358         * compat/mksiglist.c, compat/strsignal.c, include/compat.h,
7359         src/exec.c, src/exec_pty.c, src/tgetpass.c:
7360         Move compat definition of NSIG to compat.h
7361         [ab0385467f25]
7362
7363         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.cat,
7364         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7365         Mention plugins in the sudo manual and add some missing path
7366         substitution in the sudo_plugin manual.
7367         [570f831f47a3]
7368
7369         * src/Makefile.in:
7370         Set _PATH_SUDO_CONF based on $(sysconfdir)
7371         [fde51869cf07]
7372
7373         * common/lbuf.c, common/term.c, config.h.in, configure, configure.in,
7374         src/exec.c, src/exec_pty.c, src/ttysize.c:
7375         Require POSIX termios to build sudo
7376         [9ec6b41f3f95]
7377
7378         * src/tgetpass.c:
7379         Ignore SIGPIPE for "sudo -S"
7380         [7ad27fde0c06]
7381
7382         * src/tgetpass.c:
7383         Fix uninitialized variable in TGP_ECHO case and print a newline if
7384         the user interrupted password input.
7385         [ce19204d8dd4]
7386
7387         * src/tgetpass.c:
7388         Make TGP_ECHO override TGP_MASK and don't try to restore the
7389         terminal if we didn't modify it.
7390         [a7e11abfe7e4]
7391
7392         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7393         include/sudo_plugin.h, plugins/sudoers/auth/sudo_auth.c,
7394         src/conversation.c, src/sudo.h, src/tgetpass.c:
7395         Add SUDO_CONV_PROMPT_MASK define which corresponds to the
7396         "pwfeedback" sudoers option. Do not disable echo if TGP_ECHO is
7397         set.
7398         [e0550590cabe]
7399
7400         * src/exec_pty.c:
7401         Use POSIX tcgetpgrp() instead of BSD TIOCGPGRP ioctl
7402         [762448182fe3]
7403
7404 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7405
7406         * src/exec.c, src/exec_pty.c, src/selinux.c, src/sudo.c, src/sudo.h:
7407         Add selinux_enabled flag into struct command_details and set it in
7408         command_info_to_details(). Return an error from selinux_setup()
7409         instead of exiting. Call selinux_setup() from exec_setup().
7410         [011bea23a5a0]
7411
7412 2010-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
7413
7414         * src/exec_pty.c:
7415         Remove commented out copy of old sudo_execve() function.
7416         [9c5e21380472]
7417
7418 2010-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
7419
7420         * plugins/sudoers/sudoers.c:
7421         Fix setting selinux type on command line.
7422         [814b20a0b3be]
7423
7424         * plugins/sudoers/iolog.c:
7425         In sudoers_io_close(), skip NULL io_fds[] elements.
7426         [4011ff7d4daf]
7427
7428         * include/compat.h:
7429         No longer need NGROUPS_MAX define
7430         [cae4c49d7077]
7431
7432         * compat/nanosleep.c, config.h.in, configure, configure.in,
7433         include/compat.h, plugins/sudoers/check.c, plugins/sudoers/iolog.c,
7434         plugins/sudoers/visudo.c, src/sudo_edit.c:
7435         Replace timerfoo macros with timevalfoo since the timer macros are
7436         known to be busted on some systems.
7437         [4f97d79f2d41]
7438
7439         * src/exec_pty.c:
7440         Remove duplicate call to selinux_setup().
7441         [82bd52764e21]
7442
7443         * plugins/sudoers/auth/pam.c:
7444         If pam_open_session() fails, pass its status to pam_end.
7445         [1d8de4cf8ff3]
7446
7447         * plugins/sudoers/toke.c, plugins/sudoers/toke.l:
7448         If a file in a #includedir has improper permissions or owner just
7449         skip it. This prevents packages that incorrectly install a file
7450         into /etc/sudoers.d from breaking sudo so easily. Syntax errors in
7451         #includedir files still result in a parse error (for now).
7452         [ade99a4549a4]
7453
7454         * WHATSNEW, doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7455         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
7456         plugins/sudoers/def_data.in, plugins/sudoers/iolog.c:
7457         Add use_pty sudoers option to force use of a pty even when not
7458         logging I/O.
7459         [b280a8972a79]
7460
7461         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
7462         Make env_init() void as it never fails.
7463         [d3890e55daa7]
7464
7465         * plugins/sudoers/env.c:
7466         No longer use _NSGetEnviron so don't need crt_externs.h
7467         [9b4e0e139881]
7468
7469         * plugins/sudoers/env.c:
7470         Remove unused VNULL define
7471         [a42cacb263e3]
7472
7473 2010-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
7474
7475         * plugins/sudoers/iolog.c:
7476         Add #define for maximum session id
7477         [9e18c17a28c2]
7478
7479         * MANIFEST, src/Makefile.in, src/exec.c, src/exec_pty.c, src/sudo.h:
7480         Split exec.c into exec.c and exec_pty.c
7481         [d52376327332]
7482
7483         * MANIFEST:
7484         Sync with source file moves.
7485         [4a62c6c9e846]
7486
7487         * src/Makefile.in, src/get_pty.c, src/pty.c:
7488         Rename pty.c -> get_pty.c
7489         [5696a12bd29b]
7490
7491 2010-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
7492
7493         * plugins/sudoers/iolog.c:
7494         Only use I/O input log file if def_log_input is set and output file
7495         if def_log_output is set.
7496         [d866992f1681]
7497
7498 2010-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
7499
7500         * compat/strsignal.c:
7501         Update copyright year
7502         [a96f2593fd4e]
7503
7504         * src/pty.c:
7505         uid -> ttyuid
7506         [c3454d74ebcb]
7507
7508         * plugins/sudoers/sudoers.c:
7509         For sudoedit, make a local copy of editor string si become part of
7510         argv. If no editor environment variable, split def_editor on ':'
7511         since it may be a colon-delimited path.
7512         [2ee298506a6e]
7513
7514         * src/sudo_edit.c:
7515         Remove unneeded endpwent()/endgrent()
7516         [623f6743d101]
7517
7518         * doc/Makefile.in:
7519         Use value of nroff from configure
7520         [b2ce649125ab]
7521
7522         * src/exec.c:
7523         Add missing const to I/O log action function
7524         [d764a3955e04]
7525
7526         * plugins/sudoers/check.c:
7527         Update copyright year and fix whitespace
7528         [e648c35b16be]
7529
7530         * configure, configure.in:
7531         Fix typo
7532         [8e0bdfc47da4]
7533
7534         * plugins/sudoers/iolog.c:
7535         Remove redundant tty signal blocking in log function.
7536         [f17f575dabd4]
7537
7538 2010-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
7539
7540         * plugins/sudoers/iolog.c:
7541         Place static keyword where it belongs
7542         [b01aec7c86b4]
7543
7544         * plugins/sudoers/logging.c:
7545         Always use a printf format string for send_mail()
7546         [13b1ada644c9]
7547
7548         * common/atobool.c, plugins/sudoers/ldap.c:
7549         Extend atobool() so we can use it in the LDAP code.
7550         [73f8e6807044]
7551
7552         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
7553         Sudo now stashes tty ctime for tty_tickets on Solaris too.
7554         [e82df13ad3fd]
7555
7556         * plugins/sudoers/boottime.c:
7557         Fix dummy version of get_boottime()
7558         [01d69c06013b]
7559
7560 2010-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
7561
7562         * plugins/sudoers/check.c:
7563         Enable tty_is_devpts() support for Solaris with the "devices"
7564         filesystem.
7565         [237c6b25fa84]
7566
7567         * src/exec.c:
7568         Unbreak the non-io logging case.
7569         [4822b9f709fb]
7570
7571         * src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
7572         Fix symbol name conflict with sudo_printf.
7573         [0d44eab0a8f6]
7574
7575         * plugins/sudoers/auth/pam.c:
7576         Fix OpenPAM detection for newer versions.
7577         [1b2abed232d8]
7578
7579         * plugins/sudoers/vasgroups.c:
7580         Sync with Quest sudo git repo
7581         [f1d98b3cba02]
7582
7583         * aclocal.m4, configure, configure.in:
7584         HP-UX ld uses +b instead or -R or -rpath Fix typo in libvas check
7585         Add missing template for ENV_DEBUG Adapted from Quest sudo
7586         [695dbd7b28f4]
7587
7588         * README.LDAP:
7589         Fix typos; from Quest Sudo
7590         [4eba9da33b8e]
7591
7592 2010-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
7593
7594         * plugins/sudoers/Makefile.in:
7595         Add back -I$(top_srcdir); we need it for including compat/foo.h
7596         since we cannot rely on "foo.h" being found relative to the source
7597         file when the cwd is different.
7598         [bbf24695f325]
7599
7600         * src/exec.c:
7601         Fix a bug where we could treat EAGAIN as a permanent error. Also set
7602         cstat if perform_io() returns an error.
7603         [200475c4326f]
7604
7605         * common/alloc.c, plugins/sudoers/boottime.c,
7606         plugins/sudoers/sudoers.c:
7607         Add casts to quiet compiler warnings.
7608         [85eb1c336697]
7609
7610         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
7611         plugins/sudoers/visudo.c:
7612         Fix typo in ternary operator usage.
7613         [6492ac1450e2]
7614
7615 2010-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
7616
7617         * INSTALL, configure, configure.in:
7618         Add --enable-warnings and fix typo in SUDO_IO_LOGDIR
7619         [92121d693b30]
7620
7621         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod,
7622         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod:
7623         Update docs to match sudoers I/O logging changes
7624         [18d651989e49]
7625
7626         * INSTALL, WHATSNEW, aclocal.m4, configure, configure.in,
7627         pathnames.h.in, plugins/sudoers/def_data.c,
7628         plugins/sudoers/def_data.h, plugins/sudoers/def_data.in,
7629         plugins/sudoers/defaults.c, plugins/sudoers/gram.c,
7630         plugins/sudoers/gram.h, plugins/sudoers/gram.y,
7631         plugins/sudoers/iolog.c, plugins/sudoers/parse.c,
7632         plugins/sudoers/parse.h, plugins/sudoers/sudoers.c,
7633         plugins/sudoers/sudoreplay.c:
7634         Break sudoers transcript feature up into log_input and log_output.
7635         [db3c1248d2ad]
7636
7637         * plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
7638         plugins/sudoers/visudo.c:
7639         Use setprogname() as needed.
7640         [6beee63a4553]
7641
7642         * plugins/sudoers/iolog.c, plugins/sudoers/sudoreplay.c:
7643         Adapt sudoreplay to iolog changes.
7644         [581f52c05f0f]
7645
7646 2010-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
7647
7648         * plugins/sudoers/iolog.c:
7649         Log all input and output into separate files and store a number on
7650         each timing file line to indicate which file the data is in.
7651         [fb460c5273dd]
7652
7653         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
7654         plugins/sudoers/sudoers.h:
7655         Make sudoers_io functions static to iolog.c
7656         [b2df3cc3eecb]
7657
7658 2010-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
7659
7660         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, src/parse_args.c,
7661         src/sudo_usage.h.in:
7662         Completely remove the -L flag from the sudo front end.
7663         [3d220030b720]
7664
7665         * plugins/sudoers/sudoreplay.c:
7666         Fix EAGAIN handling when writing to stdout.
7667         [4766d77cea49]
7668
7669         * plugins/sudoers/sudoers.c:
7670         Eliminate unused variables
7671         [83bd711e79c4]
7672
7673         * plugins/sudoers/sudoers.c, src/exec.c, src/sudo.c:
7674         Re-enable cleanup functions in sudoers plugin and sudo driver for
7675         error()/errorx().
7676         [43093f937dd8]
7677
7678         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/defaults.c,
7679         plugins/sudoers/interfaces.c, plugins/sudoers/iolog.c,
7680         plugins/sudoers/parse.c, plugins/sudoers/sudoers.c,
7681         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c:
7682         Use sudo_printf to display verbose version information.
7683         [435cc9f8d4a2]
7684
7685         * common/Makefile.in, compat/Makefile.in, plugins/sample/Makefile.in,
7686         plugins/sudoers/Makefile.in, src/Makefile.in:
7687         Minor Makefile cleanup: fix a typo, change the removal order in the
7688         clean targets, and remove a superfluous include path for the sudoers
7689         plugin.
7690         [6e3b2d6b4437]
7691
7692         * plugins/sudoers/env.c:
7693         Handle duplicate variables in the environment. For unsetenv(), keep
7694         looking even after remove the first instance. For sudo_putenv(),
7695         check for and remove dupes after we replace an existing value.
7696         [c1bbb88d0435]
7697
7698 2010-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
7699
7700         * plugins/sudoers/Makefile.in:
7701         Use explicit path to source file instead of $< for files that live
7702         in devdir and top_srcdir.
7703         [358ab7f6cc64]
7704
7705         * plugins/sudoers/Makefile.in:
7706         Add explicit rules to compile gram.c and toke.c for HP-UX Pevent
7707         ending LIBSUDOERS_OBJS with a backslash
7708         [481a5c96d47e]
7709
7710         * plugins/sudoers/Makefile.in, src/Makefile.in:
7711         Link libcommon before libreplace since libcommon may use functions
7712         only present in libreplace.
7713         [1847c496ff5b]
7714
7715         * common/Makefile.in:
7716         Move code common to sudo and the sudoers plugin to a convenience
7717         library, libcommon. Removes the need to make links in the sudoers
7718         plugin dir and reduces re-compilation of duplicate object files.
7719         [4c8986352937]
7720
7721         * Makefile.in, common/alloc.c, common/atobool.c, common/fileops.c,
7722         common/fmt_string.c, common/gettime.c, common/lbuf.c, common/list.c,
7723         common/term.c, common/zero_bytes.c, configure, configure.in,
7724         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
7725         src/Makefile.in, src/alloc.c, src/atobool.c, src/fileops.c,
7726         src/fmt_string.c, src/gettime.c, src/lbuf.c, src/list.c, src/term.c,
7727         src/zero_bytes.c:
7728         Move code common to sudo and the sudoers plugin to a convenience
7729         library, libcommon. Removes the need to make links in the sudoers
7730         plugin dir and reduces re-compilation of duplicate object files.
7731         [1d1d98bd55b9]
7732
7733         * src/exec.c, src/sudo.c, src/sudo.h:
7734         Rename script_execve to sudo_execve and rename script_foo in exec.c
7735         [a35ec80de96a]
7736
7737         * MANIFEST, src/Makefile.in, src/exec.c, src/script.c:
7738         rename script.c exec.c and fix up the MANIFEST file
7739         [36bc3bff9578]
7740
7741         * src/script.c, src/sudo.c, src/sudo.h:
7742         Rename script_setup() to pty_setup() and call from script_execve()
7743         directly.
7744         [899b0fb2a14d]
7745
7746         * configure, configure.in:
7747         bump version to 1.8.0a2
7748         [0b1c1ca9d4e5]
7749
7750         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
7751         Document init_session
7752         [b5324785a406]
7753
7754         * plugins/sudoers/auth/API, plugins/sudoers/auth/sudo_auth.c,
7755         plugins/sudoers/auth/sudo_auth.h:
7756         Clean up the sudoers auth API a bit and update the docs.
7757         [c40fd4cb6e68]
7758
7759         * include/sudo_plugin.h, plugins/sudoers/auth/pam.c,
7760         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
7761         plugins/sudoers/sudoers.h, src/script.c, src/sudo.c:
7762         Add init_session function to struct policy_plugin that gets called
7763         before the uid/gid/etc changes. A struct passwd pointer is passed
7764         in,which may be NULL if the user does not exist in the passwd
7765         database.The sudoers module uses init_session to open the pam
7766         session as needed.
7767         [d71723320ee8]
7768
7769 2010-05-26  Todd C. Miller  <Todd.Miller@courtesan.com>
7770
7771         * plugins/sudoers/auth/pam.c, plugins/sudoers/auth/sudo_auth.c,
7772         plugins/sudoers/auth/sudo_auth.h, plugins/sudoers/set_perms.c,
7773         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
7774         Add open/close session to sudo auth, only used by PAM. This allows
7775         us to open (and close) the PAM session from sudoers.
7776         [2665e2920d0d]
7777
7778         * plugins/sudoers/Makefile.in:
7779         Add explicit rule to build getdate.o for HP-UX make.
7780         [7f049e989956]
7781
7782         * plugins/sudoers/Makefile.in:
7783         Back out most of change 45e406ebdea2. Create dummy .l.c and .y.c
7784         rules as an alternate way to prevent HP-UX make (and others) from
7785         trying to rebuild the parser in non-dev mode.
7786         [f84badad98c5]
7787
7788         * plugins/sudoers/sudoers.c:
7789         Re-enable PATH_MAX check for command
7790         [40d8a50da136]
7791
7792         * Makefile.in:
7793         For distclean, clean the main directory last since the subdirs need
7794         to be able to run libtool to clean things.
7795         [8949a9861634]
7796
7797         * compat/Makefile.in:
7798         Fix generation of mksiglist.h
7799         [b7cdc9b36650]
7800
7801         * src/script.c:
7802         Now that we defer sending cstat until the end of script_child() we
7803         cannot reuse cstat when reading command status from parent.
7804         [25c882643466]
7805
7806 2010-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
7807
7808         * configure, configure.in, doc/sudo.man.in, doc/sudo.man.pl,
7809         doc/sudoers.cat, doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in,
7810         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoreplay.cat,
7811         doc/sudoreplay.man.in, doc/visudo.cat, doc/visudo.man.in:
7812         Use numeric registers to handle conditionals instead of trying to do
7813         it all with text processing.
7814         [478079c3fd4b]
7815
7816         * doc/sudoers.pod:
7817         Document per-command SELinux settings
7818         [13840d566805]
7819
7820         * plugins/sudoers/sudoers.c:
7821         Repair "sudo -l -U username"
7822         [10a0dcdf2ddf]
7823
7824         * plugins/sudoers/sudoers.c:
7825         Set selinux role and type in command details.
7826         [8ae6d35a126d]
7827
7828         * src/script.c, src/selinux.c, src/sudo.h:
7829         Rework SELinux support.
7830         [83279cc94bf2]
7831
7832 2010-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
7833
7834         * src/script.c, src/selinux.c, src/sudo.h:
7835         Make SELinux support compile again. Needs more work to be complete.
7836         [3d3addebcf82]
7837
7838         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
7839         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
7840         src/parse_args.c, src/script.c, src/selinux.c, src/sudo.c,
7841         src/sudo.h:
7842         Bring back closefrom settings.
7843         [b1c6257d4bbb]
7844
7845         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c,
7846         plugins/sudoers/sudoers.h:
7847         If running a command or sudoedit in transcript mode, call
7848         io_nextid() before log_allowed() so the session id is logged.
7849         [c42f3ae40150]
7850
7851         * configure, configure.in:
7852         Use mandoc(1) if nroff(1) is not present.
7853         [daad4bbd04af]
7854
7855         * doc/Makefile.in:
7856         Use the --file argument to config.status instead of setting
7857         CONFIG_FILES in the environment.
7858         [c89411a8bf70]
7859
7860         * plugins/sudoers/Makefile.in:
7861         We cannot conditionally update gram.h or the dependency ordering
7862         gets messed up in devel mode.
7863         [c938953231d9]
7864
7865 2010-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
7866
7867         * Makefile.in, compat/Makefile.in, configure, configure.in,
7868         doc/Makefile.in, include/Makefile.in, plugins/sample/Makefile.in,
7869         plugins/sudoers/Makefile.in, src/Makefile.in:
7870         Substitute @SHELL@ into Makefiles
7871         [36aa6a095335]
7872
7873         * config.sub:
7874         Fix typo
7875         [16d294d26b58]
7876
7877         * config.guess, config.sub, configure, configure.in:
7878         Update to autoconf 2.65
7879         [4fa6ea8caea3]
7880
7881         * Makefile.in:
7882         Fix libtool target (space vs. tabs)
7883         [755cf3892618]
7884
7885         * config.h.in, plugins/sudoers/logging.h, plugins/sudoers/visudo.c:
7886         Remove use of RETSIGTYPE; all modern systems have signal handlers
7887         that return void.
7888         [42b4e3aee668]
7889
7890         * Makefile.in, aclocal.m4, acsite.m4, configure, configure.in,
7891         ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
7892         m4/ltversion.m4, m4/lt~obsolete.m4, plugins/sample/Makefile.in,
7893         plugins/sudoers/Makefile.in, src/Makefile.in:
7894         Update to libtool-2.2.6b. I haven't made any local modifications
7895         this time, which should be OK since we install sudo_noexec.so by
7896         hand now.
7897         [6f79ced593bb]
7898
7899         * compat/Makefile.in, plugins/sample/Makefile.in,
7900         plugins/sudoers/Makefile.in, src/Makefile.in:
7901         Use libtool to clean objects
7902         [1581057d6472]
7903
7904         * include/Makefile.in:
7905         Install sudo_plugin.h as part of "make install" and make other
7906         install targets callable from the top-level Makefile
7907         [aaaeb027d774]
7908
7909         * configure, configure.in:
7910         regen with autoupdate to eliminate AC_TRY_LINK
7911         [5d5541c230f5]
7912
7913         * Makefile.in, compat/Makefile.in, configure, configure.in,
7914         doc/Makefile.in, plugins/sample/Makefile.in,
7915         plugins/sudoers/Makefile.in, src/Makefile.in:
7916         Install sudo_plugin.h as part of "make install" and make other
7917         install targets callable from the top-level Makefile
7918         [b258b8401b1c]
7919
7920         * plugins/sample/sample_plugin.c:
7921         The sample plugin doesn't support being run with no args so return a
7922         usage error in this case.
7923         [473b3cf965be]
7924
7925         * plugins/sudoers/iolog.c:
7926         Set close on exec flag for descriptors used for I/O logging so they
7927         are not present in the command being run.
7928         [2c7e8708df76]
7929
7930         * plugins/sudoers/tsgetgrpw.c:
7931         Set close on exec flag in private versions of setpwent() and
7932         setgrent().
7933         [64fef78cb833]
7934
7935         * src/script.c:
7936         Close the I/O pipes aftering dup2()ing them to std{in,out,err}.
7937         Fixes extra fds being present in the command when it is part of a
7938         pipeline.
7939         [060451617713]
7940
7941         * plugins/sudoers/sudoers.c:
7942         Set user_tty to "unknown" if there is no tty, like sudo 1.7 does (it
7943         is used when logging). Note that user_ttypath will still be NULL if
7944         there is no tty.
7945         [31b69a6ecda7]
7946
7947         * src/script.c, src/sudo.h:
7948         Cosmetic changes: add comments, remove orphaned prototype and
7949         make a global static.
7950         [f7851af0143e]
7951
7952 2010-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
7953
7954         * src/script.c:
7955         Move check for maxfd == -1 to flush_output where it belongs.
7956         [b826a95b4491]
7957
7958         * src/script.c:
7959         Break out of select loop if all the fds we want to select on are -1.
7960         [f5b387024238]
7961
7962         * src/sudo.c:
7963         Avoid possible malloc(0) if plugin returns an empty groups list.
7964         [9765a8fe5ce7]
7965
7966         * src/sudo.c:
7967         Add debugging info when calling plugin close function
7968         [95a273c7ff66]
7969
7970         * src/script.c:
7971         Avoid closing stdin/stdout/stderr when we are piping output.
7972         [330e76423caf]
7973
7974         * src/script.c:
7975         When execve() of the command fails, it is possible to receive
7976         SIGCHLD before we've read the error status from the pipe. Re-order
7977         things such that we send the final status at the very end and prefer
7978         error status over wait status.
7979         [b0dcf825244f]
7980
7981 2010-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
7982
7983         * plugins/sudoers/auth/sudo_auth.c:
7984         Fix compilation for non PAM/BSD auth/AIX auth
7985         [e382b39d2e4f]
7986
7987 2010-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
7988
7989         * src/script.c:
7990         Additional checks to make sure we don't close /dev/tty by mistake.
7991         When flushing, sleep in select as long as we have buffers that need
7992         to be written out.
7993         [8139cbd3dd54]
7994
7995         * src/script.c:
7996         Now that we can use pipes for stdin/stdout/stderr there is no longer
7997         a need to error out when there is no tty. We just need to make sure
7998         we don't try to use the tty fd if it is -1.
7999         [666621635d26]
8000
8001 2010-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8002
8003         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8004         include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8005         plugins/sudoers/iolog.c, plugins/sudoers/sudoers.h, src/sudo.c:
8006         Add argc and argv to I/O logger open function.
8007         [0d7faa007d27]
8008
8009         * doc/sudo_plugin.man.in, doc/sudo_plugin.pod, include/sudo_plugin.h,
8010         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
8011         src/parse_args.c, src/sudo.c, src/sudo_edit.c:
8012         Remove check_sudoedit function pointer in struct sudo_policy.
8013         Instead, sudo will set sudoedit=true in the settings array. The
8014         plugin should check for this and modify argv_out as appropriate in
8015         check_policy.
8016         [c0328e3276b8]
8017
8018 2010-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8019
8020         * plugins/sample/sample_plugin.c, src/sudo.c, src/sudo.h,
8021         src/sudo_edit.c:
8022         If plugin sets "sudoedit=true" in the command info, enable sudoedit
8023         mode even if not invoked as sudoedit. This allows a plugin to
8024         enable sudoedit when the user runs an editor.
8025         [96d67b99e42e]
8026
8027 2010-05-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8028
8029         * plugins/sudoers/Makefile.in:
8030         gram.h must not depend on gram.y if we want to avoid unnecessary
8031         rebuilding of targets dependent on gram.h when gram.y changes.
8032         [9db4b767fdca]
8033
8034         * plugins/sample/sample_plugin.c:
8035         Refactor common bits of check_policy and check_edit
8036         [ac4d366a04cf]
8037
8038         * plugins/sample/sample_plugin.c:
8039         Add sudoedit support
8040         [a1a6cc4c0cef]
8041
8042 2010-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8043
8044         * plugins/sudoers/Makefile.in:
8045         Rely more on VPATH; fixes a dependency issue with the parser.
8046         [45e406ebdea2]
8047
8048         * include/compat.h:
8049         Fix typo introduced in last commit
8050         [3ccb0f853d11]
8051
8052         * include/compat.h:
8053         Emulate seteuid using setreuid() or setresuid() as needed. There are
8054         still a few places that call seteuid() directly.
8055         [36e8efa3a99d]
8056
8057         * src/parse_args.c, src/sudo_edit.c:
8058         Attempt to fix building on systems that only have setuid.
8059         [8e9ba4083318]
8060
8061         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8062         Clarify sudoedit a tad.
8063         [d39dfaa14ade]
8064
8065 2010-05-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8066
8067         * src/sudo_edit.c:
8068         Fix compilation on HP-UX
8069         [f6e47843d139]
8070
8071         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8072         Document sudoedit
8073         [4cbf5196d993]
8074
8075         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo.h, src/sudo_edit.c:
8076         Change how we handle the sudoedit argv. We now require that there
8077         be a "--" in argv to separate the editor and any command line
8078         arguments from the files to be edited.
8079         [20623d549a3c]
8080
8081         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8082         plugins/sudoers/Makefile.in, plugins/sudoers/gettime.c,
8083         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
8084         src/Makefile.in, src/gettime.c, src/parse_args.c, src/sudo.c,
8085         src/sudo.h, src/sudo_edit.c:
8086         Work in progress support for sudoedit. The actual interface used by
8087         the plugin for sudoedit is likely to change.
8088         [c31262a31997]
8089
8090         * plugins/sudoers/find_path.c, plugins/sudoers/sudoers.c,
8091         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c:
8092         Make find_path() a little more generic by not checking def_foo
8093         variables inside it. Instead, pass in ignore_dot as a function
8094         argument.
8095         [9c23101a094d]
8096
8097         * plugins/sudoers/env.c:
8098         Add version of getenv(3) that uses our own environ pointer.
8099         [0e3783e63534]
8100
8101 2010-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8102
8103         * src/script.c:
8104         Avoid a potential race condition if SIGCHLD is received immediately
8105         before we call select().
8106         [99adc5ea7f0a]
8107
8108         * plugins/sudoers/sudoers.c:
8109         Call env_init() before we open the sudoers sources as those may call
8110         our setenv() replacement.
8111         [5f82601f5ab0]
8112
8113         * plugins/sudoers/env.c:
8114         Initialize env_len in env_init()
8115         [7ae02b3029b5]
8116
8117 2010-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8118
8119         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod:
8120         Document time stamp shortcomings under SECURITY NOTES Use "time
8121         stamp" instead of timestamp.
8122         [2b86120815b2]
8123
8124         * doc/Makefile.in:
8125         Make sed substitution of mansectsu and mansectform global.
8126         [94588632dba0]
8127
8128         * plugins/sudoers/check.c:
8129         If the tty lives on a devpts filesystem, stash the ctime in the tty
8130         ticket file, as it is not updated when the tty is written to. This
8131         helps us determine when a tty has been reused without the user
8132         authenticating again with sudo.
8133         [0e62a31bceb0]
8134
8135         * src/tgetpass.c:
8136         Fix pasto in mulitple signal fix and use _NSIG not NSIG since that
8137         is what our compat checks set.
8138         [df50f0a040c9]
8139
8140         * configure, configure.in:
8141         Add check for whether sudo need to link with -ldl to get dlopen().
8142         This is a bit of a hack that will get reworked when libtool is
8143         updated.
8144         [63bdcf579533]
8145
8146         * plugins/sudoers/check.c:
8147         Fix timestamp removal with -k/-K
8148         [6b4639fef973]
8149
8150         * plugins/sudoers/Makefile.in:
8151         audit.c is now private to the sudoers plugin
8152         [1974f342ae0b]
8153
8154         * configure, configure.in:
8155         Link with -lpthread on HP-UX since a plugin may be linked with
8156         -lpthread and dlopen() will fail if the shared object has a
8157         dependency on -lpthread but the main program is not linked with it.
8158         [d42139391263]
8159
8160         * config.h.in, configure, configure.in, plugins/sudoers/set_perms.c:
8161         Add separate test for getresuid() since HP-UX has setresuid() but no
8162         getresuid().
8163         [910fe727a374]
8164
8165         * doc/Makefile.in:
8166         Remove errant backslash
8167         [dd5464257c69]
8168
8169         * src/script.c:
8170         Fix SIGPIPE handling. Now that we use may use pipes for
8171         stdin/stdout we need to pass any SIGPIPE we receive to the running
8172         command.
8173         [3f6b1991f4fd]
8174
8175         * src/script.c:
8176         Also start the command in the background if stdin is not a tty.
8177         [d93bc33a3740]
8178
8179 2010-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8180
8181         * plugins/sudoers/sudoreplay.c, src/script.c, src/sudo.h, src/term.c:
8182         No need to use pseudo-cbreak mode now that we use pipes when stdout
8183         is not a tty. Instead, check whether stdin is a tty and if not,
8184         delay setting the tty to raw mode until the command tries to access
8185         it itself (and receives SIGTTIN or SIGTTOU).
8186         [e68315cf8c6b]
8187
8188         * src/tgetpass.c:
8189         Use an array for signals received instead of a single variable so we
8190         don't lose any when there are multiple different signals.
8191         [2ac726dac864]
8192
8193         * src/tgetpass.c:
8194         Do signal setup after turning off echo, not before. If we are using
8195         a tty but are not the foreground pgrp this will generate SIGTTOU so
8196         we want the default action to be taken (suspend process).
8197         [bebb6209c795]
8198
8199 2010-05-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8200
8201         * src/script.c:
8202         Flush the iobufs on suspend or child exit using the same logic as
8203         the main event loop.
8204         [c627feee1035]
8205
8206         * src/script.c:
8207         Free memory after we are done with it.
8208         [8db9b611b45a]
8209
8210 2010-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8211
8212         * doc/HISTORY:
8213         Quest now sponsors Sudo development
8214         [6cc490083bc7]
8215
8216 2010-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8217
8218         * doc/Makefile.in:
8219         Install sudo_plugin man page.
8220         [c253729790b2]
8221
8222         * src/script.c:
8223         Go back to reseting io_buffer offset and length (and now also the
8224         EOF handling) in the loop we do the FD_SET, not after we drain the
8225         buffer after write() since we don't know what order reads and writes
8226         will occur in.
8227         [5f38bfa8497f]
8228
8229         * MANIFEST:
8230         audit files moved to sudoers plugin directory
8231         [b1ead182428e]
8232
8233         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8234         Document plugin_printf and new logging functions.
8235         [fe9430b60ab5]
8236
8237         * src/script.c:
8238         Add support for logging stdin when it is not a tty. There is still a
8239         bug where "cat | sudo cat" has problems because both cat and sudo
8240         are trying to read from the tty.
8241         [04c9c59fcfba]
8242
8243         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8244         plugins/sudoers/sudoers.c, src/script.c:
8245         Add separate I/O logging functions for tty in/out and
8246         stdin/stdout/stderr. NOTE: stdin logging does not currently work and
8247         is disabled for now.
8248         [a36dfd4ca935]
8249
8250 2010-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8251
8252         * include/sudo_plugin.h, plugins/sample/sample_plugin.c,
8253         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
8254         plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
8255         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8256         src/conversation.c, src/sudo.c, src/sudo_plugin_int.h:
8257         Add pointer to a printf like function to plugin open functon. This
8258         can be used instead of the conversation function to display info and
8259         error messages.
8260         [98734eea8ef1]
8261
8262         * Makefile.in:
8263         Stop if make in a subdir fails
8264         [228bb3ad2dbc]
8265
8266         * src/script.c:
8267         Only set user's tty to blocking mode when doing the final flush.
8268         Flush pipes as well as pty master when the process is done.
8269         [20ff67218666]
8270
8271 2010-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8272
8273         * plugins/sudoers/ldap.c:
8274         Use print_error() when displaying ldap config info in debugging
8275         mode.
8276         [d142e0cacb22]
8277
8278         * compat/Makefile.in, compat/strdup.c, compat/strndup.c:
8279         No longer need strdup() or strndup() replacements.
8280         [df53697174ec]
8281
8282         * plugins/sudoers/logging.c, plugins/sudoers/plugin_error.c,
8283         plugins/sudoers/sudoers.h:
8284         Add print_error() function that uses the conversation function to
8285         print a variable number of error strings and use it in log_error().
8286         [b1fa2861b575]
8287
8288         * src/script.c, src/sudo.h, src/term.c:
8289         Do not need the opost flag to term_copy() now that we use pipes for
8290         stdout/stderr when they are not a tty.
8291         [f42811f70a19]
8292
8293         * src/script.c:
8294         Use pipes to the sudo process if stdout or stderr is not a tty.
8295         Still needs some polishing and a decision as to whether it is
8296         desirable to add additonal entry points for logging
8297         stdout/stderr/stdin when they are not ttys. That would allow a
8298         replay program to keep things separate and to know whether the
8299         terminal needs to be in raw mode at replay time.
8300         [1a945e0ab2da]
8301
8302 2010-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8303
8304         * plugins/sudoers/Makefile.in, plugins/sudoers/audit.c,
8305         plugins/sudoers/bsm_audit.c, plugins/sudoers/bsm_audit.h,
8306         src/audit.c, src/bsm_audit.c, src/bsm_audit.h:
8307         Move audit sources into the sudoers plugin dir; the driver does not
8308         use them.
8309         [50ec36422cd0]
8310
8311         * compat/getline.c, compat/mksiglist.c, compat/nanosleep.c,
8312         compat/strdup.c, compat/strndup.c, plugins/sample/sample_plugin.c,
8313         plugins/sudoers/boottime.c, plugins/sudoers/getdate.c,
8314         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
8315         plugins/sudoers/timestr.c, plugins/sudoers/vasgroups.c, src/alloc.c,
8316         src/atobool.c, src/audit.c, src/lbuf.c, src/list.c, src/sesh.c,
8317         src/term.c, src/ttysize.c:
8318         Use angle brackets when including headers that can only be found
8319         when an -I flag is specified. The files in the compat dir could get
8320         away with double quotes here but I've converted all the source files
8321         to use angle brackets for consistency.
8322         [9e30a8fc6d4b]
8323
8324         * plugins/sudoers/Makefile.in:
8325         Add missing -I$(top_srcdir) to CPPFLAGS so includes in the compat
8326         dir can be found when building outside the source tree.
8327         [1150934b79dd]
8328
8329         * plugins/sudoers/Makefile.in:
8330         Clean up links in distclean
8331         [78595028be8b]
8332
8333         * plugins/sudoers/Makefile.in:
8334         Hack around VPATH semantic differences by symlinking files we need
8335         from ../../src into the current directory and build those. A better
8336         fix would be to either make a .a or .la file with those files in it
8337         or simply use a single, flat, Makefile instead of per-subdirs
8338         Makefiles.
8339         [892c332d3f05]
8340
8341         * plugins/sudoers/Makefile.in, src/Makefile.in, src/fmt_string.c:
8342         fmt_string is used by the sudoers plugin too so do not include
8343         sudo.h (which is not really needed here anyway)
8344         [231c35e3941f]
8345
8346         * compat/Makefile.in, plugins/sample/Makefile.in,
8347         plugins/sudoers/Makefile.in, src/Makefile.in:
8348         Fix building with non-BSD versions of make such as GNU make.
8349         Requires VPATH support, which should be in any non-neolithic make.
8350         [dc174f135919]
8351
8352         * configure, configure.in, plugins/sudoers/Makefile.in,
8353         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/sudoers.c,
8354         src/Makefile.in:
8355         Re-enable bsm audit. Currently auditing is done within the sudoers
8356         plugin itself. If possible, this should really be done in the main
8357         driver but we don't presently have the needed data to do that. This
8358         will be re-evaluated when Linux audit support is added.
8359         [1d05a3236bfe]
8360
8361         * compat/Makefile.in, plugins/sample/Makefile.in,
8362         plugins/sudoers/Makefile.in, src/Makefile.in:
8363         Remove extraneous $srcdir and use more .c.lo and .c.o rules instead
8364         of explicit rules in the dependency.
8365         [88f80efd25f0]
8366
8367         * plugins/sudoers/visudo.c:
8368         Fix mismerge; alias_remove_recursive() now returns int
8369         [6257a4849641]
8370
8371 2010-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
8372
8373         * plugins/sudoers/visudo.c:
8374         Fix a crash when checking a sudoers file that has aliases that
8375         reference themselves. Based on a diff from David Wood.
8376         [545d194484a7]
8377
8378         * src/script.c:
8379         Print signal info after restoring the tty mode, not before.
8380         [a68618e67435]
8381
8382         * src/script.c:
8383         Defer call to alarm() until after we fork the child. Pass correct
8384         pid to terminate_child() If the command exits due to signal, set
8385         alive to false like we do when it exits normally. Add missing
8386         check for errpipe[0] != -1 before using it in FD_ISSET
8387         [22f0a1549391]
8388
8389 2010-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8390
8391         * plugins/sudoers/boottime.c:
8392         Use 1/0 instead of TRUE/FALSE so we don't need sudoers.h
8393         [0e627170c6e8]
8394
8395 2010-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8396
8397         * src/Makefile.in:
8398         Simplify dependencies by using .c.o and .c.lo rules.
8399         [6abcaef5d1ac]
8400
8401         * configure, configure.in, plugins/sudoers/Makefile.in,
8402         src/Makefile.in:
8403         Substitute in @PROGS@ into src/Makefile to add sesh
8404         [cc46d3b6208f]
8405
8406 2010-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
8407
8408         * plugins/sudoers/sudoers.c:
8409         Add back calls to log_denial() if sudoers does not allow the
8410         command.
8411         [9783316207f0]
8412
8413         * plugins/sudoers/sudoers.c:
8414         Pass in correct pwflag for list and validate.
8415         [973dd56d4b81]
8416
8417         * plugins/sudoers/env.c:
8418         Add missing check for NULL in validate_env_vars
8419         [1d6eb6957824]
8420
8421         * src/Makefile.in:
8422         Add sudo_noexec.la to "all" target, otherwise it only gets built at
8423         install time.
8424         [644a9694d2ef]
8425
8426         * plugins/sudoers/sudoers.c:
8427         Only set sudo_user.env_vars if the env_add list is empty.
8428         [fccdf6f0e0e2]
8429
8430         * plugins/sudoers/sudoers.c:
8431         Set sudo_user.env_vars so that environment variables specified on
8432         the command line get logged correctly.
8433         [9b51012c491e]
8434
8435         * plugins/sudoers/env.c, plugins/sudoers/logging.c,
8436         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
8437         Re-enable environment files and setting environment variables on the
8438         command line.
8439         [5662d5645dbd]
8440
8441 2010-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
8442
8443         * plugins/sudoers/check.c:
8444         Fix typo in last commit (ifndef vs ifdef) Make sure we pass ctime()
8445         a pointer to time_t as tv_sec in struct timeval may be long.
8446         [4de0c46e788e]
8447
8448         * plugins/sudoers/check.c:
8449         Don't stash ctime in on-disk tty ticket info for now; on many
8450         (most?) systems the ctime is updated when the tty is written to.
8451         Once I have a better idea of what systems do not update ctime on
8452         ttys (and have a way to test for this) the ctime stash will be
8453         conditionally re-enabled.
8454         [a90eeec0f648]
8455
8456 2010-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8457
8458         * MANIFEST, Makefile.in:
8459         Add back "dist" target, this time using a MANIFEST file
8460         [29277c05499f]
8461
8462         * Makefile.in:
8463         Remove Makefile in distclean target
8464         [83d695f4f450]
8465
8466         * Makefile.in, src/Makefile.in:
8467         Update clean and cleandir targets
8468         [ad7b2afeb9c1]
8469
8470         * include/fileops.h, plugins/sudoers/sudoers.h, src/fileops.c,
8471         src/sudo.h:
8472         Move fileops.c defines and prototypes to filesops.h
8473         [4545e9b6892d]
8474
8475         * plugins/sudoers/check.c:
8476         Lock the tty timestamp when writing. We shouldn't have to lock when
8477         reading since the file is updated via a single write system call.
8478         [0c7276f02696]
8479
8480 2010-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8481
8482         * plugins/sudoers/alias.c, plugins/sudoers/check.c,
8483         plugins/sudoers/defaults.c, plugins/sudoers/find_path.c,
8484         plugins/sudoers/getspwuid.c, plugins/sudoers/gettime.c,
8485         plugins/sudoers/goodpath.c, plugins/sudoers/interfaces.c,
8486         plugins/sudoers/iolog.c, plugins/sudoers/ldap.c,
8487         plugins/sudoers/logging.c, plugins/sudoers/match.c,
8488         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
8489         plugins/sudoers/pwutil.c, plugins/sudoers/redblack.c,
8490         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
8491         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
8492         plugins/sudoers/timestr.c, plugins/sudoers/tsgetgrpw.c,
8493         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
8494         Convert to ANSI C function declarations
8495         [9c45def57cf7]
8496
8497         * plugins/sudoers/sudoers.h:
8498         Remove extraneous bits and classify by source file.
8499         [e8ea9f109ebb]
8500
8501         * include/compat.h:
8502         Add timercmp macro for systems without it
8503         [d3bf87b1d08e]
8504
8505         * plugins/sudoers/boottime.c, plugins/sudoers/check.c,
8506         plugins/sudoers/sudoers.h:
8507         get_boottime() now fills in a timeval struct
8508         [3573c3f44e11]
8509
8510         * plugins/sudoers/check.c:
8511         Store info from stat(2)ing the tty in the tty ticket when tty
8512         tickets are in use. On most systems, this closes the loophole
8513         whereby a user can log out of a tty, log back in and still have the
8514         timestamp be valid.
8515         [53380f9f5242]
8516
8517         * config.h.in, configure.in:
8518         Add timespec2timeval and use it when getting ctime/mtime
8519         [4cb7f7caec2c]
8520
8521 2010-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
8522
8523         * plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/set_perms.c,
8524         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8525         plugins/sudoers/testsudoers.c:
8526         Convert perm setting to push/pop model; still needs some work Use
8527         the stashed runas groups instead of using getgrouplist() Reset perms
8528         to the initial value on error
8529         [09c072ebde8b]
8530
8531         * config.h.in, configure.in:
8532         fix ctim_get and mtim_get macros
8533         [58773dc1e360]
8534
8535         * config.h.in, configure, configure.in, include/compat.h,
8536         plugins/sudoers/check.c, plugins/sudoers/gettime.c,
8537         plugins/sudoers/sudoers.h, plugins/sudoers/visudo.c, src/fileops.c:
8538         Use timeval directly instead of converting to timespec when dealing
8539         with file times and time of day.
8540         [a0ce1ae00a67]
8541
8542         * plugins/sudoers/Makefile.in:
8543         Don't like sudoreplay with libsudoers.la due to a yacc symbol
8544         conflict.
8545         [f1a59cc63a15]
8546
8547 2010-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8548
8549         * configure, configure.in:
8550         Darwin >= 9.x has real setreuid(2)
8551         [7ec942a64275]
8552
8553 2010-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
8554
8555         * plugins/sudoers/env.c, plugins/sudoers/sudoers.h:
8556         Ansify env.c
8557         [f58551bad10a]
8558
8559         * plugins/sudoers/env.c, plugins/sudoers/sudoers.c,
8560         plugins/sudoers/sudoers.h:
8561         Remove remaining references to the environ pointer.
8562         [96faa530816a]
8563
8564 2010-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
8565
8566         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
8567         Don't change the environ directly in the sudoers plugin
8568         [6db48ed3f7e0]
8569
8570 2010-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
8571
8572         * plugins/sudoers/sudoers.c:
8573         Fix typo
8574         [4aa452b07f8f]
8575
8576         * plugins/sudoers/alias.c:
8577         Fix use after free in error message when a duplicate alias exists.
8578         [ce1d2812ee34]
8579
8580 2010-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
8581
8582         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8583         src/parse_args.c:
8584         Add a "noninteractive" boolean to the settings passed in to the
8585         plugin's open function that is set when the user specifies the -n
8586         flag.
8587         [68f8d9d6d4d0]
8588
8589         * config.h.in, configure, configure.in, plugins/sudoers/env.c:
8590         Add workaround for the lack of the environ pointer on Mac OS X in
8591         dlopen()ed modules. Use of environ in the sudoers plugin should
8592         ultimately be removed but this will do for the moment.
8593         [80c61647434f]
8594
8595         * plugins/sudoers/visudo.c:
8596         Set errorfile to the sudoers path if we set parse_error manually.
8597         This prevents a NULL dereference in printf() when checking a sudoers
8598         file in strict mode when alias errors are present.
8599         [45e249ca99f7]
8600
8601         * plugins/sudoers/sudoers.c:
8602         Main sudo no longer print "unable to execute" on exec failure so do
8603         it here.
8604         [50aaf62b43b5]
8605
8606 2010-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
8607
8608         * src/script.c:
8609         Use a pipe to pass back errno to the parent if execve() fails. If we
8610         get an error in script_child(), kill the command and exit.
8611         [dc3bf870f91b]
8612
8613         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8614         src/parse_args.c, src/sudo.c:
8615         Handle plugin's open function returning -2 (usage error).
8616         [aadf900c1de8]
8617
8618         * src/script.c:
8619         If execve() fails, leave it to the plugin to print an error string.
8620         [e25748f2d5b9]
8621
8622         * src/script.c:
8623         If execve fails in logging mode, pass the errno directly to the
8624         grandparent on the backchannel and exit. The immediate parent will
8625         get SIGCHLD and try to report that status but its parent will no
8626         longer be listening. It would probably be cleaner to pass this over
8627         a pipe in script_child().
8628         [cb122acc81a8]
8629
8630         * plugins/sudoers/sudoers.c:
8631         Don't override rval with results of check_user() unless it failed.
8632         [46fb7e87ac7d]
8633
8634 2010-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
8635
8636         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8637         Fix typo
8638         [ccd0b693f3da]
8639
8640         * src/parse_args.c:
8641         NULL-terminate env_add
8642         [2c534368a0c3]
8643
8644 2010-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
8645
8646         * src/sudo.c:
8647         Call the I/O log open function before the I/O version function.
8648         [e88bf898990b]
8649
8650         * plugins/sudoers/iolog.c:
8651         Remove io_conv and just use sudo_conv
8652         [a280052468eb]
8653
8654         * plugins/sudoers/set_perms.c:
8655         Fix set/restore perms for systems w/o setresuid
8656         [4160517f6666]
8657
8658 2010-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
8659
8660         * plugins/sudoers/check.c, plugins/sudoers/logging.c,
8661         plugins/sudoers/parse.c, plugins/sudoers/set_perms.c,
8662         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h:
8663         Primitive set/restore permissions. Will be replaced by a push/pop
8664         model.
8665         [aae102290866]
8666
8667         * src/script.c:
8668         Only need to take action on SIGCHLD in parent if no I/O logger. If
8669         there is an I/O logger we will receive ECONNRESET or EPIPE when we
8670         try to read from the socketpair.
8671         [e1e4560401f6]
8672
8673 2010-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
8674
8675         * compat/memrchr.c, doc/sudoers.cat, doc/sudoers.man.in,
8676         doc/sudoers.pod, plugins/sudoers/find_path.c:
8677         Merge fb4d571495fa from the 1.7 branch to trunk.
8678         [c8fb424ad4d2]
8679
8680 2010-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
8681
8682         * src/script.c:
8683         Don't set SA_RESTART when registering SIGALRM handler. Do set
8684         SA_RESTART when registering SIGWINCH handler.
8685         [173472b76525]
8686
8687         * doc/Makefile.in:
8688         Add dev targets for *.man.in and *.cat that don't specfify the
8689         $(srcdir) prefix.
8690         [b62f425da2e4]
8691
8692         * src/script.c:
8693         If log_input or log_output returns false, terminate the command.
8694         [074f4c0c34a0]
8695
8696         * src/script.c:
8697         Better signal handling. Instead of using a single variable to store
8698         the received signal, use an array so we can't lose a signal when
8699         multiple are sent. Fix process termination by SIGALRM in non-I/O
8700         logger mode. Fix relaying terminal signals to the child in non-I/O
8701         logger mode.
8702         [7a4723aca99d]
8703
8704         * src/script.c:
8705         Fix a race between when we get the child pid in the parent and when
8706         the child process exits. The problem exhibited as a hang after a
8707         short-lived process, e.g. "sudo id" when no IO logger was enabled.
8708         [80bcc0aca70b]
8709
8710 2010-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
8711
8712         * doc/sudoers.cat, doc/sudoers.man.in, doc/sudoers.pod:
8713         Add a note about the security implications of the fast_glob option.
8714         [c37a92ab7c93]
8715
8716 2010-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
8717
8718         * config.h.in, configure, configure.in:
8719         Fix up some AC_DEFINE descriptions and regen config.h.in
8720         [f4655adc0db3]
8721
8722 2010-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
8723
8724         * include/missing.h:
8725         No longer check for strdup or strndup for LIBOBJ replacement.
8726         [fdc764ee8109]
8727
8728         * src/script.c:
8729         Avoid installing signal handlers that are io-logger specific. Fixes
8730         job control when no io logger is enabled.
8731         [0853dd0906d4]
8732
8733         * doc/Makefile.in:
8734         Only regen man pages from pod when configured with --with-devel
8735         [ab1995f8103d]
8736
8737 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8738
8739         * Makefile, Makefile.in, configure, configure.in:
8740         Top-level Makefile.in. Nothing is currently substituted but this is
8741         needed for separate build dirs.
8742         [e80873cbd201]
8743
8744         * compat/Makefile.in, doc/Makefile.in, plugins/sample/Makefile.in,
8745         plugins/sudoers/Makefile.in, src/Makefile.in:
8746         Fix out-of-tree builds
8747         [59a35bef07b8]
8748
8749         * Merge
8750         [386b848047e9]
8751
8752         * doc/Makefile.in:
8753         We always install sudoreplay in 1.8
8754         [ce52ba6617c9]
8755
8756 2010-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
8757
8758         * compat/siglist.in:
8759         SIGPOLL is sometimes the same as SIGIO (like on HP-UX)
8760         [6d69e1b05faf]
8761
8762 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8763
8764         * configure, configure.in:
8765         No need to provide strdup() or strndup(), sudo uses estrdup() and
8766         estrndup()
8767         [57ec23b72958]
8768
8769 2010-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
8770
8771         * plugins/sudoers/iolog.c, plugins/sudoers/sudoers.c:
8772         Free str after using it in the version method. Use sudo_conv, not
8773         io_conv since we don't have the IO conversation function pointer in
8774         the I/O version method anymore now that io_open is delayed.
8775         [f2ed132adeb0]
8776
8777 2010-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
8778
8779         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
8780         compat/siglist.in:
8781         Add license to mksiglist.c and note that the bits from pdksh are
8782         public domain
8783         [d8121a2467e8]
8784
8785         * compat/Makefile.in:
8786         Fix LIBOBJDIR vs. srcdir wrt the siglist bits
8787         [164160148421]
8788
8789         * plugins/sudoers/Makefile.in:
8790         Add sudoreplay testsudoers and visudo to clean target
8791         [138a17e51c0c]
8792
8793         * compat/Makefile.in, compat/mksiglist.c, compat/mksiglist.h,
8794         compat/siglist.in, compat/strsignal.c, configure, configure.in,
8795         include/missing.h, src/script.c:
8796         Create our own sys_siglist for systems without it for use by
8797         strsignal()
8798         [2e5da011ebc3]
8799
8800         * compat/Makefile.in:
8801         Remove duplicate $(LIBOBJDIR)
8802         [adf9abc9432f]
8803
8804 2010-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
8805
8806         * plugins/sudoers/sudoers.c, src/sudo.c, src/sudo_edit.c:
8807         Main sudo should not block signals; the plugin should do this in
8808         check_policy.
8809         [3f3736a7c5ed]
8810
8811 2010-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
8812
8813         * src/script.c:
8814         Fix a sizeof(ptr) vs. sizeof(*ptr)
8815         [aa1bcf5afcce]
8816
8817         * src/script.c:
8818         Unlike most operating systems, HP-UX select() is not interrupted by
8819         SIGCHLD when the signal is registered with SA_RESTART. If we clear
8820         SA_RESTART when calling sigaction() for SIGCHLD we get the expected
8821         behavior and the code in the select() loops already handles EINTR
8822         correctly.
8823         [9eba0115e35a]
8824
8825         * compat/getprogname.c:
8826         progname should be const
8827         [130228f062b7]
8828
8829         * plugins/sudoers/Makefile.in:
8830         Move --tag=disable-static to when we link sudoers.la, not when we
8831         install.
8832         [ceb5e6c3b78b]
8833
8834         * src/load_plugins.c:
8835         Load the sudoers I/O plugin by default too now that it is hooked up.
8836         [ea38befd0742]
8837
8838 2010-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
8839
8840         * src/pty.c:
8841         It looks like AIX doesn't need to push STREAMS modules for ptys.
8842         [22da618ba0a1]
8843
8844 2010-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
8845
8846         * src/parse_args.c, src/sudo.c:
8847         Delay calling the I/O plugin open function until the policy plugin
8848         returns success.
8849         [f3297c325b48]
8850
8851 2010-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
8852
8853         * plugins/sudoers/Makefile.in, plugins/sudoers/iolog.c,
8854         plugins/sudoers/set_perms.c, plugins/sudoers/sudoers.c,
8855         plugins/sudoers/sudoers.h:
8856         Add back io logging (transcript) support. Currently, the open
8857         function runs too early and it is not possible to use the io module
8858         independently of the policy module.
8859         [9bd932f66226]
8860
8861         * plugins/sudoers/set_perms.c:
8862         Comment out dead code; will be removed when set_perms is rewritten.
8863         [af7a995284f8]
8864
8865 2010-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
8866
8867         * plugins/sudoers/sudoers.c:
8868         Fix off by one error when allocating user_groups.
8869         [6281fcf9c3bb]
8870
8871 2010-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
8872
8873         * configure, configure.in, plugins/sudoers/Makefile.in:
8874         Add REPLAY_LIBS for sudoreplay and add -lrt to it on Solaris.
8875         [fbce3e9eda3a]
8876
8877         * plugins/sudoers/sudoers.c:
8878         Fix typo in preserve groups case
8879         [1fd72024fb5a]
8880
8881         * plugins/sudoers/sudoers.c:
8882         In command_info it is "runas_groups" not "groups".
8883         [5c64dce4f285]
8884
8885         * src/sudo.c:
8886         Fix iteration over runas_groups list.
8887         [b3c45a0cd643]
8888
8889         * configure, configure.in, plugins/sudoers/env.c,
8890         plugins/sudoers/match.c, src/script.c:
8891         Merge 5177a284b9ff 549f8f7c2463 88f3181692fe from 1.7 branch.
8892         [a8108a0776c2]
8893
8894         * compat/getgrouplist.c:
8895         getgrouplist(3) for those without it
8896         [4ab4d21e3b16]
8897
8898         * plugins/sudoers/sudoers.c:
8899         Set preserve_groups or groups list in command_info
8900         [1266119ad654]
8901
8902         * src/sudo.c:
8903         Fix setting of groups list
8904         [e75315e40bd4]
8905
8906         * config.h.in, configure, configure.in, include/compat.h,
8907         include/missing.h:
8908         Add checks for getgrset and getgrouplist and use replacement
8909         getgrouplist if the system doesn't support it.
8910         [a62b8ba50863]
8911
8912         * src/parse_args.c:
8913         Pass in preserve_groups when the -P flag is specified as per the
8914         design
8915         [7420c5d15474]
8916
8917         * plugins/sudoers/sudoers.c:
8918         Check preserve_groups and ignore_ticket args with atobool instead of
8919         assuming they are true if present.
8920         [71c905702697]
8921
8922 2010-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
8923
8924         * plugins/sudoers/Makefile.in, plugins/sudoers/error.c,
8925         plugins/sudoers/plugin_error.c:
8926         Rename plugin-specific error.c to plugin_error.c Wire up visudo,
8927         sudoreplay and testsudoers in the build
8928         [9d581d5fa4d4]
8929
8930         * src/Makefile.in, src/term.c:
8931         term.c does not needto include sudo.h
8932         [f6683cdcd2dd]
8933
8934         * TODO, doc/sudo_plugin.cat, doc/sudo_plugin.man.in,
8935         doc/sudo_plugin.pod:
8936         Document the -2 return in the check_policy section too
8937         [e9cb4c34bbcf]
8938
8939         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod,
8940         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
8941         src/parse_args.c, src/sudo.c, src/sudo.h:
8942         Fix the -s and -i flags and add support for the "implied_shell"
8943         option. If the user does not specify a command, sudo will now pass
8944         in the path to the user's shell and set impied_shell=true. The
8945         plugin can them either check the command normally or return -2 to
8946         cause sudo to print a usage message and exit.
8947         [bf889c38f229]
8948
8949 2010-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
8950
8951         * config.h.in, configure, configure.in, src/load_plugins.c:
8952         Bring back SUDOERS_PLUGIN but add .dylib -> .so conversion for
8953         Darwin where libraries end in .dylib but modules end in .so
8954         [2c56aaa38e21]
8955
8956         * plugins/sudoers/parse.c:
8957         Better prefix determination now that we can't rely on len==0 to tell
8958         the beginning on an entry.
8959         [622bf18179e9]
8960
8961         * plugins/sudoers/ldap.c:
8962         display_bound_defaults() stub should return 0, not 1 since it is a
8963         count, not a boolean.
8964         [0327a6c3d55d]
8965
8966         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
8967         Document progname in settings
8968         [42031d56a2e3]
8969
8970         * compat/getprogname.c, include/compat.h,
8971         plugins/sample/sample_plugin.c, plugins/sudoers/sudoers.c,
8972         src/parse_args.c, src/sudo.c:
8973         Rewrite compat/getprogname.c and add setprogname(). The progname is
8974         now passed to the plugin via the settings array.
8975         [25d8663e6006]
8976
8977         * configure, configure.in, plugins/sudoers/Makefile.in:
8978         Fix --with-ldap
8979         [b64b633f426d]
8980
8981         * plugins/sudoers/sudo_nss.c:
8982         Add missing whitespace for Runas and Command-specific defaults
8983         [65f4ddf5545e]
8984
8985         * plugins/sudoers/ldap.c, plugins/sudoers/parse.c,
8986         plugins/sudoers/sudo_nss.c:
8987         Use embedded newlines in lbuf instead of multiple calls to
8988         lbuf_print.
8989         [eed3af9cc3e1]
8990
8991         * src/lbuf.c:
8992         Add support for embedded newlines.
8993         [e11f79b18deb]
8994
8995 2010-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
8996
8997         * compat/getprogname.c:
8998         If system doesn't support getprogname or __programe and we are
8999         building a shared object don't bother with Argc/Argv, just return
9000         "sudo"
9001         [aebde9062be7]
9002
9003         * config.h.in, configure, configure.in, src/load_plugins.c:
9004         Hard-code sudoers.so instead of using SUDOERS_PLUGIN since libtool
9005         appears to always install a shared object with the .so suffix.
9006         [f9bbd0c0e9d3]
9007
9008         * compat/Makefile.in, configure, configure.in,
9009         plugins/sample/Makefile.in, plugins/sudoers/Makefile.in,
9010         src/Makefile.in:
9011         Play more nicely with libtool and let it build libreplace (was
9012         libmissing) for us.
9013         [a4c6ebb2495c]
9014
9015         * include/missing.h:
9016         Include stdarg.h for va_list rather than requiring all consumers of
9017         missing.h to include stdarg.h themselves.
9018         [37382df948de]
9019
9020         * include/lbuf.h, plugins/sudoers/auth/sudo_auth.c,
9021         plugins/sudoers/check.c, plugins/sudoers/sudo_nss.c,
9022         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
9023         src/parse_args.c:
9024         Pass in output function to lbuf_init() instead of writing to stdout.
9025         A side effect is that the usage info can now go to stderr as it
9026         should.
9027         [6d261261a072]
9028
9029 2010-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9030
9031         * include/lbuf.h, plugins/sudoers/sudo_nss.c,
9032         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h, src/lbuf.c,
9033         src/parse_args.c, src/sudo.c:
9034         Use number of tty columns that is passed in user_info instead of
9035         getting it directly in the lbuf code.
9036         [8a16635c2638]
9037
9038         * plugins/sudoers/alias.c, plugins/sudoers/auth/dce.c,
9039         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9040         plugins/sudoers/auth/sia.c, plugins/sudoers/auth/sudo_auth.h,
9041         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
9042         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
9043         plugins/sudoers/getdate.c, plugins/sudoers/getdate.y,
9044         plugins/sudoers/gram.c, plugins/sudoers/gram.y,
9045         plugins/sudoers/interfaces.h, plugins/sudoers/logging.c,
9046         plugins/sudoers/logging.h, plugins/sudoers/match.c,
9047         plugins/sudoers/mon_systrace.h, plugins/sudoers/parse.c,
9048         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
9049         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
9050         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.h,
9051         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9052         plugins/sudoers/sudoreplay.c, plugins/sudoers/testsudoers.c,
9053         plugins/sudoers/timestr.c, plugins/sudoers/toke.c,
9054         plugins/sudoers/toke.l, plugins/sudoers/tsgetgrpw.c,
9055         plugins/sudoers/visudo.c:
9056         Kill __P in sudoers
9057         [63601e6cb171]
9058
9059         * config.h.in, configure, configure.in, src/load_plugins.c:
9060         Set the sudoers plugin name in configure so we get the extension
9061         right.
9062         [edad89924cd1]
9063
9064         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9065         Document lines/cols in user_info
9066         [a808872394f3]
9067
9068         * src/Makefile.in, src/sudo.c, src/sudo.h, src/ttysize.c:
9069         Add tty size to user info
9070         [23f3d27e77a7]
9071
9072         * src/script.c:
9073         Use TIOCGSIZE/TIOCSSIZE instead of TIOCGWINSZ/TIOCSWINSZ
9074         [a2208dd09051]
9075
9076 2010-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
9077
9078         * plugins/sudoers/sudoers.c:
9079         Kill dead code Add missing sigsetjmp in sudo_policy_invalidate Error
9080         out if we fail to lookup the user's name that is passed in
9081         [e4e3728ed482]
9082
9083         * plugins/sudoers/error.c:
9084         Pass the error value back via siglongjmp.
9085         [667b8ad575ce]
9086
9087         * plugins/sudoers/check.c:
9088         Use conversation function for lecture.
9089         [1ab4719f509b]
9090
9091         * plugins/sudoers/check.c:
9092         Don't update ticket file if verify_user returns FALSE.
9093         [2bbc46a39a2b]
9094
9095 2010-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9096
9097         * plugins/sudoers/sudoers.c, src/sudo.c:
9098         Wire up invalidate and validate methods for sudoers
9099         [c0630c7bca47]
9100
9101         * plugins/sudoers/check.c, plugins/sudoers/sudoers.c,
9102         plugins/sudoers/sudoers.h:
9103         Add support for -k flag with a command.
9104         [edad239b098b]
9105
9106         * src/parse_args.c:
9107         Allow -k to be specified with a command.
9108         [43a45add9974]
9109
9110         * plugins/sudoers/sudoers.c:
9111         Wire up policy_list
9112         [27cc35699eca]
9113
9114         * plugins/sudoers/error.c:
9115         Add newline at the end of message and space after the colon in
9116         warning message
9117         [5a591aa8e744]
9118
9119         * plugins/sudoers/auth/sudo_auth.c:
9120         Add missing newline after pass password warning
9121         [337dba3870a7]
9122
9123         * plugins/sudoers/sudoers.c:
9124         Set user_groups and user_ngroups based on user_info
9125         [61bee85128c8]
9126
9127         * plugins/sudoers/error.c:
9128         Make this compile
9129         [7041c441e1c8]
9130
9131         * plugins/sudoers/error.c, plugins/sudoers/sudoers.c:
9132         Make _warning in error.c use the conversation function and remove
9133         commented out warning/warningx in sudoers.c.
9134         [7c9b09024b63]
9135
9136         * plugins/sudoers/logging.c:
9137         Use siglongjmp() in log_error for fatal errors
9138         [b50e26f1c73f]
9139
9140         * plugins/sample/Makefile.in, plugins/sudoers/Makefile.in:
9141         Quiet a libtool warning
9142         [b2331fb006bc]
9143
9144         * Makefile:
9145         Build sudoers plugin
9146         [5cdf06e66978]
9147
9148         * plugins/sudoers/gram.c, plugins/sudoers/gram.y:
9149         Use warningx in yyerror() so the conversation function gets used
9150         when built as part of sudoers.
9151         [85f964215eef]
9152
9153 2010-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9154
9155         * plugins/sudoers/auth/pam.c:
9156         Rename sudo_conv to conversation to avoid a namespace conflict.
9157         [1ad359d36be9]
9158
9159         * plugins/sudoers/Makefile.in, plugins/sudoers/alias.c,
9160         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
9161         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
9162         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
9163         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9164         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
9165         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
9166         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
9167         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
9168         plugins/sudoers/check.c, plugins/sudoers/defaults.c,
9169         plugins/sudoers/env.c, plugins/sudoers/error.c,
9170         plugins/sudoers/find_path.c, plugins/sudoers/getspwuid.c,
9171         plugins/sudoers/goodpath.c, plugins/sudoers/gram.c,
9172         plugins/sudoers/gram.y, plugins/sudoers/interfaces.c,
9173         plugins/sudoers/ldap.c, plugins/sudoers/logging.c,
9174         plugins/sudoers/match.c, plugins/sudoers/mon_systrace.c,
9175         plugins/sudoers/parse.c, plugins/sudoers/pwutil.c,
9176         plugins/sudoers/redblack.c, plugins/sudoers/set_perms.c,
9177         plugins/sudoers/sudo_nss.c, plugins/sudoers/sudoers.c,
9178         plugins/sudoers/sudoers.h, plugins/sudoers/testsudoers.c,
9179         plugins/sudoers/toke.c, plugins/sudoers/tsgetgrpw.c,
9180         plugins/sudoers/vasgroups.c, plugins/sudoers/visudo.c:
9181         Initial bits of sudoers plugin; still needs work.
9182         [af2a2c59a952]
9183
9184         * config.h.in:
9185         Add HAVE_STRDUP and HAVE_STRNDUP
9186         [50a3c0dd510f]
9187
9188         * compat/Makefile.in, configure, configure.in:
9189         Build libmissing in two flavors (one PIC one non-PIC) and link with
9190         the appropriate one.
9191         [b62f411a4c18]
9192
9193         * Makefile, compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
9194         compat/utimes.c, plugins/sample/Makefile.in, src/Makefile.in:
9195         Build libmissing in two flavors (one PIC one non-PIC) and link with
9196         the appropriate one.
9197         [e1e04972b5fe]
9198
9199 2010-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9200
9201         * include/missing.h:
9202         Add strdup and strndup and fix strsignal
9203         [c159babe2896]
9204
9205 2010-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9206
9207         * compat/strdup.c, compat/strndup.c, configure, configure.in,
9208         plugins/sample/Makefile.in, src/Makefile.in:
9209         Add strdup and strndup to compat
9210         [25c9fd399a4d]
9211
9212         * plugins/sample/sample_plugin.c:
9213         Need to include compat.h before missing.h
9214         [c94f7aad380f]
9215
9216         * compat/strsignal.c:
9217         Must check HAVE_DECL_SYS_SIGLIST == 1 (not just if defined) since if
9218         it doesn't exist configure will set it to 0.
9219         [384580566389]
9220
9221         * compat/glob.c:
9222         Fix botched ANSI C coversion of globexp2()
9223         [4a344b8cbe49]
9224
9225         * configure, configure.in:
9226         Remove redundant getgroups check
9227         [0b16ec210c81]
9228
9229         * configure, configure.in, src/lbuf.c, src/script.c, src/term.c:
9230         Require either termios or termio, no more sgtty.
9231         [9b2fa2f17a1c]
9232
9233         * compat/strsignal.c, config.h.in, configure, configure.in:
9234         Change the sys_siglist check to use AC_CHECK_DECLS and also check
9235         for _sys_siglist and__sys_siglist
9236         [2e078fed2408]
9237
9238 2010-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
9239
9240         * configure, configure.in, src/Makefile.in:
9241         Change SUDO_LDFLAGS to SUDOERS_LDFLAGS and add SUDOERS_OBJS. We now
9242         use SUDO_OBJS for the main driver as part of OBJS.
9243         [9ae4a80a5ade]
9244
9245         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9246         Mention in the conversation function section that a newline is not
9247         implicit.
9248         [04a233b6c491]
9249
9250         * include/compat.h:
9251         Add definition of WCOREDUMP for systems without it. This is known
9252         to work on AIX and SunOS 4, but may be incorrect on other systems
9253         that lack WCOREDUMP.
9254         [c85b3ce6b77d]
9255
9256 2010-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9257
9258         * plugins/sample/sample_plugin.c, src/conversation.c:
9259         conversation function no longer puts a newline at the end of info or
9260         error messages.
9261         [c534cae1ac4a]
9262
9263 2010-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9264
9265         * src/script.c:
9266         Use parent process group id instead of parent process id when
9267         checking foreground status and suspending parent. Fixes an issue
9268         when running commands under /usr/bin/time and others.
9269         [564f528c3bb7]
9270
9271 2010-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9272
9273         * aclocal.m4:
9274         transcript option is now --with not --enable
9275         [0646fac4cf93]
9276
9277         * plugins/sample/sample_plugin.c:
9278         Add support to -u and -g flags Check fmt_string retval Add timeout
9279         for debugging purposes
9280         [cfefa4fa60b5]
9281
9282         * src/script.c, src/sudo.c:
9283         Wire up SIGALRM handler Set close on exec flag for child side of the
9284         socketpair Fix signal handling when not doing I/O logging
9285         [379581ec7272]
9286
9287         * src/sudo.c:
9288         g/c unused SIGCHLD handler
9289         [0afa03912dce]
9290
9291         * src/fmt_string.c, src/parse_args.c, src/sudo.c:
9292         Don't use emalloc() in fmt_string(); we want to be able to use it
9293         from a plugin.
9294         [ade64d368147]
9295
9296         * include/list.h:
9297         tq_remove not list_remove
9298         [0e0e1fd5c31c]
9299
9300         * configure, configure.in:
9301         AUTH_OBJS should contain .lo files not .o files.
9302         [c64c82c9d5a2]
9303
9304 2010-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
9305
9306         * src/parse_args.c:
9307         Simplify conversion of command line args to name=value pairs.
9308         [75ab127c6a94]
9309
9310         * plugins/sample/sample_plugin.c:
9311         Handle NULL reply from conversation function
9312         [6ce09b6cb204]
9313
9314         * compat/getline.c:
9315         Don't depend on emalloc/erealloc
9316         [73df09e2109f]
9317
9318         * plugins/sample/Makefile.in:
9319         Use $(OBJS) instead of sample_plugin.lo
9320         [2d995db9aa99]
9321
9322         * plugins/sample/sample_plugin.c:
9323         runas_user is in settings not user_info
9324         [7ee12068bc57]
9325
9326         * src/parse_args.c:
9327         Fix a mismatch between sudo_settings and settings_pairs that causes
9328         some settings to get the wrong values.
9329         [b1bc6d81a65f]
9330
9331 2010-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9332
9333         * src/Makefile.in, src/aix.c, src/alloc.c, src/atobool.c, src/error.c,
9334         src/fileops.c, src/lbuf.c, src/list.c, src/pty.c, src/sesh.c,
9335         src/sudo.c, src/sudo_edit.c, src/term.c, src/zero_bytes.c:
9336         Convert to ANSI C
9337         [d03b6e4a3b75]
9338
9339         * src/load_plugins.c:
9340         Fix strlcpy() return value check.
9341         [7cd66999a374]
9342
9343         * INSTALL, configure, configure.in:
9344         No longer need to substitute in script.o and pty.o; I/O logging
9345         support is always built.
9346         [45250024c5dc]
9347
9348 2010-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
9349
9350         * src/script.c:
9351         Add fallback to /bin/sh when execve() fails with ENOEXEC.
9352         [7684a15a1352]
9353
9354         * include/alloc.h, src/alloc.c:
9355         Add estrndup()
9356         [47621c83bed9]
9357
9358 2010-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
9359
9360         * src/script.c, src/sudo.c:
9361         Refactor script_execve() a bit so that it can be used in non-script
9362         mode. Needs more cleanup.
9363         [f09e022d547c]
9364
9365         * src/sudo.c:
9366         Ignore empty entries in command_info list
9367         [1eea9a8de21c]
9368
9369         * include/list.h, src/list.c:
9370         Add tq_remove
9371         [40908a617cb2]
9372
9373         * src/conversation.c:
9374         Pass timeout to tgetpass()
9375         [9e66c918b771]
9376
9377         * Makefile:
9378         Add ChangeLog target
9379         [da4a39150838]
9380
9381         * README, WHATSNEW:
9382         Bump version and update things slightly for sudo 1.8.0
9383         [4b73cc45e2d4]
9384
9385         * configure, configure.in:
9386         Sudo now requires an ANSI/ISO C compiler
9387         [1e51f72e6964]
9388
9389         * src/alloc.c, src/audit.c, src/error.c, src/lbuf.c,
9390         src/sudo_noexec.c:
9391         Convert to ANSI C
9392         [5cbd315dbde8]
9393
9394         * include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
9395         include/list.h, include/missing.h:
9396         Convert to ANSI C
9397         [3f5016ff64f4]
9398
9399         * compat/charclass.h, compat/closefrom.c, compat/fnmatch.c,
9400         compat/fnmatch.h, compat/getcwd.c, compat/getline.c,
9401         compat/getprogname.c, compat/glob.c, compat/glob.h,
9402         compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
9403         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
9404         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
9405         compat/strlcpy.c, compat/strsignal.c, compat/utime.h,
9406         compat/utimes.c:
9407         Convert to ANSI C
9408         [0d635c85461c]
9409
9410 2010-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9411
9412         * src/sudo.c, src/tgetpass.c:
9413         Make user_details extern so tgetpass can get at the uid and gid. Set
9414         uid/gid to user before executing askpass program. Check environment
9415         for SUDO_ASKPASS and use that if set. TODO: a way for the policy to
9416         set the askpass program itself
9417         [d33606396176]
9418
9419         * src/sudo.c:
9420         No longer need sudo_usage.h in sudo.c
9421         [063e2946c382]
9422
9423         * doc/sudo.cat, doc/sudo.man.in, doc/sudo.pod, doc/sudo_plugin.man.in,
9424         doc/sudo_plugin.pod, src/Makefile.in, src/parse_args.c,
9425         src/sudo_usage.h.in:
9426         Document -D level command line flag which maps to the debug_level
9427         setting.
9428         [61f1e2ab3ac1]
9429
9430         * doc/sudo_plugin.cat, doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9431         Document debug_level in plugin doc. Still need to document the -D
9432         flag in sudo itself.
9433         [8c62daea3e9b]
9434
9435 2010-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9436
9437         * plugins/sample/sample_plugin.c:
9438         include missing,h for vasprintf
9439         [92503de49b39]
9440
9441         * doc/Makefile.in, doc/plugin.pod, doc/sudo_plugin.cat,
9442         doc/sudo_plugin.man.in, doc/sudo_plugin.pod:
9443         Rename plugin.pod -> sudo_plugin.pod and wire into Makefile
9444         [14cfb4775238]
9445
9446         * plugins/sample/sample_plugin.c:
9447         Need to include limits.h
9448         [bda7f74343d2]
9449
9450         * compat/glob.c:
9451         No more sudo_getpw*
9452         [232e52907634]
9453
9454         * plugins/sample/Makefile.in, src/Makefile.in:
9455         Add missing compat bits
9456         [4843dd000e08]
9457
9458         * compat/closefrom.c, compat/mkstemp.c, plugins/sample/Makefile.in:
9459         compat files should not include sudo.h wire up compat in sample
9460         plugin
9461         [a175b8185e0f]
9462
9463         * Makefile, configure, configure.in, doc/Makefile.in, src/Makefile.in:
9464         Fix up compat dependencies. Fix distclean target in doc/Makefile.in
9465         [57e49bc20857]
9466
9467         * configure, configure.in:
9468         Fix typo
9469         [333655e3d5fe]
9470
9471         * plugins/sample/sample_plugin.c:
9472         Log input and output to temp files for proof of concept.
9473         [ae1dfc34f7d6]
9474
9475         * Makefile, configure, configure.in, doc/Makefile.in:
9476         Add doc Makefile.in and wire it up
9477         [6a310443c87d]
9478
9479         * src/script.c:
9480         Handle SIGSTOP in addition to SIGTSTP. Fixes a problem with
9481         suspending a shell with the "suspend" builtint.
9482         [3d65f182819a]
9483
9484         * src/script.c:
9485         In child, handle parent side of the pipe going away.
9486         [a29c14d78cd9]
9487
9488         * src/script.c:
9489         No longer need to check for explicit death of the child (process #2)
9490         since if it dies we will get EPIPE from the socketpair. Fix a
9491         sizeof() that was causing a spurious error. Convert SCRIPT_DEBUG to
9492         sudo_debug.
9493         [24c55dd4ff60]
9494
9495         * src/sudo.c:
9496         Make sudo_debug do a single vfprintf() which will result in a single
9497         write call on most systems. Avoids problems with interleaved debug
9498         printf from different processes. Also remove an extraneous error
9499         case since recv() can't return a short read and add some more XXX.
9500         [b37a8533ef1e]
9501
9502 2010-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
9503
9504         * src/script.c:
9505         Fix uninitialized variable.
9506         [e012a0a30890]
9507
9508         * src/Makefile.in:
9509         Fix sudo install target
9510         [1417fa4b4ab9]
9511
9512         * src/parse_args.c, src/sudo.c, src/sudo.h:
9513         Wire up debug_level
9514         [144fab289c73]
9515
9516         * src/Makefile.in:
9517         Fix dependencies
9518         [5170940af2ce]
9519
9520         * configure, configure.in:
9521         Fix setting of plugin dir
9522         [144eda170a72]
9523
9524         * Makefile:
9525         add clean targets
9526         [d53f6f6f5c3a]
9527
9528         * src/atobool.c:
9529         Add missing source for sudo front end
9530         [42487de9c489]
9531
9532         * plugins/sample/Makefile.in, plugins/sample/sample_plugin.c:
9533         Sample plugin demonstrating the sudo plugin API
9534         [f1fd62d7644f]
9535
9536         * Makefile, configure, configure.in, install-sh, pathnames.h.in,
9537         plugins/sudoers/install-sh, src/Makefile.in, src/conversation.c,
9538         src/fileops.c, src/fmt_string.c, src/load_plugins.c,
9539         src/parse_args.c, src/pty.c, src/script.c, src/sudo.c, src/sudo.h,
9540         src/sudo_plugin_int.h, src/sudo_usage.h.in, src/tgetpass.c,
9541         sudo_usage.h.in:
9542         Modular sudo front-end which loads policy and I/O plugins that do
9543         most the actual work. Currently relies on dynamic loading using
9544         dlopen(). See doc/plugin.pod for the plugin API.
9545         [924f6eb2fbba]
9546
9547         * doc/plugin.pod, include/sudo_plugin.h:
9548         Sudo plugin API
9549         [374ccbbd24ae]
9550
9551         * compat/fnmatch.c, compat/glob.c, compat/nanosleep.c,
9552         compat/utimes.c, plugins/sudoers/check.c, plugins/sudoers/gettime.c,
9553         plugins/sudoers/match.c, plugins/sudoers/sudoreplay.c,
9554         plugins/sudoers/testsudoers.c, plugins/sudoers/visudo.c,
9555         src/fileops.c, src/sudo_edit.c:
9556         Replace emul/include.h with compat/include.h to match new source
9557         tree layout.
9558         [7eccd10449a1]
9559
9560         * src/lbuf.c:
9561         Include missing.h for memrchr() proto
9562         [03abd63a8a33]
9563
9564         * HISTORY, LICENSE, Makefile.binary.in, Makefile.in, PORTING,
9565         TROUBLESHOOTING, UPGRADE, aix.c, aixcrypt.exp, alias.c, alloc.c,
9566         alloc.h, audit.c, auth/API, auth/afs.c, auth/aix_auth.c,
9567         auth/bsdauth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c,
9568         auth/pam.c, auth/passwd.c, auth/rfc1938.c, auth/secureware.c,
9569         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
9570         auth/sudo_auth.h, boottime.c, bsm_audit.c, bsm_audit.h, check.c,
9571         closefrom.c, compat.h, compat/charclass.h, compat/closefrom.c,
9572         compat/fnmatch.c, compat/fnmatch.h, compat/getcwd.c,
9573         compat/getline.c, compat/getprogname.c, compat/glob.c,
9574         compat/glob.h, compat/isblank.c, compat/memrchr.c, compat/mkstemp.c,
9575         compat/nanosleep.c, compat/sigaction.c, compat/snprintf.c,
9576         compat/strcasecmp.c, compat/strerror.c, compat/strlcat.c,
9577         compat/strlcpy.c, compat/strsignal.c, compat/timespec.h,
9578         compat/utime.h, compat/utimes.c, def_data.c, def_data.h,
9579         def_data.in, defaults.c, defaults.h, doc/HISTORY, doc/LICENSE,
9580         doc/PORTING, doc/TROUBLESHOOTING, doc/UPGRADE, doc/history.pod,
9581         doc/license.pod, doc/sample.pam, doc/sample.sudoers,
9582         doc/sample.syslog.conf, doc/schema.ActiveDirectory,
9583         doc/schema.OpenLDAP, doc/schema.iPlanet, doc/sudo.cat,
9584         doc/sudo.man.in, doc/sudo.man.pl, doc/sudo.pod, doc/sudoers.cat,
9585         doc/sudoers.ldap.cat, doc/sudoers.ldap.man.in, doc/sudoers.ldap.pod,
9586         doc/sudoers.man.in, doc/sudoers.man.pl, doc/sudoers.pod,
9587         doc/sudoreplay.cat, doc/sudoreplay.man.in, doc/sudoreplay.pod,
9588         doc/visudo.cat, doc/visudo.man.in, doc/visudo.pod, emul/charclass.h,
9589         emul/fnmatch.h, emul/glob.h, emul/timespec.h, emul/utime.h, env.c,
9590         error.c, error.h, fileops.c, find_path.c, fnmatch.c, getcwd.c,
9591         getdate.c, getdate.y, getline.c, getprogname.c, getspwuid.c,
9592         gettime.c, glob.c, goodpath.c, gram.c, gram.h, gram.y, history.pod,
9593         include/alloc.h, include/compat.h, include/error.h, include/lbuf.h,
9594         include/list.h, include/missing.h, ins_2001.h, ins_classic.h,
9595         ins_csops.h, ins_goons.h, install-sh, insults.h, interfaces.c,
9596         interfaces.h, isblank.c, lbuf.c, lbuf.h, ldap.c, license.pod,
9597         list.c, list.h, logging.c, logging.h, match.c, memrchr.c, missing.h,
9598         mkdefaults, mkstemp.c, mon_systrace.c, mon_systrace.h, nanosleep.c,
9599         nonunix.h, parse.c, parse.h, plugins/sudoers/Makefile.binary.in,
9600         plugins/sudoers/Makefile.in, plugins/sudoers/aixcrypt.exp,
9601         plugins/sudoers/alias.c, plugins/sudoers/auth/API,
9602         plugins/sudoers/auth/afs.c, plugins/sudoers/auth/aix_auth.c,
9603         plugins/sudoers/auth/bsdauth.c, plugins/sudoers/auth/dce.c,
9604         plugins/sudoers/auth/fwtk.c, plugins/sudoers/auth/kerb4.c,
9605         plugins/sudoers/auth/kerb5.c, plugins/sudoers/auth/pam.c,
9606         plugins/sudoers/auth/passwd.c, plugins/sudoers/auth/rfc1938.c,
9607         plugins/sudoers/auth/secureware.c, plugins/sudoers/auth/securid.c,
9608         plugins/sudoers/auth/securid5.c, plugins/sudoers/auth/sia.c,
9609         plugins/sudoers/auth/sudo_auth.c, plugins/sudoers/auth/sudo_auth.h,
9610         plugins/sudoers/boottime.c, plugins/sudoers/check.c,
9611         plugins/sudoers/def_data.c, plugins/sudoers/def_data.h,
9612         plugins/sudoers/def_data.in, plugins/sudoers/defaults.c,
9613         plugins/sudoers/defaults.h, plugins/sudoers/env.c,
9614         plugins/sudoers/find_path.c, plugins/sudoers/getdate.c,
9615         plugins/sudoers/getdate.y, plugins/sudoers/getspwuid.c,
9616         plugins/sudoers/gettime.c, plugins/sudoers/goodpath.c,
9617         plugins/sudoers/gram.c, plugins/sudoers/gram.h,
9618         plugins/sudoers/gram.y, plugins/sudoers/ins_2001.h,
9619         plugins/sudoers/ins_classic.h, plugins/sudoers/ins_csops.h,
9620         plugins/sudoers/ins_goons.h, plugins/sudoers/install-sh,
9621         plugins/sudoers/insults.h, plugins/sudoers/interfaces.c,
9622         plugins/sudoers/interfaces.h, plugins/sudoers/ldap.c,
9623         plugins/sudoers/logging.c, plugins/sudoers/logging.h,
9624         plugins/sudoers/match.c, plugins/sudoers/mkdefaults,
9625         plugins/sudoers/mon_systrace.c, plugins/sudoers/mon_systrace.h,
9626         plugins/sudoers/nonunix.h, plugins/sudoers/parse.c,
9627         plugins/sudoers/parse.h, plugins/sudoers/pwutil.c,
9628         plugins/sudoers/redblack.c, plugins/sudoers/redblack.h,
9629         plugins/sudoers/set_perms.c, plugins/sudoers/sudo_nss.c,
9630         plugins/sudoers/sudo_nss.h, plugins/sudoers/sudoers,
9631         plugins/sudoers/sudoers.c, plugins/sudoers/sudoers.h,
9632         plugins/sudoers/sudoers2ldif, plugins/sudoers/sudoreplay.c,
9633         plugins/sudoers/testsudoers.c, plugins/sudoers/timestr.c,
9634         plugins/sudoers/toke.c, plugins/sudoers/toke.l,
9635         plugins/sudoers/tsgetgrpw.c, plugins/sudoers/vasgroups.c,
9636         plugins/sudoers/visudo.c, pty.c, pwutil.c, redblack.c, redblack.h,
9637         sample.pam, sample.sudoers, sample.syslog.conf,
9638         schema.ActiveDirectory, schema.OpenLDAP, schema.iPlanet, script.c,
9639         selinux.c, sesh.c, set_perms.c, sigaction.c, snprintf.c, src/aix.c,
9640         src/alloc.c, src/audit.c, src/bsm_audit.c, src/bsm_audit.h,
9641         src/error.c, src/fileops.c, src/lbuf.c, src/list.c, src/pty.c,
9642         src/script.c, src/selinux.c, src/sesh.c, src/sudo_edit.c,
9643         src/sudo_noexec.c, src/term.c, src/tgetpass.c, src/zero_bytes.c,
9644         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, strsignal.c, sudo.c,
9645         sudo.cat, sudo.h, sudo.man.in, sudo.man.pl, sudo.pod, sudo_edit.c,
9646         sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudoers, sudoers.cat,
9647         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
9648         sudoers.man.in, sudoers.man.pl, sudoers.pod, sudoers2ldif,
9649         sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod,
9650         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
9651         tsgetgrpw.c, utimes.c, vasgroups.c, visudo.c, visudo.cat,
9652         visudo.man.in, visudo.pod, zero_bytes.c:
9653         Rework source layout in preparation for modular sudo.
9654         [7fc1978c6ad5]
9655
9656 2010-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9657
9658         * Avoid a duplicate fclose() of the sudoers file.
9659         [5dba851088c1]
9660
9661         * Fix size arg when realloc()ing include stack. From Daniel Kopecek
9662         [0a2935061e33]
9663
9664         * Use setrlimit64(), if available, instead of setrlimit() when setting
9665         AIX resource limits since rlim_t is 32bits.
9666         [353db89bac61]
9667
9668         * Fix use after free when sending error messages. From Timo Juhani
9669         Lindfors
9670         [e50dbd902382]
9671
9672         * ChangeLog, Makefile.in:
9673         Generate the ChangeLog as part of "make dist" instead of having it
9674         in the repo.
9675         [251b70964673]
9676
9677 2010-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9678
9679         * Makefile.binary.in, Makefile.in, aix.c, alias.c, alloc.c, alloc.h,
9680         auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
9681         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
9682         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
9683         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
9684         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
9685         emul/charclass.h, emul/timespec.h, env.c, error.c, error.h,
9686         fileops.c, find_path.c, getcwd.c, getprogname.c, getspwuid.c,
9687         gettime.c, goodpath.c, gram.c, gram.y, ins_2001.h, ins_classic.h,
9688         ins_csops.h, ins_goons.h, insults.h, interfaces.c, interfaces.h,
9689         isblank.c, lbuf.c, lbuf.h, ldap.c, list.c, list.h, logging.c,
9690         logging.h, match.c, memrchr.c, missing.h, mkinstalldirs, mkstemp.c,
9691         mon_systrace.c, nanosleep.c, parse.c, parse.h, pathnames.h.in,
9692         pty.c, pwutil.c, redblack.c, redblack.h, sample.pam, sample.sudoers,
9693         sample.syslog.conf, script.c, selinux.c, sesh.c, set_perms.c,
9694         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
9695         strlcpy.c, strsignal.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
9696         sudo_edit.c, sudo_noexec.c, sudo_nss.c, sudo_nss.h, sudo_usage.h.in,
9697         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
9698         sudoers2ldif, sudoreplay.c, sudoreplay.man.in, sudoreplay.pod,
9699         term.c, testsudoers.c, tgetpass.c, timestr.c, toke.c, toke.l,
9700         utimes.c, visudo.c, visudo.man.in, visudo.pod, zero_bytes.c:
9701         Remove CVS $Sudo$ tags.
9702         [de683a8b31f5]
9703
9704 2010-01-18  convert-repo  <convert-repo>
9705
9706         * .hgtags:
9707         update tags
9708         [9b7aa44ae436]
9709
9710 2009-12-26  Todd C. Miller  <Todd.Miller@courtesan.com>
9711
9712         * sudo_usage.h.in:
9713         make this match sudoers SYNOPSIS
9714         [c74ba66944c2]
9715
9716         * lbuf.c, parse.c:
9717         Print a newline between Runas and Command-specific defaults in sudo
9718         -l.
9719         [b5bdfcc9ce4b]
9720
9721         * term.c:
9722         Use SET and CLR macros in term_raw
9723         [50ca42609d6c]
9724
9725         * sudoreplay.c:
9726         Set stdin to non-blocking mode early instead of in check_input. Use
9727         term_raw instead of term_cbreak since the data we get has already
9728         been expanded via OPOST.
9729         [51c47e803d62]
9730
9731 2009-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9732
9733         * script.c, term.c:
9734         Enable/disable all postprocessing instead of just nl->crnl
9735         processing since things like tab expansion matter too. However, if
9736         stdout is a tty leave postprocessing on in the pty since we run into
9737         problems doing it only on the real stdout with .e.g nvi.
9738         [62666e309673]
9739
9740 2009-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
9741
9742         * check.c:
9743         If tty_tickets is enabled and there is no tty, prompt for a
9744         password. Do not lecture user for "sudo -k command" if user has a
9745         timestamp.
9746         [5880200c5f6b]
9747
9748         * INSTALL:
9749         Document missing options: --with-efence and --with-bsm-audit
9750         [d83afcdf9ff3]
9751
9752         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.ldap.cat,
9753         sudoers.ldap.man.in, sudoers.ldap.pod, sudoers.man.in, sudoers.pod,
9754         sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod, visudo.cat,
9755         visudo.man.in, visudo.pod:
9756         username -> user name groupname -> group name hostname -> host name
9757         [10c85646f45d]
9758
9759         * INSTALL, README.LDAP, sudoers.pod:
9760         filename -> file name like the rest of the docs
9761         [1ef8ab5a9018]
9762
9763 2009-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
9764
9765         * parse.c:
9766         Fix printing of entries with multiple host entries on a single line.
9767         [226ceaf91d8d]
9768
9769 2009-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
9770
9771         * sudoers.pod:
9772         Mention that targetpw affects the timestamp file name.
9773         [a26e22e4f72e]
9774
9775         * def_data.c, def_data.h, def_data.in, defaults.c, script.c,
9776         sudoers.pod:
9777         Add compress_transcript option.
9778         [6e94f8cb9dfb]
9779
9780 2009-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
9781
9782         * configure, configure.in:
9783         bump to 1.7.3b2
9784         [906d7e347d15]
9785
9786         * pwutil.c, set_perms.c, sudo.c, sudo_nss.c:
9787         Better split of membership vs. traditional group check in
9788         user_in_group(). Allow user_ngroups to be < 0 if getgroups() fails.
9789         [6ebc55d4716b]
9790
9791 2009-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
9792
9793         * pwutil.c:
9794         Fix pasto and add default return value.
9795         [7973b5e4599c]
9796
9797         * check.c, match.c, pwutil.c, sudo.h:
9798         refactor group member checking into user_in_group()
9799         [48ca8c2eddf8]
9800
9801         * check.c, config.h.in, configure, configure.in, match.c, sudo.c,
9802         sudo.h:
9803         Add support for mbr_check_membership() as present in darwin.
9804         [5501aed02b9f]
9805
9806 2009-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
9807
9808         * match.c:
9809         Rename label to be accurate
9810         [3af17dd960f7]
9811
9812         * Makefile.in, boottime.c, check.c, config.h.in, configure,
9813         configure.in, sudo.h:
9814         Treat timestamp files from before we booted as old. Idea from and
9815         Apple patch.
9816         [5c96e484c05a]
9817
9818 2009-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
9819
9820         * sudo.c, sudo.pod, sudo_usage.h.in:
9821         Allow the -u flag to be used in conjunction with the -v flag as per
9822         older versions of sudo.
9823         [591e9fc13c1a]
9824
9825         * logging.c:
9826         fix typo in last commit
9827         [4fd0c692dcf0]
9828
9829 2009-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
9830
9831         * logging.c:
9832         Convert fmt_first and fmt_confd into macros.
9833         [32e870158b29]
9834
9835         * sudoers.pod:
9836         timeouts can be floats now
9837         [89de639a9679]
9838
9839         * WHATSNEW, def_data.c, def_data.h, def_data.in, defaults.c,
9840         defaults.h, mkdefaults:
9841         Add support for floating point timeout values (e.g. 2.5 minutes).
9842         [210ffa291733]
9843
9844 2009-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
9845
9846         * sudo.pod:
9847         The -L flag will be removed in sudo 1.7.4
9848         [ffd026084333]
9849
9850 2009-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
9851
9852         * sudoreplay.c:
9853         Fix a bug due to order of operators.
9854         [938d34464283]
9855
9856 2009-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9857
9858         * match.c:
9859         cmnd_matches() already deals with negation so _cmndlist_matches()
9860         does not need to do so itself. Fixes a bug with negated entries in
9861         a Cmnd_List.
9862         [71c845f6ce73]
9863
9864 2009-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9865
9866         * sudo.c:
9867         Don't exit() from open_sudoers, just return NULL for all errors.
9868         [8cfa832f972a]
9869
9870         * script.c:
9871         Can't rely on the shell sending us SIGCONT when transitioning from
9872         backgroup to foreground process.
9873         [3c6c5b6cb4b3]
9874
9875         * toke.c, toke.l:
9876         Add missing extern def for parse_error
9877         [45b7b59d03b7]
9878
9879 2009-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
9880
9881         * toke.c, toke.l:
9882         Avoid a parse error when #includedir doesn't find any files. Closes
9883         bug #375
9884         [1ce1b850e9e6]
9885
9886         * Makefile.in:
9887         Include sudo.man.pl and sudoers.man.pl in the distribution tarball.
9888         [6a22e32da108]
9889
9890 2009-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
9891
9892         * script.c:
9893         Start command out in foreground mode if stdout is a tty. Works
9894         around issues with some curses-based programs that don't handle
9895         tcsetattr getting interrupted by a signal. Still allows us to avoid
9896         hogging the tty if the command is part of a pipeline.
9897         [1c32f2b94769]
9898
9899         * script.c, sudo.c, sudo.h, sudoreplay.c, term.c, tgetpass.c:
9900         Use a socketpair to pass signals from parent to child. Child will
9901         now pass command status change info back via the socketpair. This
9902         allows the parent to distinguish between signals it has been sent
9903         directly and signals the command has received. It also means the
9904         parent can once again print the signal notifications to the tty so
9905         all writes to the pty master occur in the parent. The command is
9906         now always started in background mode with tty signals handled by
9907         the parent.
9908         [c6790b82986d]
9909
9910 2009-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
9911
9912         * configure, configure.in:
9913         Fix a few typos in the descriptions; from Jeff Makey Only do the
9914         check for krb5_get_init_creds_opt_free() taking two arguments if we
9915         find krb5_get_init_creds_opt_alloc(). Otherwise we will get a false
9916         positive when using our own krb5_get_init_creds_opt_free which takes
9917         only a single argument.
9918         [845a9ff6f93d]
9919
9920 2009-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
9921
9922         * configure, configure.in:
9923         Remove a spurious comma in the kerb5 bits.
9924         [3433eab083db]
9925
9926         * auth/kerb5.c:
9927         Call krb5_get_init_creds_opt_init() in our emulated
9928         krb5_get_init_creds_opt_alloc() for MIT kerberos.
9929         [7ffb40bf43e9]
9930
9931 2009-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
9932
9933         * config.h.in:
9934         Add HAVE_ZLIB
9935         [9297bde61ecc]
9936
9937         * script.c:
9938         Need to ignore SIGTT{IN,OU} in child when running the command in the
9939         background. Also some minor cleanup.
9940         [dc208d982319]
9941
9942 2009-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
9943
9944         * script.c:
9945         Instead of calling sigsuspend when waiting for SIGUSR[12] from
9946         parent, install the signal handlers w/o SA_RESTART and let them
9947         interrupt waitpid().
9948         [759c7d18203b]
9949
9950         * script.c:
9951         Pass along SIGHUP and SIGTERM from parent to child.
9952         [035b0e254568]
9953
9954         * script.c:
9955         Close unused bits of script_fds in processes that don't need them.
9956         Restore default SIGCONT handler in child.
9957         [e037378ab0c1]
9958
9959         * script.c:
9960         Update foreground/background status in SIGCONT handler in parent
9961         process.
9962         [3f7f91333264]
9963
9964 2009-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
9965
9966         * script.c:
9967         Defer setting terminal into raw mode until just before we fork() and
9968         only do it if sudo is the foreground process. If we get SIGTT{IN,OU}
9969         and sudo is already in the foreground be sure to set raw mode before
9970         continuing the child.
9971         [1102ef40832c]
9972
9973 2009-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
9974
9975         * script.c:
9976         Fix handling of SIGTTOU/SIGTTIN in program being run. We now only
9977         give the command the controlling tty if the main sudo process is the
9978         foreground process.
9979         [cf3a91cb5682]
9980
9981         * script.c:
9982         Don't bother with sudo_waitpid() here for now.
9983         [9086de480c2d]
9984
9985         * script.c:
9986         fix non-zlib case
9987         [a258bff0f9a6]
9988
9989 2009-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
9990
9991         * script.c:
9992         Remove non-wroking code that crept into rev 1.55
9993         [2802dd55cff5]
9994
9995 2009-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
9996
9997         * INSTALL, configure, configure.in, script.c, sudoreplay.c:
9998         First pass at zlib support for transcript data files
9999         [5d10260807da]
10000
10001         * Makefile.in:
10002         remove vestiges of ZLDFLAGS
10003         [1fa0caf1c0fb]
10004
10005         * script.c:
10006         Add missing variable declaration for when TIOCSCTTY is not defined.
10007         Need to include sys/termio.h for TIOCSCTTY on some systems.
10008         [ee7f41ac2709]
10009
10010         * script.c:
10011         when resuming command, send SIGCONT to its pgrp not just pid
10012         [5cd63c1d565b]
10013
10014         * selinux.c:
10015         remove unused variable
10016         [df67df4be228]
10017
10018         * script.c:
10019         include selinux.h for is_selinux_enabled() proto
10020         [85ebaa880cc1]
10021
10022         * script.c:
10023         Don't use log_error() in the child process.
10024         [def65fe2a433]
10025
10026         * script.c:
10027         Do I/O in parent instead of child since the parent can have both
10028         /dev/tty as well as the pty fds open. The child just sets things up
10029         and waits for its grandchild and writes the signal description to
10030         the pty master if the command was killed by a signal.
10031         [95e473208982]
10032
10033 2009-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10034
10035         * missing.h, sudo.h:
10036         Move two struct forward declarations from sudo.h to missing.h
10037         [90ad28294a8c]
10038
10039         * script.c:
10040         Make comment at the top of script_exec() match reality.
10041         [c5042d27dbe0]
10042
10043         * sudo.c:
10044         if neither stdin nor stdout is a tty, check stderr
10045         [c532ff20c8d8]
10046
10047         * Makefile.in:
10048         Add back dependecy of gram.h on gram.y
10049         [c58382b7fcca]
10050
10051         * script.c:
10052         Make transcript mode work as long as we can figure out our tty, even
10053         if it is not stdin. We'd like to use /dev/tty but that won't be
10054         valid after the setsid().
10055         [7b8bba8d99e7]
10056
10057 2009-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10058
10059         * config.h.in, configure, configure.in, pty.c:
10060         Add support for IRIX-style dynamic ptys
10061         [bedc9bac44c1]
10062
10063         * Makefile.in, alloc.h, getline.c, sudo.h, sudoreplay.c:
10064         Move alloc.c protos into alloc.h
10065         [b6a90649617d]
10066
10067         * missing.h:
10068         Move prototypes for missing libc functions to missing.h
10069         [dda9ae1ccaf8]
10070
10071         * Makefile.in, sudo.h, sudoreplay.c:
10072         Move prototypes for missing libc functions to missing.h
10073         [7483166b577b]
10074
10075 2009-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10076
10077         * config.h.in, configure, configure.in:
10078         Disable transcript support if no tcsetpgrp until we support older
10079         BSD-style job control.
10080         [27ac1d8163df]
10081
10082         * configure, configure.in, pty.c, script.c:
10083         Break out pty code into pty.c
10084         [e85509b25d41]
10085
10086         * compat.h, config.h.in, configure, configure.in:
10087         add killpg macro if no killpg function
10088         [3a125f4a51f0]
10089
10090         * config.h.in, configure, configure.in, script.c:
10091         Push ptem and ldterm for STERAMS-based systems when allocating a
10092         pty.
10093         [36bb39b30ff2]
10094
10095 2009-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10096
10097         * script.c:
10098         Sprinkle some more O_NOCTTY and call grantpt() before unlockpt()
10099         [d94bd5c9bf4e]
10100
10101         * script.c:
10102         Call tcgetpgrp() in the parent, not the child and have the child
10103         spin until it is granted. Fixes a race on darwin.
10104         [6e8d435339ce]
10105
10106         * script.c:
10107         Only use TIOCNOTTY in the non-setsid case. If no TIOCSCTTY, just
10108         reopen slave.
10109         [0bdc63c019ca]
10110
10111 2009-10-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10112
10113         * script.c:
10114         In script mode, if the command is killed by a signal, print the
10115         signal description as well as a core dump notification like the
10116         shell does.
10117         [9df61738df07]
10118
10119         * Makefile.in, config.h.in, configure, configure.in, strsignal.c,
10120         sudo.h:
10121         Add check for strsignal() and a simple implementation if it is not
10122         there but sys_siglist is
10123         [61421a188ef4]
10124
10125         * script.c:
10126         Add missing WUNTRACED and store the signal that stopped the
10127         grandchild in suspended, not signo.
10128         [df65042b200e]
10129
10130         * script.c:
10131         g/c unused code
10132         [40d8cb5c9203]
10133
10134         * script.c:
10135         Associate the grandchild's pgrp with the tty instead of the child's
10136         and just get suspend notifications via SIGCHLD instead of directly.
10137         This fixes a hang with programs that try to set terminal attributes
10138         and is more consistent with how the shell handles things.
10139         [6865abff7e94]
10140
10141 2009-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10142
10143         * script.c:
10144         Move setpgid() of child into the parent side of the fork() where it
10145         belongs.
10146         [3defa782777c]
10147
10148 2009-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10149
10150         * script.c:
10151         fix typo
10152         [b6a612b3622c]
10153
10154         * script.c:
10155         Run command in its own pgrp (like the shell does) for easier
10156         signalling. No need to relay SIGINT or SIGQUIT to parent, just send
10157         to grandchild. Don't want grandchild stopped events in the child
10158         (only termination). Flush output after suspending grandchild before
10159         signalling parent.
10160         [db556bf2176f]
10161
10162         * script.c:
10163         Back out revision 1.34; the problem lies elsewhere.
10164         [85f590a03275]
10165
10166         * script.c:
10167         Don't set stdout to blocking mode when flushing remaining output.
10168         It can cause us to hang when trying to exit. Need to investigate
10169         why.
10170         [6f803a3e33ca]
10171
10172         * script.c:
10173         Handle SIGTTOU and remove some debugging.
10174         [52d17279053e]
10175
10176         * term.c:
10177         Back out revision 1.10 as the signal that interrupts us may be
10178         SIGTTOU or SIGTTIN which the caller must handle.
10179         [7e2fa9107975]
10180
10181         * script.c:
10182         Apparently we need to send SIGSTOP to the command as well as ourself
10183         when we get SIGTSTP, the kernel doesn't automatically stop the
10184         process for us.
10185         [1a936e9309c4]
10186
10187         * script.c:
10188         Use an extra process to act as the glue bewteen the sessions
10189         associated with the user's controlling tty (what the shell uses) and
10190         the tty that sudo is using to do its logging. Basically, this means
10191         that if we get, e.g. SIGTSTP from the process sudo is running, we
10192         relay the signal to the parent so it's shell can do the job control.
10193         [6dd296988060]
10194
10195         * term.c:
10196         Handle getting/setting terminal attributes when the fd is in non-
10197         blocking mode.
10198         [ae5ae535ea7b]
10199
10200 2009-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10201
10202         * sudoreplay.c, sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10203         Add support for pausing and changing the speed in interactive mode.
10204         [72a2063780a7]
10205
10206         * script.c:
10207         Already define O_NOCTTY in compat.h, don't need it here
10208         [b5d80ed3e5ce]
10209
10210 2009-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10211
10212         * sudoreplay.c:
10213         Add missing protos
10214         [c4cb4e7f4d8a]
10215
10216 2009-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10217
10218         * sudo_edit.c:
10219         Always update the stashed mtime of the temp file instead of using
10220         what we have for the original because the time resolution of the
10221         filesystem the temporary is on may not match that of the filesystem
10222         that holds the original. Should fix bz #371 found by Philippe Levan.
10223         [c86ca4bec60c]
10224
10225         * sudoreplay.c:
10226         Use cbreak mode instead of raw mode and add signal handlers to
10227         restore the tty on interrupt.
10228         [84dd283da41c]
10229
10230         * script.c, sudo.h, term.c:
10231         Retain NL to NLCR conversion on the real tty and skip it on the pty
10232         we allocate. That way, if stdout is not a pty there are no extra
10233         carriage returns.
10234         [32e4f570414e]
10235
10236         * script.c:
10237         Fix log_output(); just pass in a string and a length.
10238         [ca980cc0a3fb]
10239
10240 2009-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
10241
10242         * script.c:
10243         do not use errno when complaining out lack of a tty
10244         [8f9b8c55ab8e]
10245
10246 2009-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10247
10248         * Makefile.in, sudoreplay.c, term.c:
10249         Instead of messing with line endings, just set terminal to raw mode
10250         in sudoreplay.
10251         [90943fa87acb]
10252
10253         * term.c:
10254         When copying the terminal attributes to the pty, be sure not to set
10255         ONLCR. This prevents extra carriage returns from ending up in the
10256         script output file.
10257         [e6b5475ac2aa]
10258
10259         * script.c:
10260         Convert a do {} while into a while
10261         [e461310d2c77]
10262
10263         * Makefile.in:
10264         Use if then instead of test && when installing binaries that may not
10265         exist.
10266         [ad4f9490d971]
10267
10268         * script.c:
10269         Add O_NOCTTY when opening a tty device. Explicitly disconnect from
10270         old tty before associatng with new one.
10271         [0e0ca634b80c]
10272
10273         * script.c, selinux.c, sudo.c, sudo.h:
10274         First cut at refactoring some of the selinux code so it can be used
10275         in conjunction with sudo's transcript support.
10276         [779b0d8f9d29]
10277
10278 2009-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10279
10280         * aclocal.m4, configure, configure.in:
10281         Fix default case of transcript_enabled being unset.
10282         [f8aa96186e6b]
10283
10284         * script.c, sudoreplay.c:
10285         Use _PATH_SUDO_TRANSCRIPT instead of _PATH_SUDO_SESSDIR
10286         [2844a7a851fa]
10287
10288         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.c:
10289         Hook up --disable-transcript and --enable-transcript=DIR
10290         [b3fa7e6b2480]
10291
10292 2009-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10293
10294         * aclocal.m4, configure, configure.in, pathnames.h.in:
10295         _PATH_SUDO_SESSDIR -> _PATH_SUDO_TRANSCRIPT Add --enable-
10296         transcript=DIR option to specify the directory
10297         [b0bb76d43cda]
10298
10299         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
10300         regen
10301         [c7a8a0a9027c]
10302
10303         * configure, configure.in, sudoers.man.pl, sudoers.pod:
10304         Substitute in default value for secure_path
10305         [c8f9ac6dbf93]
10306
10307         * sudo.pod:
10308         Mention that the password must be followed by a newline with the -S
10309         option.
10310         [2fc589a3ee7e]
10311
10312 2009-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10313
10314         * script.c:
10315         Go back to dropping out of the select() loop when the process dies;
10316         Linux ptys apparently don't behave the same as BSD in regards to
10317         select(). No need to flush remaining output to the transcript, only
10318         to stdout. Add back code to check the master pty for additional data
10319         when we exit the main select loop.
10320         [abed9a9cbc6b]
10321
10322 2009-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10323
10324         * Makefile.in:
10325         Add getline.o to COMMON_OBJS
10326         [04ef7643cbc2]
10327
10328         * Makefile.in:
10329         sudoreplay depends on libsudo.a
10330         [142bd0472631]
10331
10332         * Makefile.in:
10333         More pwutil.o into COMMON_OBJS
10334         [4a016b933629]
10335
10336         * pwutil.c, testsudoers.c, tsgetgrpw.c:
10337         Remove my_* redirection in pwutil.c for testsudoers and just use the
10338         normal libc get{pw,gr}* names.
10339         [9b76d637d86b]
10340
10341         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10342         More time and date examples
10343         [c6ee0175ec56]
10344
10345         * Makefile.in, configure, configure.in, nanosleep.c, sudoreplay.c:
10346         Move nanosleep() emulation into its own file Check librt.a for
10347         nanosleep if we don't find it in libc
10348         [4da0cc26aad7]
10349
10350         * Makefile.in, configure, configure.in:
10351         Build libsudo with the common bits and link things against that.
10352         [2b53bc0b081a]
10353
10354         * script.c:
10355         Fix final flush.
10356         [6da287d833da]
10357
10358         * script.c:
10359         Keep reading from the pty master -> log file until read returns <=
10360         0. Do our best to write everything to stdout when flushing any
10361         remaining bits.
10362         [2a45d4ae280c]
10363
10364         * sudoreplay.c:
10365         Use unbuffered I/O when writing to stdout and make sure we write the
10366         entire buffer.
10367         [f39ef9844a47]
10368
10369 2009-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10370
10371         * sudoreplay.c:
10372         Only use max_wait if it is non-zero
10373         [f6c10604d2e8]
10374
10375         * getdate.c, getdate.y, getline.c:
10376         Need compat.h here
10377         [5d6722e225a0]
10378
10379         * sudoreplay.c:
10380         Fix nanosleep emulation
10381         [34e5e5d72a76]
10382
10383         * script.c:
10384         Fix comment after #endif
10385         [bd1347718b25]
10386
10387         * sudoreplay.c:
10388         Add protos for missing libc bits
10389         [644f496427a2]
10390
10391         * configure, configure.in:
10392         add missing line continuation char
10393         [db13c0d402cd]
10394
10395         * config.h.in, configure, configure.in, getline.c:
10396         Implement getline() in terms of fgetln() if we have it.
10397         [3ab786eaadc5]
10398
10399         * sudoreplay.c:
10400         Print year when formatting log line
10401         [90be669e3443]
10402
10403         * sudoreplay.pod:
10404         Document cwd, attempt to document time/date formats.
10405         [6290fb9b65c6]
10406
10407         * sudoreplay.c:
10408         Fix getline return value check.
10409         [d696d6657261]
10410
10411         * Makefile.in, config.h.in, configure, configure.in, getline.c,
10412         sudoreplay.c:
10413         Use getline() if the system has it, else use provide our own for
10414         sudoreplay.
10415         [afca1d6fbe5e]
10416
10417         * script.c:
10418         Refactor code to update output and timing files.
10419         [361491332b1a]
10420
10421 2009-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10422
10423         * sudoreplay.c:
10424         Make sudo_getln() behave more like glibc getline.
10425         [40c9f2ea29e6]
10426
10427         * script.c:
10428         When flushing remaining output, also update timing file.
10429         [5a9a5a627549]
10430
10431         * sudoreplay.c:
10432         Use get_timestr() and make the -l output look like the regular sudo
10433         log.
10434         [452ba9d436c9]
10435
10436         * logging.c, sudo.h, timestr.c:
10437         Make get_timestr() take a time_t so we can use it properly in
10438         sudoreplay.
10439         [82e67cc53c9c]
10440
10441         * script.c:
10442         Create session dir earlier now that we update the seq number early.
10443         [797fe8d6dc61]
10444
10445 2009-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10446
10447         * sudoreplay.c:
10448         Use fromdate and todate as the keywords instead of from and to; the
10449         short forms will still be accepted.
10450         [d14d9b116df4]
10451
10452         * sudoreplay.c:
10453         Fix reading long liensin sudo_getln()
10454         [58dadd74118c]
10455
10456         * script.c, sudoreplay.c:
10457         Log the cwd in the script log file. Add sudo_getln() to read
10458         arbitrarily long lines.
10459         [faceb802ab8f]
10460
10461         * Makefile.in, logging.c, sudo.h, timestr.c:
10462         Move get_timestr() into its own source file so sudoreplay can use
10463         it.
10464         [99b054bfa20a]
10465
10466 2009-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10467
10468         * sudoreplay.c:
10469         Add to and from perdicates (date ranges); needs documentation
10470         [1d629174dcf4]
10471
10472 2009-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
10473
10474         * Makefile.in, getdate.c, getdate.y:
10475         Fix warning and add generated getdate.c
10476         [b877a86b5a03]
10477
10478         * Makefile.in, getdate.y:
10479         Add getdate.y to be used for sudoreplay date parsing.
10480         [b8e26fbb7a40]
10481
10482 2009-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10483
10484         * sudoreplay.c:
10485         Check more than just the first character of a predicate
10486         [4fe53728adb1]
10487
10488         * sudoreplay.cat, sudoreplay.man.in, sudoreplay.pod:
10489         Add examples, sort predicates
10490         [70f8075cbccc]
10491
10492         * Makefile.in, sudoreplay.c, sudoreplay.cat, sudoreplay.man.in,
10493         sudoreplay.pod:
10494         Implement search expressions in sudoreplay similar in concept to
10495         what find or tcpdump uses. TODO: date ranges
10496         [f7ce4fb4cf3a]
10497
10498 2009-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10499
10500         * script.c:
10501         Remove vhangup as it was hanging up the wrong tty. Should really
10502         vhangup in the child after it as set its tty.
10503         [2eed9df73010]
10504
10505         * sudoers.pod:
10506         Fix cut at documenting transcript support.
10507         [e6c533a5568a]
10508
10509         * logging.c:
10510         ID= -> TSID= for transcript ID
10511         [1bf755a35333]
10512
10513 2009-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10514
10515         * sudoers.pod:
10516         Move fast_glob description to where it belongs in sorted order
10517         [5901cfb0d25f]
10518
10519         * def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
10520         parse.c, parse.h, sudo.c:
10521         Rename script -> transcript
10522         [e06cf823122c]
10523
10524 2009-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
10525
10526         * compat.h:
10527         Add timeradd and timersub for those without them
10528         [929f8aa06c2b]
10529
10530         * script.c:
10531         Sanity check sessid before using it.
10532         [aa8ca5211d43]
10533
10534         * sudo.c:
10535         Only set the session id if we are running a command or editing a
10536         file.
10537         [7205d717c098]
10538
10539         * script.c:
10540         Actually. qsort is fine since most versions fal back to a cheaper
10541         sort when the number of elements to sort is small (like in our
10542         case).
10543         [d11c7cd352fe]
10544
10545         * config.h.in, configure, configure.in, script.c:
10546         Check for dup2 and use dup instead if we don't have it.
10547         [98bd89830f8a]
10548
10549         * script.c, sudo.c, sudo.h:
10550         Move the code to dup2 the script fds to low numbered descriptors
10551         into script_duplow() and fix the fd sorting.
10552         [9453fdc5fba6]
10553
10554         * script.c, sudo.c, sudo.h:
10555         Move script_setup() back to immediately before we drop privs and
10556         call the new script_nextid() in its place, which will set
10557         sudo_user.sessid for the logging functions.
10558         [8434d0c8ff08]
10559
10560 2009-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
10561
10562         * Makefile.in:
10563         Install sudoreplay
10564         [6acf2cdb4d3f]
10565
10566         * sudoreplay.c:
10567         remove unused variable
10568         [2316360bb992]
10569
10570 2009-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10571
10572         * logging.c, script.c, sudo.c, sudo.h:
10573         Log the session ID, if there is one. Currently logs ID=XXXXXX,
10574         perhaps should be SESSIONID or SESSID.
10575         [53976905b0a6]
10576
10577         * Makefile.in, configure, configure.in, sudoreplay.cat,
10578         sudoreplay.man.in, sudoreplay.pod:
10579         Add sudoreplay docs
10580         [da4f14f0e64c]
10581
10582         * sudoreplay.c:
10583         add -V (version) flag
10584         [b5e743639ee3]
10585
10586         * sudoreplay.c:
10587         Hook up max_wait.
10588         [2ec5697a92ba]
10589
10590         * script.c, sudoreplay.c:
10591         Use base36 number for the ID and store script files with paths like
10592         /var/log/sudo-session/00/00/00{,.tim,.scr}. This gives us 36^6
10593         (2,176,782,336) unique IDs.
10594         [6aab019d07aa]
10595
10596 2009-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10597
10598         * config.h.in, configure.in:
10599         Add check for regcomp
10600         [44c3ebd7ff34]
10601
10602         * sudoreplay.c:
10603         Add support for selecting by pattern and tty when listing.
10604         [66189f840c52]
10605
10606 2009-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10607
10608         * sudoreplay.c:
10609         The beginnings of a list mode.
10610         [8d0150b4a52c]
10611
10612 2009-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
10613
10614         * Makefile.in:
10615         fix pasto
10616         [616b4640b8a8]
10617
10618         * Makefile.in, config.h.in, configure.in:
10619         Add scaffolding for building sudoreplay
10620         [a32958505dbe]
10621
10622         * sudoreplay.c:
10623         include error.h first arg to nanotime is const
10624         [fe5a7bb31bc5]
10625
10626         * sudoreplay.c:
10627         Initial cut at sudoreplay; replay a sudo session.
10628         [f149fba372bd]
10629
10630 2009-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10631
10632         * script.c:
10633         Fix wait() usage and use correct wait status.
10634         [f4745ed7ad05]
10635
10636         * sudo.c, sudo.h, tgetpass.c:
10637         Add protos for term_* to sudo.h
10638         [14fe1abd7e7b]
10639
10640         * script.c:
10641         Fix detection of the child process exiting. Since the child is in
10642         its own session we should only ever get SIGCHLD for that process but
10643         better safe than sorry.
10644         [7edfdadd8505]
10645
10646         * config.h.in:
10647         Add UNIX98 pty support.
10648         [82f4b53a0e8f]
10649
10650         * configure, configure.in, script.c:
10651         Add UNIX98 pty support.
10652         [795b8bb0a3a1]
10653
10654 2009-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
10655
10656         * term.c:
10657         For raw mode, don't bother clearing BRKINT or PARMRK and clear IUCLC
10658         if it is defined.
10659         [40f8b83baf69]
10660
10661         * auth/pam.c:
10662         Set PAM_RUSER and PAM_RHOST early so they can be used during
10663         authentication. Based on a patch from Jamie Beverly.
10664         [3d567b453a6a]
10665
10666         * match.c:
10667         Close dir before returning if strlcpy() reports overflow. From
10668         Martynas Venckus.
10669         [6a82f96473e5]
10670
10671         * config.h.in, configure, configure.in, script.c:
10672         On Linux, the openpty proto libes in pty.h
10673         [98643a018d1c]
10674
10675         * script.c:
10676         Call vhangup on exit if the system has it Use setpgrp() if no
10677         setsid()
10678         [3a9e13149829]
10679
10680 2009-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
10681
10682         * config.h.in, configure, configure.in:
10683         Add checks for revoke and vhangup if we don't have openpty
10684         [fcb04572e994]
10685
10686         * script.c:
10687         Session logging guts that got forgotten in the previous commit.
10688         [c2af08a63ea9]
10689
10690         * Makefile.in, aclocal.m4, compat.h, config.h.in, configure,
10691         configure.in, def_data.c, def_data.h, def_data.in, gram.c, gram.h,
10692         gram.y, parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, term.c,
10693         tgetpass.c:
10694         First cut at session logging for sudo. Still need to write
10695         get_pty() for Unix 98 and old-style BSD ptys. Also needs
10696         documentation and general cleanup.
10697         [77e3f5e25738]
10698
10699 2009-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
10700
10701         * sudo.c, sudo_edit.c:
10702         Fix a bug introduced with def_closefrom. The value of def_closefrom
10703         already includes the +1.
10704         [7291c136300d]
10705
10706 2009-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10707
10708         * Makefile.in:
10709         Generate sudo distributions with pax in ustar mode. No longer need
10710         to use a temp file or have the source dir name match the version.
10711         [9778177a8272]
10712
10713 2009-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10714
10715         * toke.c, toke.l:
10716         Fix expansion of %h in #include names. Fixes bugzilla 363
10717         [6e346879ba24]
10718
10719 2009-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
10720
10721         * mkdefaults:
10722         If no arg assume def_data.in
10723         [c1dd28c0e675]
10724
10725         * README, WHATSNEW:
10726         Update for 1.7.2
10727         [f5ad45f69f05] [SUDO_1_7_2]
10728
10729         * ChangeLog:
10730         sync
10731         [6283549396ff]
10732
10733 2009-06-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10734
10735         * sudoers.cat, sudoers.man.in, sudoers.pod:
10736         Add missing single quotes around a colon in Runas_Spec definition.
10737         From Elias Benali.
10738         [ccc6ee4fca83]
10739
10740 2009-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10741
10742         * sudo.man.in, sudoers.man.in:
10743         regen
10744         [546e75304ebf]
10745
10746         * redblack.c:
10747         In rbrepair, re-color the root or the first non-block node we find
10748         to be black. Re-coloring the root is probably not needed but won't
10749         hurt.
10750         [34d01ebe241b]
10751
10752         * sudo.cat, sudoers.cat:
10753         regen
10754         [bebf5a39f54f]
10755
10756 2009-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
10757
10758         * redblack.c:
10759         When repairing the tree, don't touch the root node.
10760         [9841f0d5d789]
10761
10762 2009-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10763
10764         * set_perms.c:
10765         Protect call to setegid in runas_setup with #ifdef HAVE_SETEUID.
10766         Reported by Josef Schmid.
10767         [ed044b1eb879]
10768
10769 2009-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
10770
10771         * sudoers.pod:
10772         Document that we accept env_pam-style environment files
10773         [e3b545456352]
10774
10775         * env.c:
10776         Adapt to accept pam_env-style /etc/environment which allows shell-
10777         style lines such as: export EDITOR="/usr/bin/vi"
10778         [752eb75bf007]
10779
10780         * sudoers.pod:
10781         Make it clear that env_delete only works when !env_reset. From Lo??c
10782         Minier
10783         [3bd3f8e351ba]
10784
10785 2009-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
10786
10787         * sudo.pod, sudoers.pod:
10788         Add non-unix group bits, adapted from Quest
10789         [8ce427de8dea]
10790
10791         * Makefile.in:
10792         build the .cat page in the current working dir, not the src dir
10793         [00e87a307674]
10794
10795         * env.c:
10796         Return EINVAL in setenv() if var is NULL or the empty string to
10797         match glibc behavior.
10798         [23fd7c247142]
10799
10800 2009-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
10801
10802         * configure, configure.in:
10803         Use AS_HELP_STRING for AC_ARG_WITH and AC_ARG_ENABLE
10804         [fedd4a3e2a85]
10805
10806 2009-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10807
10808         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
10809         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
10810         regen
10811         [7b9f461a40b3]
10812
10813 2009-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
10814
10815         * INSTALL:
10816         Document --with-libvas and --with-libvas-rpath
10817         [a071e6d96c89]
10818
10819 2009-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
10820
10821         * ldap.c, sudoers.ldap.pod:
10822         For netscape-derived LDAP SDKs the cert and key paths may be a
10823         directory or a file. However, version 5.0 of the SDK only seems to
10824         support using a directory. If ldapssl_clientauth_init fails and the
10825         cert or key paths look like they could be files, strip off the last
10826         path element and try again.
10827         [ac4e49d83043]
10828
10829         * Makefile.in:
10830         Add non-Unix group .o to COMMON_OBJS and substitute in path to flex.
10831         [4547cc1a335f]
10832
10833 2009-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
10834
10835         * configure, configure.in, match.c, sudo.c, vasgroups.c:
10836         Update non-Unix group support from Quest, as reworked by me.
10837         [1abafce29dc6]
10838
10839         * toke.c:
10840         regen
10841         [01bfca9148b7]
10842
10843         * toke.l:
10844         Add support for escaped hex chars in names, e.g. \x20 for space.
10845         [3c7be8e58a39]
10846
10847 2009-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10848
10849         * LICENSE, Makefile.in, aclocal.m4, alias.c, auth/aix_auth.c,
10850         auth/pam.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c, env.c,
10851         fileops.c, glob.c, gram.y, interfaces.c, lbuf.c, ldap.c, logging.c,
10852         logging.h, match.c, parse.c, parse.h, pathnames.h.in, pwutil.c,
10853         set_perms.c, sudo.c, sudo.h, sudo.pod, sudo_nss.c, sudo_nss.h,
10854         sudo_usage.h.in, sudoers.ldap.pod, sudoers.pod, testsudoers.c,
10855         tgetpass.c, toke.l, visudo.c:
10856         Update copyright years.
10857         [e615f676c764]
10858
10859 2009-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10860
10861         * interfaces.c, lbuf.c:
10862         Minor fixes for Minix-3
10863         [898c510d23f9]
10864
10865 2009-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10866
10867         * set_perms.c:
10868         Handle getgroups() returning 0. Also add missing check for
10869         HAVE_GETGROUPS.
10870         [d73b958f9ffd]
10871
10872 2009-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10873
10874         * Makefile.in, config.h.in, configure, configure.in, sudo.c,
10875         version.h, visudo.c:
10876         Replace version.h with PACKAGE_VERSION set via AC_INIT in configure.
10877         [5050579a264d]
10878
10879 2009-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10880
10881         * set_perms.c:
10882         Remove group setting code in setusercontext case, we will do it
10883         ourselves later on in runas_setup. Set the gid after
10884         initgroups/setgroups is called, since on Mac OS X it seems to change
10885         the egid.
10886         [09dc21d8b42d]
10887
10888 2009-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
10889
10890         * LICENSE, Makefile.in, config.h.in, match.c, nonunix.h, sudo.c,
10891         vasgroups.c:
10892         Initial bits of non-unix group support using Quest Authentication
10893         Services
10894         [1eecab0ff27e]
10895
10896         * toke.c, toke.l:
10897         Accept %:foo as a non-Unix group
10898         [4c4b5dd899a6]
10899
10900         * toke.c, toke.l:
10901         Allow user/group to be double quoted in the case of non-Unix groups
10902         which contain spaces.
10903         [47a3d568b7e8]
10904
10905 2009-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
10906
10907         * match.c:
10908         Don't allow the user to specify the default runas user if their
10909         sudoers entry only allows them to run as a group.
10910         [4d726177227c]
10911
10912 2009-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
10913
10914         * sudo.c:
10915         Must call audit_success before we change uids.
10916         [04a9e6ce6e55]
10917
10918         * logging.c, set_perms.c, sudo.h, testsudoers.c:
10919         Add option for set_perm to not exit on failure and use this in the
10920         logging routines.
10921         [833dce7b7f42]
10922
10923         * parse.c:
10924         In -l mode, if the user is only allowed to run as a group, display
10925         the user's name, not root's before the allowed group.
10926         [ef92ff99d265]
10927
10928         * sudo.c:
10929         Fix -g mode, broken by rev 1.503 which had the side effect of
10930         setting the runas user to root unilaterally.
10931         [50a2f7df4385]
10932
10933 2009-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
10934
10935         * fileops.c:
10936         When unlocking a file with fcntl, use F_SETLK, not F_SETLKW.
10937         [30fbe832dcf3]
10938
10939         * pwutil.c:
10940         Only cache by the method we fetched for pwd and grp lookups.
10941         Previously we cached both by namd and id but this can cause problems
10942         for entries that share the same id. Also add more info in the error
10943         message in case the insert fails (which should now be impossible).
10944         [ef95a4f0bab5]
10945
10946 2009-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
10947
10948         * sudoers.pod:
10949         Add a clarification from Nick Sieger
10950         [1eadad329561]
10951
10952 2009-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
10953
10954         * env.c:
10955         Inline the setting of the environment string.
10956         [9515d11c6295]
10957
10958 2009-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
10959
10960         * env.c:
10961         setenv(3) in Linux treats a NUL value as the empty string setenv(3)
10962         in BSD doesn't return an error if the name has '=' in it, it just
10963         treats the '=' as end of string.
10964         [941260bf94d2]
10965
10966 2009-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
10967
10968         * toke.c, toke.l:
10969         Not all systems have d_namlen
10970         [e377b18d8e2d]
10971
10972 2009-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
10973
10974         * sudoers.pod:
10975         Fix up some pod2html issues.
10976         [823a1f10ab60]
10977
10978 2009-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
10979
10980         * interfaces.c:
10981         Check for NULL ifa_addr and ifa_netmask. Adapted from a diff from
10982         Quest Software.
10983         [73de36653131]
10984
10985         * sudoers.pod:
10986         Ignore files ending in '~' in sudo.d (emacs backup files)
10987         [7871fad702db]
10988
10989         * toke.c, toke.l:
10990         Ignore files ending in '~' in sudo.d (emacs backup files)
10991         [53fded2a469f]
10992
10993 2009-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
10994
10995         * sudoers.cat, sudoers.man.in, sudoers.pod, toke.c, toke.l:
10996         For #includedir, ignore any file containing a dot
10997         [a7daa1bce6c2]
10998
10999         * Makefile.in, version.h:
11000         Bump version
11001         [ef60f14ffc44]
11002
11003         * gram.c, gram.y, parse.c, parse.h, sudo.c, sudo.h, sudoers.cat,
11004         sudoers.man.in, sudoers.pod, testsudoers.c, toke.c, toke.l,
11005         visudo.c:
11006         Implement #includedir directive. Files in an includedir are not
11007         edited by visudo unless they contain a syntax error.
11008         [3923d85a6c79]
11009
11010         * ChangeLog:
11011         sync
11012         [8741ed61a78b] [SUDO_1_7_1]
11013
11014         * WHATSNEW:
11015         Forgot umask_override
11016         [7c86a21a5504]
11017
11018         * ChangeLog, TODO:
11019         sync
11020         [57339ca6bccf]
11021
11022 2009-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11023
11024         * visudo.c:
11025         Rewind stream if we fdopen sudoers since it may not be at the
11026         beginning. Set the keepopen flag on already-open files too so the
11027         lexer doesn't close them out from under us.
11028         [61292d819aff]
11029
11030         * visudo.c:
11031         Print the proper file name when there is a parse error in an include
11032         file.
11033         [b0e85d4aedde]
11034
11035 2009-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11036
11037         * WHATSNEW:
11038         Sync
11039         [997e5d485ea3]
11040
11041 2009-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11042
11043         * configure, configure.in:
11044         Fix a warning when --without-ldap is specified.
11045         [d91fd9481b30]
11046
11047 2009-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11048
11049         * alias.c, parse.h, visudo.c:
11050         Store aliases that we remove during check_aliases in a freelist and
11051         free them at the end so we don't leak memory.
11052         [805e2272f6a3]
11053
11054 2009-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
11055
11056         * visudo.c:
11057         Check aliases in -c mode too.
11058         [9199e188d9f2]
11059
11060         * alias.c, parse.h, visudo.c:
11061         Make alias_remove return the alias struct instead of freeing it
11062         directly. Fixes a use after free in alias_remove_recursive, the only
11063         consumer.
11064         [a04b61804800]
11065
11066         * alias.c, match.c, parse.c, parse.h, visudo.c:
11067         Rename find_alias -> alias_find for consistency.
11068         [48b0a82924f3]
11069
11070 2009-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11071
11072         * visudo.c:
11073         When checking for unused aliases, recurse if the alias points to
11074         another alias.
11075         [2d4d1a7f3a41]
11076
11077 2009-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11078
11079         * ldap.c:
11080         Back out rev 1.105 for now. Real ldapux_client.conf support will be
11081         done later after some refactoring.
11082         [8ad72e69b277]
11083
11084 2009-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11085
11086         * ldap.c:
11087         Treat ldap_hostport the same as "host" for ldapux.
11088         [3281dcc66da8]
11089
11090         * configure, configure.in:
11091         Only check for ldap_sasl_interactive_bind_s if we can find sasl.h.
11092         Fixes compilation with ldapux.
11093         [ca1ed585ef0e]
11094
11095 2009-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11096
11097         * fileops.c:
11098         fix char subscript
11099         [41e51f080d00]
11100
11101 2009-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11102
11103         * Makefile.in:
11104         remove errant carriage returns
11105         [e9e258a31c7b]
11106
11107         * audit.c, env.c:
11108         fix K&R compilation
11109         [d182e8920f13]
11110
11111         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
11112         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
11113         regen
11114         [791a5cbf04e5]
11115
11116 2009-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11117
11118         * config.h.in:
11119         Add missing HAVE_BSM_AUDIT
11120         [49ad1bb96f04]
11121
11122         * WHATSNEW:
11123         Add 1.7.1 features
11124         [f107f1604c61]
11125
11126         * INSTALL:
11127         Mention --with-netsvc
11128         [d1e90d147795]
11129
11130         * sudoers.ldap.pod:
11131         Document netsvc.conf support
11132         [e78f8abce6af]
11133
11134         * configure, configure.in, pathnames.h.in, sudo.c, sudo_nss.c,
11135         sudo_nss.h:
11136         Add support for AIX netsvc.conf (like nsswitch.conf).
11137         [1df56a84dee5]
11138
11139 2009-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11140
11141         * config.h.in, configure, configure.in, env.c:
11142         Add --enable-env-debug flag to enable environment sanity checks.
11143         [128cdd8832e7]
11144
11145         * sudoers.ldap.pod, sudoers.pod:
11146         Work around some pod2html issue.
11147         [e733b9609bd2]
11148
11149 2009-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11150
11151         * env.c:
11152         Only sync environ for putenv, setenv, and unsetenv. We need to make
11153         sure that sudo_putenv and sudo_setenv only modify env.envp, not
11154         environ.
11155         [be3ac732243c]
11156
11157 2009-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11158
11159         * env.c:
11160         Really fix UNSETENV_VOID
11161         [08ab7e882507]
11162
11163         * env.c:
11164         Fix unsetenv when UNSETENV_VOID
11165         [d3038b3f2f15]
11166
11167         * aclocal.m4, configure:
11168         Fix SUDO_FUNC_PUTENV_CONST
11169         [de35569c572b]
11170
11171         * ldap.c:
11172         tivoli-based ldap does not have ldapssl_err2string
11173         [c63fd90d5e99]
11174
11175         * configure:
11176         regen
11177         [f38f1ee828ad]
11178
11179 2009-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11180
11181         * config.h.in, configure, configure.in, ldap.c:
11182         Add support for Tivoli-based LDAP start TLS as seen in AIX.
11183         Untested.
11184         [8f8771829f85]
11185
11186         * env.c:
11187         Add sanity checks for setenv/unsetenv
11188         [adbd1d95856b]
11189
11190         * Makefile.in:
11191         Include bsm_audit.h in the tarball
11192         [4a4aa02b2c32]
11193
11194         * Makefile.in, version.h:
11195         bump version for sudo 1.7.1
11196         [362c71d21595]
11197
11198         * aclocal.m4, auth/aix_auth.c, config.h.in, configure, configure.in,
11199         env.c, ldap.c, sudo.h:
11200         Replace sudo_setenv/sudo_unsetenv with calls to setenv/unsetenv and
11201         provide our own setenv/unsetenv/putenv that operates on own env
11202         pointer. Make sync_env() inline in setenv/unsetenv/putenv functions.
11203         [276edcd23032]
11204
11205 2009-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11206
11207         * sudo.c:
11208         Make "sudoedit -h" work as expected
11209         [2bcbbb45d389]
11210
11211         * auth/pam.c:
11212         Make sure def_prompt is always defined. This is a workaround for
11213         pam configs that prompt for a password in the session but don't have
11214         an auth line. A better fix is to expand the sudo prompt earlier and
11215         set def_prompt to that when initializing.
11216         [ee073c04aec3]
11217
11218         * sudo.pod:
11219         Mention that the helper for -A may be graphical.
11220         [b64a940c4082]
11221
11222         * TROUBLESHOOTING:
11223         Document what happens if there is no tty.
11224         [313d58a856a5]
11225
11226         * sudo.c:
11227         cosmetic changes
11228         [894f5e3b0c3e]
11229
11230         * term.c:
11231         Fix term_restore
11232         [6c6315ff14bc]
11233
11234         * sudo.c:
11235         Fix "sudo -k" with no other args
11236         [59e94dc419c6]
11237
11238 2009-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11239
11240         * check.c, sudo.c, sudo.pod, sudo_usage.h.in:
11241         Allow the -k flag to be specified in conjunction with a command or
11242         another option that may require authentication.
11243         [5960ff20355d]
11244
11245 2009-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11246
11247         * configure, configure.in:
11248         Remove unneeded AC_CANONICAL_TARGET; from Diego E. 'Flameeyes'
11249         [e86ab69c4a57]
11250
11251         * Makefile.in:
11252         Parallel make fix. From Diego E. 'Flameeyes'
11253         [1289d7ee27db]
11254
11255 2009-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11256
11257         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
11258         Implement umask_override
11259         [8b87a3f7c5aa]
11260
11261         * toke.c:
11262         regen
11263         [79d7ca9ac873]
11264
11265         * sudoers.pod, toke.l, visudo.c:
11266         Implement %h escape in sudoers include filenames.
11267         [a7f288dd64f0]
11268
11269         * audit.c:
11270         Need to include compat.h
11271         [c0dc07ce2f70]
11272
11273         * Makefile.in, audit.c, bsm_audit.c, bsm_audit.h, logging.h, sudo.c:
11274         Make audit_success and audit_failure generic functions in
11275         preparation for integrating linux audit support.
11276         [7df020a8fd6f]
11277
11278         * term.c:
11279         remove duplicate include
11280         [1dfcd01a7e46]
11281
11282 2009-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11283
11284         * bsm_audit.c:
11285         Add missing include
11286         [fb56e08c37ee]
11287
11288         * sudo.c:
11289         May need to update the runas user after parsing command-based
11290         defaults.
11291         [246f130d7802]
11292
11293 2009-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11294
11295         * glob.c:
11296         Add missing pair of braces introduced with character class support.
11297         [0e2afa2e03e9]
11298
11299 2009-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11300
11301         * def_data.c, def_data.h, def_data.in, sudoers.pod, tgetpass.c:
11302         Rename pwstars to pwfeedback
11303         [a9f85a57ebac]
11304
11305 2009-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11306
11307         * bsm_audit.c, bsm_audit.h:
11308         Add const to make MacOS happy.
11309         [4274432d6627]
11310
11311         * Makefile.in, auth/sudo_auth.c, bsm_audit.c, bsm_audit.h, configure,
11312         configure.in, sudo.c:
11313         Add bsm audit support from Christian S.J. Peron
11314         [bef61cd8693d]
11315
11316         * term.c:
11317         This is new code, no DARPA notice.
11318         [ec6ad09b9c23]
11319
11320 2009-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11321
11322         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
11323         Rename simple_glob -> fast_glob
11324         [68d9ed803cc1]
11325
11326         * match.c:
11327         g/c unused var
11328         [693fa0464eb6]
11329
11330         * def_data.c, def_data.h, def_data.in, match.c, sudoers.pod:
11331         Add simple_glob option to use fnmatch() instead of glob(). This is
11332         useful when you need to specify patterns that reference network file
11333         systems.
11334         [77ba634f6949]
11335
11336         * tgetpass.c:
11337         add term_* proto
11338         [520f5149d073]
11339
11340         * sudoers.pod:
11341         mention glob()
11342         [ddaab8e03c52]
11343
11344 2009-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11345
11346         * tgetpass.c:
11347         Delete any pwstars we wrote after the user hits return. That way
11348         there is no record on screen as to the user's password length.
11349         [fae25cda762b]
11350
11351 2009-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11352
11353         * term.c:
11354         Move terminal setting bits from tgetpass.c to term.c
11355         [03d43325ee99]
11356
11357         * Makefile.in, def_data.c, def_data.h, def_data.in, sudoers.pod,
11358         tgetpass.c:
11359         Add pwstars sudoers option that causes sudo to print a star every
11360         time the user presses a key.
11361         [7aab417e184d]
11362
11363 2009-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11364
11365         * Makefile.in:
11366         Fix up F<> brokenness for visudo.man.in and sudoers.ldap.man.in.
11367         [64f70e879816]
11368
11369 2009-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
11370
11371         * ldap.c:
11372         For ldap_search_ext_s() the sizelimit param should be 0, not -1, to
11373         indicate no limit. From Mark Janssen.
11374         [e2c5732d54f5]
11375
11376 2009-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11377
11378         * toke.c, toke.l:
11379         Comments that begin with #- should not be parsed as uids.
11380         [a72a50f12f41]
11381
11382 2009-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11383
11384         * sudo.c:
11385         Do not try to set the close on exec flag if we didn't actually open
11386         sudoers.
11387         [ece3ca256904]
11388
11389 2008-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11390
11391         * ChangeLog:
11392         regen
11393         [e11f0e4c1bdd] [SUDO_1_7_0]
11394
11395 2008-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11396
11397         * TODO:
11398         sync
11399         [5b8954462bb3]
11400
11401 2008-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11402
11403         * auth/pam.c:
11404         Return PAM_AUTH_ERR instead of PAM_CONV_ERR if user enters ^C at the
11405         password prompt.
11406         [8563601cb3de]
11407
11408         * configure, configure.in:
11409         Don't try to build sudo_noexec.so on HP-UX with the bundled compiler
11410         as it cannot generate shared objects.
11411         [6d4262ef9669]
11412
11413         * emul/charclass.h, glob.c, lbuf.c, tgetpass.c:
11414         K&R compilation fixes
11415         [77921678d17c]
11416
11417         * parse.c:
11418         Use tq_foreach_fwd when checking pseudo-commands to make it clear
11419         that we are not short-circuiting on last match. When pwcheck is
11420         'all', initialize nopass to TRUE and override it with the first non-
11421         TRUE entry.
11422         [96b209f4778f]
11423
11424 2008-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11425
11426         * parse.c:
11427         Do not short circuit pseudo commands when we get a match since,
11428         depending on the settings, we may need to examine all commands for
11429         tags.
11430         [fdbaf89d6f35]
11431
11432 2008-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11433
11434         * sudoers.cat, sudoers.man.in:
11435         regen
11436         [1ecce7c1b841]
11437
11438         * sudoers.pod:
11439         hostnames may also contain wildcards
11440         [82b76695601c]
11441
11442         * Makefile.in:
11443         remove stamp-* files and linux core files in clean target
11444         [22003f091467]
11445
11446 2008-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11447
11448         * auth/sudo_auth.h, config.h.in, configure, configure.in:
11449         Use HAVE_SIA_SES_INIT instead of HAVE_SIA for Digital UNIX
11450         [6905bede8410]
11451
11452 2008-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11453
11454         * configure, configure.in:
11455         correctly enable SIA on Digital UNIX
11456         [a51881d13995]
11457
11458         * TODO:
11459         checkpoint
11460         [af0fe8d94d42]
11461
11462         * ChangeLog:
11463         sync
11464         [831f623cf99c]
11465
11466 2008-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11467
11468         * check.c, sudo.h, tgetpass.c:
11469         Even if neither stdin nor stdout are ttys we may still have /dev/tty
11470         available to us.
11471         [20f306ba883b]
11472
11473 2008-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11474
11475         * sudoers.cat, sudoers.man.in:
11476         regen
11477         [76d97c4c318f]
11478
11479         * sudoers.pod:
11480         fix typos; Markus Lude
11481         [bff8bc1e2066]
11482
11483         * ChangeLog:
11484         sync
11485         [f108552531cd]
11486
11487         * toke.c:
11488         regen
11489         [de828413c67e]
11490
11491         * toke.l:
11492         Fix matching of a line that only consists of a comment char
11493         [09c953d8d5ca]
11494
11495 2008-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11496
11497         * auth/pam.c:
11498         MacOS pam will retry conversation function if it fails so just treat
11499         ^C as an empty password.
11500         [d056058930bc]
11501
11502         * visudo.c:
11503         When checking for alias use, also check defaults bindings.
11504         [2647f82c7dbd]
11505
11506         * redblack.c:
11507         unused var
11508         [b7ff71c17c18]
11509
11510         * redblack.c:
11511         Replace my rbdelete with Emin's version (which actually works ;-)
11512         [21b133dd0c72]
11513
11514 2008-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
11515
11516         * testsudoers.c:
11517         malloc debugging
11518         [0fb446fa3279]
11519
11520         * visudo.c:
11521         malloc options in devel mode for visudo too
11522         [98d06c6afeef]
11523
11524 2008-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
11525
11526         * sudo.c:
11527         fix compilation on non-C99; from Theo
11528         [7c304e16c536]
11529
11530         * visudo.c:
11531         fix check_aliases
11532         [83f30a3b1765]
11533
11534         * alias.c:
11535         when destroying an alias, free the correct data pointer
11536         [6e1a8bd86c01]
11537
11538         * auth/sudo_auth.h:
11539         add proto for aixauth_cleanup; from Dale King
11540         [eba94ffc8f63]
11541
11542 2008-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
11543
11544         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
11545         visudo.man.in:
11546         regen
11547         [409fa57fff83]
11548
11549         * sudo.pod, sudoers.pod, visudo.pod:
11550         standardize on the term 'option' for command line options (not flag)
11551         [228caefc2e36]
11552
11553 2008-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11554
11555         * INSTALL:
11556         Add note on configuring HP-UX pam
11557         [f7674a581baf]
11558
11559 2008-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11560
11561         * check.c, sudo.c:
11562         Move tty checks into check_user() so we only do them if we actually
11563         need a password.
11564         [7d997d7106d6]
11565
11566         * sudo.c:
11567         Don't error out if no tty or askpass unless we actually need to
11568         authenticate.
11569         [9f23b83ed66c]
11570
11571 2008-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
11572
11573         * ChangeLog:
11574         regen
11575         [23f9aef32da6]
11576
11577         * pathnames.h.in, sudo.c:
11578         s/overriden/overridden/; from Tobias Stoeckmann
11579         [9f7459a8fac5]
11580
11581 2008-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
11582
11583         * WHATSNEW, visudo.c:
11584         check sudoers owner and mode in strict mode
11585         [a3468c5ac1c4]
11586
11587         * gram.c, toke.c:
11588         regen
11589         [7d6b515a5443]
11590
11591         * sudo.man.in, sudoers.man.in, visudo.man.in:
11592         Update copyright years.
11593         [52d340cb8cba]
11594
11595         * LICENSE, alias.c, alloc.c, auth/afs.c, auth/aix_auth.c,
11596         auth/bsdauth.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
11597         auth/securid.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.h,
11598         closefrom.c, compat.h, defaults.c, defaults.h, env.c, fileops.c,
11599         gettime.c, gram.y, ins_csops.h, insults.h, interfaces.c,
11600         interfaces.h, lbuf.c, license.pod, list.c, logging.c, logging.h,
11601         parse.c, parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c,
11602         sudo.c, sudo.pod, sudo_edit.c, sudo_nss.h, sudoers.pod,
11603         testsudoers.c, toke.l, tsgetgrpw.c, utimes.c, version.h, visudo.c,
11604         visudo.pod, zero_bytes.c:
11605         Update copyright years.
11606         [b4e6bf2beafa]
11607
11608         * emul/charclass.h, fnmatch.c, glob.c:
11609         add my copyright
11610         [28681385014a]
11611
11612 2008-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11613
11614         * toke.c, toke.l:
11615         The loop in fill_cmnd() was going one byte too far past the end,
11616         resulting in a NUL being written immediately after the buffer end.
11617         [a5a49d603cd7]
11618
11619         * UPGRADE, WHATSNEW:
11620         add sections on tgetpass changes
11621         [2e6929b6a102]
11622
11623         * tgetpass.c:
11624         Treat EOF w/o newline as an error.
11625         [aa02b1db9240]
11626
11627 2008-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
11628
11629         * parse.c:
11630         Fix "sudo -v" when NOPASSWD is set.
11631         [f4914711ea80]
11632
11633         * auth/bsdauth.c, auth/fwtk.c, auth/pam.c, auth/sudo_auth.c,
11634         auth/sudo_auth.h:
11635         No longer treat an empty password at the prompt as special. To quit
11636         out of sudo you now need to hit ^C at the password prompt.
11637         [980f760ad419]
11638
11639         * sudoers.cat, sudoers.man.in:
11640         regen
11641         [6ca21a2cd869]
11642
11643         * def_data.c, def_data.h, def_data.in, sudo.c, sudoers.pod:
11644         Sudo will now refuse to run if no tty is present unless the new
11645         visiblepw sudoers flag is set.
11646         [0cc56943252e]
11647
11648 2008-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11649
11650         * aix.c:
11651         just use RLIM_INFINITY for RLIM_SAVED_MAX if RLIM_SAVED_MAX not
11652         defined
11653         [24fc6f712d5c]
11654
11655         * aix.c:
11656         fix fallback value for RLIM_SAVED_MAX
11657         [e09e04e1af89]
11658
11659         * auth/aix_auth.c, auth/sudo_auth.h:
11660         Move clearing of AUTHSTATE into aixauth_cleanup.
11661         [e14ae7bd259c]
11662
11663         * auth/aix_auth.c, env.c:
11664         Unset AUTHSTATE after calling authenticate() as it may not be
11665         correct for the user we are running the command as.
11666         [d14f68f1b0ab]
11667
11668         * isblank.c:
11669         Add isblank() function for systems without it. Needed for POSIX
11670         character class matching in fnmatch.c and glob.c.
11671         [16cba30b283f]
11672
11673 2008-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
11674
11675         * TROUBLESHOOTING:
11676         expound on sudo and cd
11677         [8e0fa9033637]
11678
11679 2008-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
11680
11681         * ChangeLog:
11682         regen
11683         [40cf320a10fc]
11684
11685         * sudoers.cat, sudoers.man.in:
11686         regen
11687         [7cac761ae2c6]
11688
11689         * sudoers.pod:
11690         mention defauts parse order
11691         [4e2ce86d1394]
11692
11693 2008-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11694
11695         * Makefile.in, aclocal.m4, compat.h, configure:
11696         Add isblank() function for systems without it. Needed for POSIX
11697         character class matching in fnmatch.c and glob.c.
11698         [a1ab55da8424]
11699
11700         * Makefile.in:
11701         add emul/charclass.h to HDRS
11702         [7e8a019dcaa4]
11703
11704 2008-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11705
11706         * TODO:
11707         checkpoint
11708         [afeb9bc1baed]
11709
11710         * defaults.c, parse.c, testsudoers.c, visudo.c:
11711         Move update_defaults into defaults.c and call it properly from
11712         visudo and testsudoers.
11713         [f4dbb369461f]
11714
11715         * defaults.c, interfaces.c, pwutil.c, sudo.c, sudo_edit.c, tgetpass.c,
11716         tsgetgrpw.c:
11717         use zero_bytes() instead of memset() for consistency
11718         [4cee0465f4a8]
11719
11720         * logging.c, mon_systrace.c, parse.c, sudo.c, sudo_edit.c, tgetpass.c,
11721         visudo.c:
11722         Zero out sigaction_t before use in case it has non-standard entries.
11723         [120092225459]
11724
11725         * match.c:
11726         quiet gcc
11727         [098a1df49b23]
11728
11729         * match.c:
11730         Short circuit glob() checks if basename(pattern) !=
11731         basename(command). Refactor code that checks for a command in a
11732         directory and use it in the glob case if the resolved pattern ends
11733         in a '/'.
11734         [3c46fd317acb]
11735
11736 2008-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11737
11738         * defaults.h, parse.c, sudo.c, testsudoers.c, visudo.c:
11739         Defer setting runas defaults until after runaspw/gr is setup.
11740         [12e75ee49c0c]
11741
11742 2008-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
11743
11744         * match.c, sudo.c, testsudoers.c:
11745         Use MAXHOSTNAMELEN+1 when allocating host/domain name since some
11746         systems do not include space for the NUL in the size. Also manually
11747         NUL-terminate buffer from gethostname() since POSIX is wishy-washy
11748         on this.
11749         [7266ab3296a3]
11750
11751 2008-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11752
11753         * sudo.c, sudoers.pod:
11754         When setting the umask, use the union of the user's umask and the
11755         default value set in sudoers so that we never lower the user's umask
11756         when running a command.
11757         [4e804b004e38]
11758
11759         * sudo.c:
11760         Don't try to read from a zero-length sudoers file. Remove the bogus
11761         Solaris work-around for EAGAIN. Since we now use fgetc() it should
11762         not be a problem.
11763         [bb8e5f68d944]
11764
11765 2008-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11766
11767         * parse.c:
11768         In update_defaults() check the return value of user*_matches against
11769         ALLOW so we don't inadvertantly match on UNSPEC.
11770         [4e422fa1527e]
11771
11772 2008-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
11773
11774         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
11775         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
11776         regen man pages; no more hyphenation
11777         [15de4fe2fe01]
11778
11779         * sudo.c:
11780         Don't error out on a zero-length sudoers file. With the advent of
11781         #include the user could create a situation where sudo is unusable.
11782         [6eb461319fa5]
11783
11784 2008-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11785
11786         * auth/kerb5.c, config.h.in, configure, configure.in:
11787         Newer heimdal has 2-argument krb5_get_init_creds_opt_free() like MIT
11788         krb5. Really old heimdal has no krb5_get_init_creds_opt_alloc() at
11789         all. Add configure tests to handle all the cases.
11790         [4b554a98470d]
11791
11792 2008-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11793
11794         * sudo.pod:
11795         resort ENVIRONMENT
11796         [f4f20f40653e]
11797
11798         * sudoers.pod:
11799         document sudoers_locale
11800         [0bffd2dbe806]
11801
11802         * sudo.pod, sudo_edit.c:
11803         add SUDO_EDITOR variable that sudoedit uses in preference to VISUAL
11804         or EDITOR
11805         [0ef8cb248cee]
11806
11807         * toke.c, toke.l:
11808         In fill_cmnd(), collapse any escaped sudo-specific characters.
11809         Allows character classes to be used in pathnames.
11810         [5685244c8e44]
11811
11812 2008-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
11813
11814         * lbuf.c:
11815         fix typo in non-C89 function declaration
11816         [99a7113b3a05]
11817
11818         * sudoers.pod:
11819         Mention POSIX characters classes now that out fnmatch() and glob()
11820         support them.
11821         [9c916f1230c3]
11822
11823         * sample.sudoers, sudoers.pod:
11824         Replace [A-z] (which won't match in UTF8) with [A-Za-z] which is
11825         locale agnostic.
11826         [a60a62bec244]
11827
11828         * parse.h:
11829         use __signed char if we are going to assign a negative value since
11830         on Power, char is unsigned by default
11831         [2877b319df17]
11832
11833         * config.h.in, configure, configure.in:
11834         Add tests for __signed char and signed char.
11835         [5eb874fdf1d4]
11836
11837         * aix.c:
11838         Fix AIX limit setting. getuserattr() returns values in disk blocks
11839         rather than bytes. The default hard stack size in newer AIX is
11840         RLIM_SAVED_MAX. From Dale King.
11841         [3db67415ecc3]
11842
11843 2008-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11844
11845         * emul/charclass.h, fnmatch.c, glob.c:
11846         Add character class support to included glob(3) and fnmatch(3).
11847         [6b5b4ad77899]
11848
11849 2008-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
11850
11851         * emul/fnmatch.h:
11852         Remove UCB advertising clause and some compatibility defines.
11853         [2ade7bee74e1]
11854
11855 2008-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
11856
11857         * sudo_edit.c:
11858         Check EDITOR/VISUAL to make sure sudoedit is not re-invoking itself
11859         or sudo. This allows one to set EDITOR to sudoedit without getting
11860         into an infinite loop of sudoedit running itself until the path gets
11861         too big.
11862         [aa49ab68f82d]
11863
11864         * def_data.c, def_data.h, def_data.in, defaults.c, sudo.c:
11865         Add sudoers_locale Defaults option to override the default sudoers
11866         locale of "C".
11867         [0639886a35bf]
11868
11869 2008-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
11870
11871         * sudo.c:
11872         Set locale to system default except for during sudoers parse.
11873         [016dd2736728]
11874
11875 2008-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11876
11877         * match.c:
11878         Redo change in 1.34 to use pointer arithmetic.
11879         [f9e7b63bb450]
11880
11881 2008-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11882
11883         * match.c:
11884         Fix a dereference (read) of a freed pointer. Reported by Patrick
11885         Williams.
11886         [69877b633753]
11887
11888 2008-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
11889
11890         * sudo.c:
11891         Set locale to "C" to avoid interpretation issues with character
11892         ranges in sudoers. May want to make the locale a sudoers option in
11893         the future.
11894         [098a95de1746]
11895
11896 2008-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11897
11898         * config.h.in:
11899         we no longer use setproctitle
11900         [c7f20fb747ea]
11901
11902         * sudo.h:
11903         remove #if 1
11904         [a368ee6816c6]
11905
11906         * LICENSE, mkstemp.c:
11907         Use my replacement mkstemp() from the mktemp package.
11908         [d07c2beb0f9e]
11909
11910 2008-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
11911
11912         * gram.c:
11913         regen with yacc skeleton bug fixed
11914         [24784571cbb8]
11915
11916         * sudoers.pod:
11917         Remove duplicate "as root". From Martin Toft.
11918         [97241acfee5e]
11919
11920 2008-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
11921
11922         * pwutil.c, sudo.c, sudo.h, testsudoers.c:
11923         Flesh out the fake passwd entry used for running commands as a uid
11924         not listed in the passwd database. Fixes an issue with some PAM
11925         modules.
11926         [a6648227f3f2]
11927
11928 2008-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
11929
11930         * sudo.c:
11931         Error out in -i mode if the user has no shell. This can happen when
11932         running commands as a uid with no password entry.
11933         [0c174bef36ff]
11934
11935 2008-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
11936
11937         * toke.c, toke.l:
11938         Better fix for line continuation inside double quotes. Now accepts
11939         whitespace between the backslash and the newline like the main
11940         lexer.
11941         [64efcdf86d31]
11942
11943 2008-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
11944
11945         * toke.c, toke.l:
11946         Fix line continuation in strings. It was only being honored if
11947         preceded by whitespace.
11948         [96c21271a3e4]
11949
11950 2008-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
11951
11952         * config.h.in, configure, configure.in, logging.c:
11953         Replace the double fork with a fork + daemonize.
11954         [328505441e67]
11955
11956 2008-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
11957
11958         * env.c, sudo.c:
11959         The -i flag should imply env_reset. This got broken in sudo 1.6.9.
11960         [3caedfeaec87]
11961
11962         * logging.c, sudo.c, sudo_edit.c, visudo.c:
11963         Change how the mailer is waited for. Instead of having a SIGCHLD
11964         handler, use the double fork trick to orphan the child that opens
11965         the pipe to sendmail. Fixes a problem running su on some Linux
11966         distros.
11967         [b59ce60a393d]
11968
11969 2008-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
11970
11971         * configure, configure.in:
11972         Fix configure test for dirfd() on Linux where DIR is opaque.
11973         [b8f729cdfecc]
11974
11975 2008-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
11976
11977         * tgetpass.c:
11978         Get rid of the QNX TCSAFLUSH -> TCSADRAIN hack. If QNX still has
11979         this problem we'll need to revisit this again.
11980         [c17fee8ad530]
11981
11982 2008-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
11983
11984         * logging.c:
11985         Ignore SIGPIPE instead of blocking it when piping to the mailer. If
11986         we only block the signal it may be delivered later when we unblock.
11987         Also, there is no need to block SIGCHLD since we no longer do the
11988         double fork. The normal SIGCHLD handler is sufficient.
11989         [e94a49e992e5]
11990
11991 2008-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
11992
11993         * configure, configure.in:
11994         Add description for NO_PAM_SESSION, from a redhat patch.
11995         [b9e4c939ec09]
11996
11997 2008-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
11998
11999         * sudo.cat, sudo.man.in, sudo.pod:
12000         Fix typos in -i usage
12001         [2d7ce5de0235]
12002
12003 2008-05-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12004
12005         * configure, configure.in:
12006         Redo the test for dgettext() in a way that hopefully will work
12007         around the libintl_dgettext() undefined problem.
12008         [d27beb0cf85e]
12009
12010 2008-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12011
12012         * schema.ActiveDirectory:
12013         change filename in comment
12014         [733da4ee9ac5]
12015
12016 2008-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12017
12018         * Makefile.in, README.LDAP, sudoers.ldap.cat, sudoers.ldap.man.in,
12019         sudoers.ldap.pod:
12020         Reference schema.ActiveDirectory
12021         [d6aec537800e]
12022
12023 2008-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12024
12025         * schema.OpenLDAP, schema.iPlanet:
12026         Mark sudoRunAs as deprecated.
12027         [00c50df807af]
12028
12029         * schema.ActiveDirectory:
12030         add sudoRunAsUser and sudoRunAsGroup
12031         [19bcce6f72fb]
12032
12033         * schema.ActiveDirectory:
12034         Active Directory schema by Chantal Paradis and Eric Paquet
12035         [06a09c92c6a5]
12036
12037 2008-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12038
12039         * parse.c:
12040         remove an XXX that was fixed
12041         [b88038062fa2]
12042
12043         * ChangeLog:
12044         sync
12045         [8fc27c17270e]
12046
12047         * parse.c:
12048         Initialize tags to UNSPEC instead of def_* in "sudo -l" mode. This
12049         fixes a problem where the tag value printed was influenced by
12050         defaults set in the first pass through the parser.
12051         [588ccd630367]
12052
12053 2008-05-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12054
12055         * Makefile.in, sudo.psf:
12056         No point in packaging the TODO file
12057         [9590248fffe1]
12058
12059         * ChangeLog:
12060         sync
12061         [152acf4c6813]
12062
12063 2008-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12064
12065         * WHATSNEW, def_data.c, def_data.h, def_data.in, env.c, sudo.c,
12066         sudo.h, sudoers.cat, sudoers.man.in, sudoers.pod:
12067         Add env_file Defaults option that is similar to /etc/environment on
12068         some systems.
12069         [1daf53d51e18]
12070
12071 2008-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12072
12073         * Makefile.in, README, TODO, WHATSNEW, sudo.cat, sudo.man.in,
12074         sudoers.cat, sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.man.in,
12075         version.h, visudo.cat, visudo.man.in:
12076         change version to 1.7.0
12077         [d41d126b9bd8]
12078
12079         * UPGRADE:
12080         initial valgrind pass done
12081         [c59c3876d8ca]
12082
12083 2008-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12084
12085         * ldap.c:
12086         Fix typo/think in sudo_ldap_read_secret() when storing the secret.
12087         [830d246c09b0]
12088
12089 2008-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
12090
12091         * ldap.c:
12092         define LDAPS_PORT if the system headers do not
12093         [247b12325701]
12094
12095 2008-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12096
12097         * gram.c, gram.y:
12098         Fix another memory leak in init_parser().
12099         [7bba47deba11]
12100
12101         * configure, configure.in:
12102         There was a missing space before the ldap libs in SUDO_LIBS for some
12103         configurations.
12104         [7524cfc93759]
12105
12106         * alias.c, gram.c, gram.y, toke.c, toke.l:
12107         Clean up some memory leaks pointed out by valgrind.
12108         [a965866ece1a]
12109
12110 2008-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12111
12112         * sudo.c:
12113         fix "sudo -s" broken by mode/flags breakout
12114         [acffe984d408]
12115
12116         * configure, configure.in:
12117         remove duplicate check for dgettext
12118         [58145529133c]
12119
12120 2008-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12121
12122         * aix.c:
12123         Fall back to default stanza if no user-specific limit is found.
12124         [7b8cb29123ee]
12125
12126 2008-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12127
12128         * snprintf.c:
12129         include stdint.h if present
12130         [f0ec38529306]
12131
12132         * snprintf.c:
12133         Use LLONG_MAX, not the old QUAD_MAX
12134         [01041ce508fb]
12135
12136 2008-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12137
12138         * sudoers.ldap.pod:
12139         fix cut and pasto
12140         [34240fdef5ab]
12141
12142 2008-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12143
12144         * pwutil.c:
12145         Add #ifdef PURITY
12146         [ce1b571ad526]
12147
12148 2008-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
12149
12150         * auth/bsdauth.c:
12151         remove useless cast
12152         [494f8a862e1d]
12153
12154 2008-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12155
12156         * ChangeLog:
12157         sync
12158         [f5c97ffaabcc]
12159
12160         * TODO:
12161         sync
12162         [96ff1c44c182]
12163
12164         * sudo.h:
12165         Split MODE_* defines into primary and flags.
12166         [c02ee3027cb9]
12167
12168 2008-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
12169
12170         * aix.c:
12171         It turns out the logic for getting AIX limits is more convoluted
12172         than I realized and differs depending on whether the soft and/or
12173         hard limits are defined.
12174         [cf8d3f85d395]
12175
12176 2008-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12177
12178         * Makefile.in, configure, configure.in:
12179         Back out AIX-specific change to set the sudo_noexec path to the .a
12180         file, we do really want to use the .so file. Since libtool doesn't
12181         do that correctly, just install the .so file ourselves in the
12182         Makefile.
12183         [05c6f33177d9]
12184
12185         * install-sh:
12186         If the file given to install is a path, only use the basename of the
12187         file when building the destination path.
12188         [695ba4e429ce]
12189
12190 2008-03-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12191
12192         * sudo.c:
12193         parse_args() cleanup: Sort command line options in the getopt()
12194         switch The -U option requires a parameter Normalize a few ISSET
12195         calls Split mode into mode and flags and retire the now-obsolete
12196         excl variable
12197         [0d156835f861]
12198
12199         * WHATSNEW, check.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod,
12200         sudo_usage.h.in:
12201         Add -n (non-interactive) flag.
12202         [e3e50400d32d]
12203
12204         * sudo.c:
12205         Move version printing, etc. into a separate function.
12206         [18c91b476e2c]
12207
12208         * sudo.c:
12209         Don't try to cleanup nsswitch if it has not been initialized.
12210         [aeb1ca1b399d]
12211
12212 2008-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12213
12214         * logging.c:
12215         Block SIGPIPE in send_mail() so sudo is not killed by a problem
12216         executing the mailer.
12217         [f130e7924cca]
12218
12219 2008-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12220
12221         * configure, configure.in:
12222         AIX shared libs end in .a, not .so.
12223         [a5deb07020d8]
12224
12225 2008-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12226
12227         * env.c:
12228         Preserve HOME by default too. Matches documentation and previous
12229         behavior.
12230         [c16f17f1047c]
12231
12232 2008-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12233
12234         * sudo.c:
12235         Use getopt() to parse the command line. We need to be able to
12236         intersperse env variables and options yet still honor "--"" which
12237         complicates things slightly.
12238         [60f271ce5c16]
12239
12240 2008-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12241
12242         * ChangeLog:
12243         sync
12244         [685e67964eda]
12245
12246         * acsite.m4, configure, ltmain.sh:
12247         update to libtool-1.5.26
12248         [4c9a8c3d3b40]
12249
12250         * config.guess, config.sub:
12251         update from libtool-1.5.26 distribution
12252         [c6641aef2527]
12253
12254         * aix.c, sudo.h:
12255         attempt to fix compilation errors on AIX
12256         [edb13e5b2184]
12257
12258         * Makefile.in:
12259         fix typo in last commit
12260         [25ba7f7ceae4]
12261
12262         * Makefile.in:
12263         Add WHATSNEW file to the distribution
12264         [213f4115de8f]
12265
12266         * visudo.c:
12267         use warningx instead of fprintf(stderr, ...)
12268         [a3494b8ccb19]
12269
12270         * list.c:
12271         add DEBUG to list2tq
12272         [115d24a3000c]
12273
12274         * ChangeLog, TODO:
12275         sync
12276         [60e6f4d1fac0]
12277
12278         * WHATSNEW:
12279         mention mailfrom
12280         [e2498f9e18d6]
12281
12282         * Makefile.in, aix.c, config.h.in, configure, configure.in,
12283         set_perms.c, sudo.h:
12284         Add aix_setlimits() to set resource limits on AIX using a
12285         combination of getuserattr() and setrlimit(). Currently untested.
12286         [9b1441fd89ca]
12287
12288 2008-03-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12289
12290         * def_data.c, def_data.h, def_data.in, logging.c, sudoers.cat,
12291         sudoers.man.in, sudoers.pod:
12292         Add mailfrom Defaults option that sets the value of the From: field
12293         in the warning/error mail. If unset the login name of the invoking
12294         user is used.
12295         [029b9f05d3d9]
12296
12297         * defaults.c:
12298         store a copy of _PATH_SUDO_ASKPASS in def_askpass that is freeable
12299         [a90e407d5e00]
12300
12301         * gram.c, gram.y:
12302         When adding a default, only call list2tq() once to do the list to tq
12303         conversion. It is not legal to call list2tq multiple times on the
12304         same list since list2tq consumes and modifies the list argument.
12305         [fbc25d245c4a]
12306
12307         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12308         comment out XXXs for now
12309         [595a1d43309d]
12310
12311         * WHATSNEW:
12312         mention askpass
12313         [b993e0837c22]
12314
12315 2008-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12316
12317         * sudo.c:
12318         Error out if both -A and -S are specified Error out if -A is
12319         specified but no askpass is configured
12320         [24f1df2638f6]
12321
12322         * configure, configure.in:
12323         we are not going to ship a sudo-specific askpass
12324         [61949e7a3943]
12325
12326 2008-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12327
12328         * sudo.h:
12329         fix definition of TGP_ASKPASS
12330         [0447c57ba4c3]
12331
12332         * def_data.c, def_data.in:
12333         make askpass boolean-capable
12334         [e0885893a325]
12335
12336         * INSTALL:
12337         document --with-askpass
12338         [c76e15ba97cf]
12339
12340         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12341         sudoers.man.in, visudo.cat:
12342         regen
12343         [8d16242980b7]
12344
12345 2008-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12346
12347         * sudo.pod, sudo_usage.h.in, sudoers.pod:
12348         document -A and askpass
12349         [02c07505a78c]
12350
12351         * auth/sudo_auth.c, check.c, configure, configure.in, def_data.c,
12352         def_data.h, def_data.in, defaults.c, pathnames.h.in, sudo.c, sudo.h,
12353         sudo_usage.h.in, tgetpass.c:
12354         Add support for running a helper program to read the password when
12355         no tty is present (or when specified with the -A flag). TODO: docs.
12356         [05780f5f71fd]
12357
12358         * def_data.c, def_data.in:
12359         add missing printf format to SELinux role and type strings
12360         [2b32774715e7]
12361
12362 2008-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12363
12364         * INSTALL, configure, configure.in:
12365         Disable use of gss_krb5_ccache_name() by default and add
12366         --enable-gss-krb5-ccache-name configure option to enable it. It
12367         seems that gss_krb5_ccache_name() doesn't work properly with some
12368         combinations of Heimdal and OpenLDAP.
12369         [f61ebd3b19bd]
12370
12371 2008-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
12372
12373         * selinux.c:
12374         Ignore setexeccon() failing in permissive mode. Also add a call to
12375         setkeycreatecon() (though this is probably insufficient). From Dan
12376         Walsh.
12377         [52564fc1c069]
12378
12379         * auth/pam.c:
12380         Only set std_prompt for the PAM_PROMPT_* cases. The conversation
12381         function may be called for non-password reading purposes so we must
12382         be careful not to use def_prompt in cases where it may not be set.
12383         [29d88ca575ba]
12384
12385 2008-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12386
12387         * selinux.c:
12388         Don't free the new tty context, we need to keep it around when we
12389         restore the tty context after the command completes
12390         [5b4bd39b6ea8]
12391
12392 2008-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12393
12394         * selinux.c:
12395         s/newrole/sudo/
12396         [21b8a96ff8df]
12397
12398         * sudo.man.pl, sudo.pod:
12399         Only put login_cap(3) in SEE ALSO section if we have login.conf
12400         support
12401         [05250ddff2c0]
12402
12403 2008-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12404
12405         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12406         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12407         regen
12408         [301e5c5ccdbe]
12409
12410         * sudoers.pod:
12411         Substitute in comment characters for lines partaining to login.conf,
12412         BSD auth and SELinux and only enable them if pertinent.
12413         [c1c98fa163ce]
12414
12415         * sudoers.man.pl:
12416         Substitute in comment characters for lines partaining to login.conf,
12417         BSD auth and SELinux and only enable them if pertinent.
12418         [6c88f30b878a]
12419
12420         * sudo.pod:
12421         Substitute in comment characters for lines partaining to login.conf,
12422         BSD auth and SELinux and only enable them if pertinent.
12423         [acdbdfd24e1d]
12424
12425         * sudo.man.pl:
12426         Substitute in comment characters for lines partaining to login.conf,
12427         BSD auth and SELinux and only enable them if pertinent.
12428         [0c56d4750ac3]
12429
12430         * Makefile.in, configure, configure.in:
12431         Substitute in comment characters for lines partaining to login.conf,
12432         BSD auth and SELinux and only enable them if pertinent.
12433         [9a02bd6a6658]
12434
12435         * Makefile.in, sudo.pod, sudoers.ldap.pod, sudoers.pod, visudo.pod:
12436         Remove the =cut on the first line (above the copyright notice) to
12437         quiet pod2man. Also remove the hackery in the FILES section and
12438         just deal with the fact that there will a newline between each
12439         pathname.
12440         [2ac1ab191835]
12441
12442 2008-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12443
12444         * Makefile.in:
12445         run sudo.man.pl when generating sudo.man.in
12446         [859727369168]
12447
12448         * configure, configure.in, sudo.man.pl:
12449         comment out SELinux manual bits unless --with-selinux was specified
12450         [97ff4212b649]
12451
12452         * sudoers.pod:
12453         document role and type defaults for SELinux
12454         [870f303366b3]
12455
12456         * sudo.c, sudo.cat, sudo.man.in, sudo.pod, sudo_usage.h.in:
12457         Document "sudo -ll" and make "sudo -l -l" be equivalent.
12458         [3ce6dc429ea3]
12459
12460 2008-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12461
12462         * configure, configure.in:
12463         Treat k*bsd*-gnu like Linux, not BSD. Fixes compilation problems on
12464         Debian GNU/kFreeBSD.
12465         [c4efa567a328]
12466
12467 2008-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12468
12469         * auth/kerb5.c:
12470         Avoid Heimdal'isms introduced in the rev 1.32 rewrite of
12471         verify_krb_v5_tgt()
12472         [f80538e5a6fa]
12473
12474         * logging.c, logging.h, sudo.c:
12475         Remove dependence on VALIDATE_NOT_OK in logging functions. Split
12476         log_auth() into log_allowed() and log_denial() Replace mail_auth()
12477         with should_mail() and a call to send_mail()
12478         [58aac9997557]
12479
12480 2008-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
12481
12482         * ldap.c:
12483         Add debugging so we can tell if the krb5 ccache is accessible
12484         [c679322527bb]
12485
12486         * INSTALL:
12487         mention --with-selinux
12488         [9efbe0b52194]
12489
12490 2008-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12491
12492         * configure:
12493         regen
12494         [467a834f867c]
12495
12496         * selinux.c:
12497         add Sudo tag
12498         [d004ee669bed]
12499
12500         * sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod, sudo_usage.h.in,
12501         sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod,
12502         testsudoers.c, toke.c, toke.l:
12503         Add support for SELinux RBAC. Sudoers entries may specify a role
12504         and type. There are also role and type defaults that may be used.
12505         To make sure a transition occurs, when using RBAC commands are
12506         executed via the new sesh binary. Based on initial changes from Dan
12507         Walsh.
12508         [1d4abfe2c004]
12509
12510         * sesh.c:
12511         Add support for SELinux RBAC. Sudoers entries may specify a role
12512         and type. There are also role and type defaults that may be used.
12513         To make sure a transition occurs, when using RBAC commands are
12514         executed via the new sesh binary. Based on initial changes from Dan
12515         Walsh.
12516         [1e3b395ce049]
12517
12518         * Makefile.in, config.h.in, configure.in, def_data.c, def_data.h,
12519         def_data.in, gram.c, gram.h, gram.y, ldap.c, parse.c, parse.h,
12520         pathnames.h.in, selinux.c:
12521         Add support for SELinux RBAC. Sudoers entries may specify a role
12522         and type. There are also role and type defaults that may be used.
12523         To make sure a transition occurs, when using RBAC commands are
12524         executed via the new sesh binary. Based on initial changes from Dan
12525         Walsh.
12526         [6b421948286e]
12527
12528 2008-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
12529
12530         * lbuf.c, ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.c:
12531         Add long list (sudo -ll) support for printing verbose LDAP and
12532         sudoers file entries. Still need to update manual.
12533         [2875be37935c]
12534
12535 2008-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12536
12537         * ldap.c, parse.c, sudo.h, sudo_nss.c, sudo_nss.h:
12538         Unify the -l output for file and ldap based sudoers and use lbufs
12539         for both. The ldap output does not currently include options that
12540         cannot be represented as tags. This will be remedied in a long list
12541         output mode to come.
12542         [b2e429456596]
12543
12544 2008-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
12545
12546         * set_perms.c:
12547         Use a specific error message for errno == EAGAIN when setuid() et al
12548         fails. On Linux systems setuid() will fail with errno set to EAGAIN
12549         if changing to the new uid would result in a resource limit
12550         violation.
12551         [08d0aecd9f03]
12552
12553         * sudo.c:
12554         Unlimit nproc on Linux systems where calling the setuid() family of
12555         syscalls causes the nroc resource limit to be checked. The limits
12556         will be reset by pam_limits.so when PAM is used. In the non-PAM
12557         case the nproc limit will remain unlimited but there doesn't seem to
12558         be a way around that other than having sudo parse
12559         /etc/security/limits.conf directly.
12560         [df024b415a8d]
12561
12562         * env.c, sudo.c, sudo.pod:
12563         Only read /etc/environment on Linux and AIX
12564         [90669e2aefdb]
12565
12566 2008-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
12567
12568         * configure, configure.in:
12569         Use SUDO_DEFINE_UNQUOTED instead of AC_DEFINE_UNQUOTED to prevent
12570         ldap.conf and ldap.secret paths from going into config.h. Avoid
12571         single quotes in variable expansion when using SUDO_DEFINE_UNQUOTED
12572         since in some versions of bash they will end up literally in the
12573         resulting define.
12574         [25390f3ef10a]
12575
12576 2008-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
12577
12578         * README.LDAP:
12579         mention --with-nsswitch=no
12580         [c509df927263]
12581
12582         * configure, configure.in:
12583         ldap_ssl.h depends on ldap.h being included first
12584         [d96d90e9b21f]
12585
12586         * config.h.in, configure, configure.in, ldap.c:
12587         Include ldap_ssl.h if we can find it. Needed for the
12588         ldapssl_set_strength defines on HP-UX at least.
12589         [9e530470948a]
12590
12591         * sudoers.ldap.pod:
12592         sync
12593         [b9d101f4673a]
12594
12595         * TODO:
12596         sync
12597         [2ce951b2ecd0]
12598
12599         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.ldap.cat,
12600         sudoers.ldap.man.in, sudoers.man.in, visudo.cat, visudo.man.in:
12601         regen
12602         [b61d793987e0]
12603
12604         * Makefile.in:
12605         Use 78n line length when formatting cat pages.
12606         [761bee9d5759]
12607
12608         * README.LDAP:
12609         Remove redundant info that is now in sudoers.ldap.pod
12610         [01828dcce59e]
12611
12612 2008-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
12613
12614         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12615         Reorganize the first section a bit. Substitute the proper path for
12616         /etc/sudoers.
12617         [11ae165e065d]
12618
12619         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12620         Substitute values for ldap.conf, ldap.secret and nsswitch.conf Move
12621         schema into EXAMPLES
12622         [ab6509d1dde7]
12623
12624         * configure, configure.in:
12625         Substitute values for ldap.conf, ldap.secret and nsswitch.conf into
12626         sudoers.ldap.man.
12627         [6e689972f465]
12628
12629         * configure, configure.in:
12630         substitute for sudoers.ldap.man
12631         [5a4a25766dee]
12632
12633         * Makefile.in:
12634         Fix cut & pasto introduced when adding sudoers.ldap man page.
12635         [a7b069af8894]
12636
12637         * sudoers.ldap.cat, sudoers.ldap.man.in, sudoers.ldap.pod:
12638         Fill in some of the missing pieces. Still needs some reorganization
12639         and editing.
12640         [5e7331722166]
12641
12642 2008-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
12643
12644         * Makefile.in, sudoers.ldap.cat, sudoers.ldap.man.in,
12645         sudoers.ldap.pod:
12646         Beginnings of a sudoers.ldap man page. Currently, much of the
12647         information is adapted from README.LDAP.
12648         [aad28c8a922d]
12649
12650 2008-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
12651
12652         * pwutil.c:
12653         When copying gr_mem we must guarantee that the storage space for
12654         gr_mem is properly aligned. The simplest way to do this is to
12655         simply store gr_mem directly after struct group. This is not a
12656         problem for gr_passwd or gr_name as they are simple strings.
12657         [af58fc76f1ed]
12658
12659         * ldap.c:
12660         Fix a typo/thinko in one of the calls to
12661         sudo_ldap_check_user_netgroup(). From Marco van Wieringen.
12662         [70b2eb8097f5]
12663
12664 2008-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
12665
12666         * config.h.in, configure, configure.in, ldap.c:
12667         include <mps/ldap_ssl.h> in ldap.c if available
12668         [34346206ef16]
12669
12670 2008-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
12671
12672         * gram.c, gram.y:
12673         Make sure we define SIZE_MAX for yacc's skeleton.c
12674         [d8a45c7a3c42]
12675
12676         * tgetpass.c:
12677         Use TCSAFLUSH when restoring terminal settings (and echo) to
12678         guarantee that any pending output is discarded
12679         [549a184479e5]
12680
12681 2008-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
12682
12683         * sudoers:
12684         no longer need to specify SETENV when user has sudo ALL
12685         [3051b41f8032]
12686
12687         * testsudoers.c:
12688         sync user_args size calculation with sudo.c Add -g group option,
12689         renaming old -g to -G Add set_runasgr() and set_runaspw() and use
12690         them
12691         [0850325180f0]
12692
12693         * sudo.c, sudo.h:
12694         Make set_runaspw static void
12695         [5d44d7a340ce]
12696
12697         * testsudoers.c, visudo.c:
12698         g/c set_runaspw stub
12699         [79ebb5e2cc38]
12700
12701         * configure, configure.in:
12702         Don't add -llber twice.
12703         [4356d302eef4]
12704
12705 2008-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
12706
12707         * ldap.c:
12708         fix typo
12709         [249cecc557e9]
12710
12711 2008-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
12712
12713         * gram.c:
12714         regen
12715         [2f94ea375b67]
12716
12717         * configure, configure.in:
12718         Fix check that determines whether -llber is required.
12719         [6afa99523379]
12720
12721         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
12722         For netscape-based LDAP, use ldapssl_set_strength() to implement the
12723         checkpeer ldap.conf option.
12724         [16ae24d73795]
12725
12726         * auth/kerb5.c:
12727         Delay krb5_cc_initialize() until we actually need to use the cred
12728         cache, which is what krb5_verify_user() does. Better cleanup on
12729         failure.
12730         [d12e5f1695b8]
12731
12732 2008-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
12733
12734         * auth/kerb5.c:
12735         Rewrite verify_krb_v5_tgt() based on what heimdal's
12736         krb5_verify_user() does.
12737         [05b5815f86c9]
12738
12739 2008-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
12740
12741         * gram.c:
12742         The U suffix on constants is an ANSI feature
12743         [c6dfce3167f1]
12744
12745         * configure, configure.in:
12746         Add check for ber_set_option() in -llber
12747         [43d0c0566074]
12748
12749 2008-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
12750
12751         * README.LDAP:
12752         default if no nsswitch.conf is files only
12753         [c13001d9c998]
12754
12755 2008-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
12756
12757         * README.LDAP:
12758         don't tell people to mail aaron about LDAP stuff
12759         [8165ec1ef0c6]
12760
12761         * README.LDAP:
12762         timelimit and bind_timelimit
12763         [44f74cbed167]
12764
12765         * ChangeLog:
12766         sync
12767         [aba1a0ab02bd]
12768
12769         * ldap.c:
12770         Move ldap.secret reading into a separate function.
12771         [1948acc9f7a4]
12772
12773         * check.c:
12774         user_runas -> runas_pw
12775         [334490fc2bae]
12776
12777 2008-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
12778
12779         * TODO:
12780         sync
12781         [c7b165cc47c6]
12782
12783         * check.c, sudo.pod, sudoers.pod:
12784         Add and document the %p escape in the password prompt. Based on a
12785         patch from Patrick Schoenfeld.
12786         [3972d4f31ffa]
12787
12788         * ldap.c:
12789         Check strlcpy() return values.
12790         [9b42f3ae8ff1]
12791
12792         * ldap.c:
12793         refactor ldap binding code into sudo_ldap_bind_s()
12794         [cb0c66a4d955]
12795
12796         * README.LDAP:
12797         Make it clear that host and uri can take multiple parameters. URI is
12798         now supported for more than just openldap nsswitch.conf does't
12799         accept "compat"
12800         [f610dea656d6]
12801
12802         * sudo.c:
12803         comment cleanup and update (c) year
12804         [6cd69c810ca5]
12805
12806         * parse.c, sudo_nss.c:
12807         Move display_privs() and display_cmnd() from parse.c to sudo_nss.c.
12808         This should make it possible to build an LDAP-only sudo binary.
12809         [61c3f27066a0]
12810
12811         * ldap.c, parse.c, sudo.c, sudo.h, sudo_nss.h:
12812         Improve chaining of multiple sudoers sources by passing in the
12813         previous return value to the next in the chain
12814         [2c0b722b1b2d]
12815
12816         * gram.y:
12817         Free up parser data structures in sudo_file_close().
12818         [2251531d4519]
12819
12820         * gram.c, parse.c:
12821         Free up parser data structures in sudo_file_close().
12822         [8371f130f401]
12823
12824         * ldap.c:
12825         Parse uri ourself if no ldap_initialize() is present Use
12826         ldap_create() instead of deprecated ldap_init() Use
12827         ldap_sasl_bind_s() instead of deprecated ldap_simple_bind_s()
12828         [85d3825b1953]
12829
12830         * config.h.in, configure, configure.in:
12831         Add check for ldap_sasl_bind_s() Remove -DLDAP_DEPRECATED from
12832         CFLAGS
12833         [240524512bc5]
12834
12835 2008-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
12836
12837         * config.h.in, configure, configure.in:
12838         add check for ldap_create
12839         [3089badd73b8]
12840
12841 2008-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
12842
12843         * config.h.in, configure, configure.in, ldap.c:
12844         Add sudo_ldap_get_first_rdn() to return the first rdn of an entry's
12845         dn using the mechanism appropriate for the LDAP SDK in use. Use
12846         ldap_unbind_ext_s() instead of deprecated ldap_unbind_s(). Emulate
12847         ldap_unbind_ext_s() and ldap_search_ext_s() for SDK's without them.
12848         [6deeca3d00cc]
12849
12850         * lbuf.c:
12851         include unistd.h
12852         [8419ed0bae7f]
12853
12854         * config.h.in, configure.in:
12855         fix typo in mtim_getnsec
12856         [2d5f21230a60]
12857
12858 2008-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
12859
12860         * config.h.in, configure, configure.in:
12861         add check for st__tim in struct stat as used by SCO
12862         [587060ea2a89]
12863
12864         * ldap.c:
12865         use ldap_search_ext_s instead of deprecated ldap_search_s
12866         [5fc44fe3b44c]
12867
12868         * Makefile.in, TODO, sudo.cat, sudo.man.in:
12869         add sudo_nss.h to HDRS
12870         [86f01a70ff29]
12871
12872         * ldap.c:
12873         Replace deprecated ldap_explode_dn() with calls to ldap_str2dn() and
12874         ldap_rdn2str().
12875         [aa217002cfae]
12876
12877 2008-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
12878
12879         * ldap.c:
12880         Use ldap_get_values_len()/ldap_value_free_len() instead of the
12881         deprecated ldap_get_values()/ldap_value_free().
12882         [e22dceb85e57]
12883
12884         * ChangeLog:
12885         sync
12886         [adad27b36107]
12887
12888         * TODO:
12889         sync
12890         [c449eb47e0ef]
12891
12892         * gettime.c, sudo.c:
12893         Remove some already fixed XXXs
12894         [532788d0e6da]
12895
12896         * ldap.c:
12897         Same return value as non-existent sudoers if LDAP was unable to
12898         connect.
12899         [5819810e8e4e]
12900
12901         * sudo.pod:
12902         mention /etc/environment
12903         [ea8e6102f853]
12904
12905         * README.LDAP, UPGRADE, WHATSNEW:
12906         Update to reflect recent developments.
12907         [ed1fb026fe77]
12908
12909         * sudo.c:
12910         Print nsswitch.conf, ldap.conf and ldap.secret paths in -V output.
12911         [55b68a58260d]
12912
12913         * ldap.c:
12914         When building up a query don't list groups in the aux group vector
12915         that are the same as the passwd file group. On most systems the
12916         first gid in the group vector is the same as the passwd entry gid.
12917         [4bb51e297e0d]
12918
12919         * env.c, ldap.c:
12920         Define LDAPNOINIT before calling ldap_init(), etc. to disable user
12921         ldaprc and system defaults that could affect how LDAP works.
12922         [ce5036440db2]
12923
12924         * INSTALL, configure, configure.in, pathnames.h.in, sudo.c,
12925         sudo_nss.c, sudo_nss.h:
12926         Rename read_nss -> sudo_read_nss Add --with-nsswitch to allow users
12927         to specify nsswitch.conf path or disable it. If --with-nsswitch=no
12928         but --with-ldap, order is LDAP, then sudoers. Fix --with-ldap-conf-
12929         file and --with-ldap-secret-file
12930         [ea5d7704381f]
12931
12932         * parse.c:
12933         Honor def_ignore_local_sudoers
12934         [f38e1121fae1]
12935
12936 2007-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
12937
12938         * ldap.c:
12939         no longer need to check def_ignore_local_sudoers here
12940         [fce2a72f96fb]
12941
12942         * parse.c:
12943         Refactor group vector resetting into a function and also call it
12944         from display_cmnd. Stop after the first sucessful match in
12945         display_cmnd. Print a newline between each display_privs method.
12946         [981b37b5adff]
12947
12948         * parse.c:
12949         fix double free introduced in rev 1.218
12950         [c574b02d8747]
12951
12952         * ldap.c:
12953         belt and suspenders; zero out result after freeing it
12954         [7732988d4620]
12955
12956         * env.c, fileops.c, ldap.c, sudo.h, sudo_nss.c:
12957         Refactor line reading into a separate function, sudo_parseln(),
12958         which removes comments, leading/trailing whitespace and newlines.
12959         May want to rethink the use of sudo_parseln() for /etc/ldap.secret
12960         [61d9068f0645]
12961
12962         * parse.c, sudo.c:
12963         Make the inability to read the sudoers file a non-fatal error if
12964         there are other sudoers sources available. sudoers_file_lookup now
12965         returns "not OK" if sudoers was not present
12966         [643babf597a8]
12967
12968         * ldap.c:
12969         make it clear that the global options are from LDAP
12970         [9ff950349463]
12971
12972         * logging.c:
12973         allocate proper amount of space for error string
12974         [8bebb7d46d19]
12975
12976         * sudo_nss.c, sudo_nss.h:
12977         actual sudo nss code
12978         [5bd7d52d7738]
12979
12980         * ldap.c, parse.c, sudo.c, sudo.h:
12981         nss-ify display_privs and display_cmnd.
12982         [cccfdd3253f2]
12983
12984         * defaults.c, parse.c, testsudoers.c, visudo.c:
12985         move update_defaults() to parse.c
12986         [ace144b958a9]
12987
12988         * Makefile.in, ldap.c, list.c, parse.c, parse.h, sudo.c, sudo.h:
12989         Use nsswitch to hide some sudoers vs. ldap implementation details
12990         and reduce the number of #ifdef LDAP TODO: fix display routines and
12991         error handling
12992         [6225edde89a6]
12993
12994 2007-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
12995
12996         * Makefile.in, README.LDAP, ldap.c, pathnames.h.in, sudo.c, sudo.h:
12997         First cut at nsswitch.conf support. Further reorganizaton and
12998         related changes are forthcoming.
12999         [717f59d0790b]
13000
13001 2007-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13002
13003         * env.c, pathnames.h.in, sudo.c, sudo.h:
13004         Add support for reading and /etc/environment file. Still needs to
13005         be documented and should probably only applies to OSes that have it
13006         (AIX and Linux, maybe others).
13007         [15d3edae27e4]
13008
13009         * ldap.c:
13010         include limits.h
13011         [e19875ef0f82]
13012
13013 2007-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13014
13015         * WHATSNEW:
13016         reword LDAP SASL
13017         [7ec3c4ec31b5]
13018
13019 2007-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13020
13021         * TODO:
13022         sync
13023         [87c5a7aea7bf]
13024
13025         * README.LDAP:
13026         Add an example sudoRole, clarify netscape vs. openldap a bit more
13027         [6f96c0ca8107]
13028
13029         * README.LDAP:
13030         Be clear on what is OpenLDAP vs. Netscape-derived
13031         [a33c8314dec5]
13032
13033         * config.h.in, configure, configure.in, ldap.c:
13034         Use ldapssl_init() for ldaps support instead of trying to do it
13035         manually with ldap_init() + ldapssl_install_routines(). Use tls_cert
13036         and tls_key for cert7.db and key3.db respectively. Don't print
13037         debugging info for options that are not set. Add warning if
13038         start_tls specified when not supported.
13039         [abb62dc7e4a3]
13040
13041         * ldap.c:
13042         fix compilation on solaris
13043         [03d449684e80]
13044
13045         * Makefile.in:
13046         add missing .h and .c files for missing lib objs
13047         [8b37825bdfc7]
13048
13049 2007-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13050
13051         * ldap.c:
13052         fix LDAP_OPT_NETWORK_TIMEOUT setting
13053         [226eba89c0ad]
13054
13055         * ldap.c:
13056         fix compilation on Solaris
13057         [917d47639eb6]
13058
13059 2007-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13060
13061         * configure, configure.in:
13062         fix typo
13063         [009d5c81b225]
13064
13065         * README.LDAP:
13066         try to clear up which variables are for OpenLDAP and which are for
13067         netscape-derived SDKs
13068         [f8d9823ee73c]
13069
13070         * config.h.in, configure, configure.in, ldap.c:
13071         Add support for "ssl on" in both netscape and openldap flavors. Only
13072         the OpenLDAP flavor has been tested.
13073         [952745829ec5]
13074
13075         * logging.c, sudo.c, sudo.h:
13076         Call cleanup() before exit in log_error() instead of calling
13077         sudo_ldap_close() directly. ldap_conn can now be static to sudo.c
13078         [da02d1b67a2c]
13079
13080         * sudo.c:
13081         ld -> ldap_conn
13082         [01afa6d927cc]
13083
13084 2007-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13085
13086         * logging.c, sudo.c, sudo.h:
13087         Better ldap cleanup.
13088         [25b9abe2d617]
13089
13090         * ldap.c:
13091         Distinguish between LDAP conf settings that are connection-specific
13092         (which take an ld pointer) and those that are default settings
13093         (which do not).
13094         [d48dc6c9c3b4]
13095
13096 2007-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13097
13098         * ldap.c:
13099         Improved warnings on error.
13100         [c8dce7b4feb4]
13101
13102         * ldap.c:
13103         Make ldap config table driven and set the config *after* we open the
13104         connection.
13105         [d9698b5a2681]
13106
13107 2007-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13108
13109         * ldap.c:
13110         fix LDAP_OPT_X_CONNECT_TIMEOUT compat define
13111         [598c6df06660]
13112
13113         * configure, configure.in:
13114         some operating systems need to link with -lkrb5support when using
13115         krb5
13116         [8896365dde9e]
13117
13118 2007-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13119
13120         * WHATSNEW:
13121         minor update
13122         [acfeeb7f4886]
13123
13124         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
13125         regen
13126         [a3c6699674f9]
13127
13128 2007-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13129
13130         * ChangeLog, TODO:
13131         sync
13132         [138e99b925ee]
13133
13134         * ldap.c, schema.OpenLDAP, schema.iPlanet, sudoers2ldif:
13135         add -g support for LDAP
13136         [8fc27dbe9287]
13137
13138 2007-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13139
13140         * WHATSNEW, sudo.c, sudo.pod, sudo_usage.h.in:
13141         The -i and -s flags can now take an optional command.
13142         [6afec104ee77]
13143
13144 2007-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13145
13146         * auth/pam.c, def_data.c, def_data.h, def_data.in, sudo.c, sudo.pod,
13147         sudoers.pod:
13148         Add passprompt_override flag to sudoers that will cause the prompt
13149         to be overridden in all cases. This flag is also set when the user
13150         specifies the -p flag.
13151         [e4c5402131a6]
13152
13153         * sudo.c:
13154         Move setting of login class until after sudoers has been parsed. Set
13155         NewArgv[0] for -i after runas_pw has been set.
13156         [62a48c8c56fa]
13157
13158         * configure, configure.in:
13159         Move the dgettext check.
13160         [5fd8a4712d1c]
13161
13162 2007-12-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13163
13164         * auth/pam.c, config.h.in, configure, configure.in:
13165         Add basic support for looking up the string "Password: " in the PAM
13166         localized text db. This allows us to determine whether the PAM
13167         prompt is the default "Password: " one even if it has been
13168         localized.
13169
13170         TODO: concatenate non-std PAM prompts and user-specified sudo
13171         prompts.
13172         [81c25a415d41]
13173
13174 2007-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13175
13176         * Makefile.in, config.h.in, configure, configure.in, parse.c,
13177         set_perms.c, sudo.c, sudo.h:
13178         Use AC_FUNC_GETGROUPS instead of a home-grown attempt that was
13179         insufficient.
13180         [1cce6ec1a91e]
13181
13182         * acsite.m4, configure, interfaces.c, memrchr.c:
13183         Fix typos; Martynas Venckus
13184         [be1233cca11a]
13185
13186 2007-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13187
13188         * set_perms.c:
13189         Don't assume runas_pw is set; it may not be in the -g case.
13190         [aa11bd2193ac]
13191
13192 2007-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13193
13194         * logging.c, set_perms.c:
13195         Set aux group vector for PERM_RUNAS and restore group vector for
13196         PERM_ROOT if we previously changed it. Stash the runas group vector
13197         so we don't have to call initgroups more than once. Also add no-op
13198         check to check_perms.
13199         [53837fc755f7]
13200
13201 2007-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13202
13203         * WHATSNEW, check.c, def_data.in, defaults.c, gram.c, gram.h, gram.y,
13204         ldap.c, logging.c, match.c, mon_systrace.c, parse.c, parse.h,
13205         pwutil.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
13206         sudo.pod, sudo_usage.h.in, sudoers.cat, sudoers.man.in, sudoers.pod,
13207         testsudoers.c, visudo.c, visudo.cat, visudo.man.in:
13208         Add support for runas groups. This allows the user to run a command
13209         with a different effective group. If the -g option is specified
13210         without -u the command will be run as the current user (only the
13211         group will change). the -g and -u options may be used together.
13212         TODO: implement runas group for ldap improve runas group
13213         documentation add testsudoers support
13214         [9019309df6d0]
13215
13216         * configure, configure.in:
13217         fix setting of mandir
13218         [2c60f269399f]
13219
13220         * sudo.pod, sudoers.pod:
13221         document that ALL implies SETENV
13222         [bcc8e5b703b9]
13223
13224         * ldap.c:
13225         s/setenv_ok/setenv_implied/g
13226         [f005df2c2eea]
13227
13228         * ldap.c:
13229         hostname_matches() returns TRUE on match in sudo 1.7.
13230         [c3d4377b6e8b]
13231
13232         * ldap.c:
13233         use strcmp, not strcasecmp when comparing ALL
13234         [e486024574a1]
13235
13236         * ldap.c:
13237         Make sudo ALL imply setenv. Note that unlike with file-based
13238         sudoers this does affect all the commands in the sudoRole.
13239         [bc12f54321d1]
13240
13241         * gram.c, gram.y, parse.c, parse.h:
13242         sudo "ALL" now implies the SETENV tag but, unlike an explicit tag,
13243         it is not passed on to other commands in the list.
13244         [026e2cb40680]
13245
13246         * visudo.c:
13247         Add missing sudo_setpwent() and sudo_setgrent() calls. Also use
13248         sudo_getpwuid() instead of getpwuid().
13249         [86f30a8fbd49]
13250
13251 2007-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13252
13253         * sudoers:
13254         Expand on the dangers of not using visudo to edit sudoers.
13255         [e434e8057d02]
13256
13257 2007-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13258
13259         * parse.c:
13260         Don't quote *?[]! on output since the lexer does not strip off the
13261         backslash when reading those in.
13262         [561da4a13afa]
13263
13264 2007-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13265
13266         * glob.c:
13267         expand "u_foo" types to "unsigned foo" to avoid compatibility
13268         issues.
13269         [b0d7c64d78c3]
13270
13271 2007-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13272
13273         * logging.c:
13274         Refactor log line generation in to new_logline().
13275         [6a9b9730615d]
13276
13277 2007-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13278
13279         * TROUBLESHOOTING:
13280         fix typo
13281         [9e19d4f86e47]
13282
13283 2007-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13284
13285         * config.h.in, configure, configure.in, interfaces.c, interfaces.h,
13286         match.c:
13287         Add configure check for struct in6_addr instead of relying on
13288         AF_INET6 since some systems define AF_INET6 but do not include IPv6
13289         support.
13290         [e24082c416bd]
13291
13292 2007-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13293
13294         * configure, configure.in:
13295         Fix block to add -lutil for FreeBSD and NetBSD when logincap is in
13296         use.
13297         [76a9df4a63be]
13298
13299 2007-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13300
13301         * configure, configure.in:
13302         POSIX states that struct timespec be declared in time.h so check
13303         there regardless of the value of TIME_WITH_SYS_TIME.
13304         [e42c55ec9daf]
13305
13306 2007-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13307
13308         * tgetpass.c:
13309         Instead of defining a macro to call the appropriate method for
13310         turning on/off echo, just define tc[gs]etattr() and the related
13311         defines that use the correct terminal ioctls if needed. Also go back
13312         to using TCSAFLUSH instead of TCSADRAIN on all but QNX.
13313         [5dfb2379d995]
13314
13315 2007-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
13316
13317         * Makefile.in:
13318         g/c @ALLOCA@
13319         [e6946c2e3820]
13320
13321         * configure:
13322         regen
13323         [9bac7159a138]
13324
13325         * INSTALL, auth/pam.c, config.h.in, configure.in:
13326         Add --disable-pam-session configure option to disable calling
13327         pam_{open,close}_session. May work around bugs in some PAM
13328         implementations.
13329         [273d0fdb4a9d]
13330
13331 2007-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13332
13333         * tgetpass.c:
13334         quiet gcc warnings
13335         [325565c5a579]
13336
13337         * tgetpass.c:
13338         Avoid printing the prompt if we are already backgrounded. E.g. if
13339         the user runs "sudo foo &" from the shell. In this case, the call
13340         to tcsetattr() will cause SIGTTOU to be delivered.
13341         [db2139a8d8b8]
13342
13343 2007-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13344
13345         * def_data.c, def_data.h, def_data.in:
13346         Reorder things such that the definition of env_reset come right
13347         before the env variable lists.
13348         [e0d8e22a581a]
13349
13350         * parse.h:
13351         Shrink type and seqno in struct alias from int to u_short
13352         [9425263dd565]
13353
13354         * alias.c, match.c, parse.c, parse.h:
13355         Add a sequence number in the aliases for loop detection. If we find
13356         an alias with the seqno already set to the current (global) value we
13357         know we've visited it before so ignore it.
13358         [301a0548ffff]
13359
13360 2007-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13361
13362         * TODO, auth/pam.c, sudo.c, sudo.h:
13363         PAM wants the full tty path so add user_ttypath which holds the full
13364         path to the tty or is NULL if no tty was present.
13365         [c7c1dd4b36c8]
13366
13367         * auth/pam.c:
13368         Set PAM_RHOST to work around a bug in Solaris 7 and lower that
13369         results in a segv.
13370         [3a8865b3a357]
13371
13372 2007-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
13373
13374         * gram.c:
13375         regen
13376         [5647be127950]
13377
13378         * alias.c, defaults.c, gram.y, list.c, list.h, match.c, parse.c,
13379         parse.h, testsudoers.c, visudo.c:
13380         rename lh_ -> tq_
13381         [8f500c542c4a]
13382
13383 2007-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13384
13385         * alloc.c:
13386         remove some useless casts
13387         [409a448b23f5]
13388
13389         * alloc.c:
13390         pull in inttypes.h for SIZE_MAX; we avoid stdint.h since inttypes.h
13391         predates the final C99 spec and the standard specifies that it shall
13392         include stdint.h anyway
13393         [ae478fdef61a]
13394
13395 2007-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13396
13397         * Makefile.in, alloca.c, configure.in:
13398         Since we ship with a pre-generated parser there is no need to ship a
13399         bogus alloca implementation.
13400         [3f611a7cc0e5]
13401
13402         * configure:
13403         regen
13404         [771eccf5269c]
13405
13406         * configure.in:
13407         remove initial setting of CHECKSIA, we require that it be unset if
13408         not used
13409         [a2e91adc5aa2]
13410
13411         * Makefile.in:
13412         add list.c to SRCS
13413         [7db0e56cf5b9]
13414
13415         * configure:
13416         regen
13417         [3716ec30172e]
13418
13419         * configure.in:
13420         only do SIA checks on Digital Unix
13421         [6a96e1af2597]
13422
13423 2007-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
13424
13425         * sudoers.cat, sudoers.man.in:
13426         regen
13427         [ac1dc29de72b]
13428
13429         * ChangeLog, TODO:
13430         sync
13431         [781effce0a2d]
13432
13433         * auth/kerb5.c:
13434         Remove call to krb5_cc_register() as it is not needed for modern
13435         kerb5.
13436         [351b8b764f16]
13437
13438         * configure:
13439         regen
13440         [ac21dbcc9c2c]
13441
13442         * aclocal.m4, configure.in:
13443         New method for setting the default authentication type and avoiding
13444         conflicts in auth types.
13445         [5fb15be11f78]
13446
13447         * match.c, parse.c, testsudoers.c:
13448         Each entry in a cmndlist now has an associated runaslist so no need
13449         to keep track of the most recent non-NULL one.
13450         [582e015786b0]
13451
13452 2007-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
13453
13454         * ldap.c:
13455         back out partial ldaps support mistakenly committed
13456         [357703e94b2d]
13457
13458         * ldap.c:
13459         Add support for unix groups and netgroups in sudoRunas
13460         [2f04eb91c6d0]
13461
13462 2007-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
13463
13464         * sudo_edit.c:
13465         Fix sudoedit of a non-existent file. From Tilo Stritzky.
13466         [a5488a03bddd]
13467
13468 2007-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13469
13470         * configure:
13471         regen
13472         [541177376ee1]
13473
13474         * INSTALL:
13475         update --passprompt escape info
13476         [6d57db4cd538]
13477
13478         * configure.in:
13479         remove now-bogus comment and update copyright date
13480         [6a4af45fa331]
13481
13482         * configure.in:
13483         Fix up use of with_passwd
13484         [7c79d8640f77]
13485
13486         * acsite.m4, config.guess, config.sub, configure.in, ltmain.sh:
13487         Update to autoconf-2.61 andf libtool-1.5.24
13488         [045259b0b439]
13489
13490         * Makefile.in:
13491         "cmp -s" not just cmp Add @datarootdir@ to quiet autoconf-2.61
13492         [f5b6a7afb817]
13493
13494 2007-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
13495
13496         * gram.c:
13497         regen
13498         [b5b78e71d2cb]
13499
13500         * gram.y:
13501         move tags and runaslist propagation to be earlier
13502         [94f7805f4489]
13503
13504         * visudo.c:
13505         If -f flag given use the permissions of the original file as a
13506         template
13507         [9303d22bddb0]
13508
13509         * gram.y:
13510         prevent a double free() when re-initing the parser
13511         [5b3907c4de5a]
13512
13513 2007-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13514
13515         * configure:
13516         regen
13517         [49a90b19a17d]
13518
13519         * aclocal.m4, alias.c, alloc.c, auth/API, auth/afs.c, auth/bsdauth.c,
13520         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/securid.c,
13521         auth/securid5.c, auth/sia.c, auth/sudo_auth.h, config.h.in,
13522         configure.in, env.c, ldap.c, list.c, list.h, memrchr.c, parse.c,
13523         parse.h, pwutil.c, redblack.c, redblack.h, snprintf.c, sudo.c,
13524         sudo.h, testsudoers.c, visudo.c, zero_bytes.c:
13525         Remove support for compilers that don't support void *
13526         [35e1d01ae197]
13527
13528         * gram.c:
13529         regen
13530         [70ce412a458a]
13531
13532         * Makefile.in, alias.c, defaults.c, gram.y, list.c, list.h, match.c,
13533         parse.c, parse.h, testsudoers.c, visudo.c:
13534         Move list manipulation macros to list.h and create C versions of the
13535         more complex ones in list.c. The names have been down-cased so they
13536         appear more like normal functions.
13537         [9cea0e281148]
13538
13539         * Makefile.in:
13540         Fix cmp command when regenerating parser. Make gram.o the first
13541         dependency for all programs so gram.h will be generated before
13542         anything that needs it.
13543         [429ea065abf1]
13544
13545         * gram.y, parse.h:
13546         Convert NEW_DEFAULT anf NEW_MEMBER into static functions.
13547         [2f3433833589]
13548
13549         * match.c, parse.c, testsudoers.c:
13550         Use LH_FOREACH_REV when checking permission and short-circuit on the
13551         first non-UNSPEC hit we get for the command. This means that
13552         instead of cycling through the all the parsed sudoers entries we
13553         start at the end and work backwards and quit after the first
13554         positive or negative match.
13555         [881474532f3e]
13556
13557         * gram.c:
13558         regen
13559         [9152a19d4188]
13560
13561         * defaults.c, gram.y, parse.c, parse.h, testsudoers.c, visudo.c:
13562         Change list head macros to take a pointer, not a struct.
13563         [054f1dcce4cc]
13564
13565         * gram.c:
13566         regen
13567         [be154aae6235]
13568
13569         * gram.y:
13570         Propagate the runasspec from one command to the next in a cmndspec.
13571         [4957b1cb03a3]
13572
13573 2007-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13574
13575         * match.c:
13576         Replace has_meta() with a macro that calls strpbrk().
13577         [a2e58846a542]
13578
13579         * regen
13580         [5a932a5c9451]
13581
13582         * alias.c, defaults.c, gram.y, match.c, parse.c, parse.h,
13583         testsudoers.c, visudo.c:
13584         Use a list head struct when storing the semi-circular lists and
13585         convert to tail queues in the process. This will allow us to
13586         reverse foreach loops more easily and it makes it clearer which
13587         functions expect a list as opposed to a single member.
13588
13589         Add macros for manipulating lists. Some of these should become
13590         functions.
13591
13592         When freeing up a list, just pop off the last item in the queue
13593         instead of going from head to tail. This is simpler since we don't
13594         have to stash a pointer to the next member, we always just use the
13595         last one in the queue until the queue is empty.
13596
13597         Rename match functions that take a list to have list in the name.
13598         Break cmnd_matches() into cmnd_matches() and cmndlist_matches.
13599         [7c37b271607a]
13600
13601         * parse.c:
13602         Fix pasto, append "!" not negated (which is an int) for sudo -l
13603         output.
13604         [93a444c3997f]
13605
13606         * Makefile.in:
13607         Remove the dependency of gram .h on gram.y, the .c dependency is
13608         enough. Only move y.tab.h to gram.h if it is different; avoids
13609         needless rebuilding.
13610         [67bf4ea2a2e5]
13611
13612 2007-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
13613
13614         * sudoers.pod:
13615         Defaults lines may be associated with lists of users, hosts,
13616         commands and runas users, not just single entries.
13617         [795effacb6be]
13618
13619 2007-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13620
13621         * Makefile.in:
13622         Revert the "cmp" portion of the last diff, it doesn't make sense.
13623         [26f34bf4e2e3]
13624
13625         * Makefile.in:
13626         Remove *.lo for clean: When generating the parser, only move the
13627         generated files into place if they differ from the existing ones.
13628         [84673fea371b]
13629
13630 2007-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13631
13632         * toke.c, toke.l:
13633         Replace IPV6 regexp with a much simpler (readable) one and add an
13634         extra check when it matches to make sure we have a valid address.
13635         [592e9f690556]
13636
13637         * match.c:
13638         Fix thinko introduced when merging IPV6 support.
13639         [da38cd5eb8c7]
13640
13641 2007-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
13642
13643         * HISTORY, LICENSE:
13644         regen
13645         [0d7b27b90634]
13646
13647         * license.pod:
13648         add 2007
13649         [510e5048ae1a]
13650
13651         * UPGRADE:
13652         mention #uid vs. comment pitfall
13653         [4d2861898bcc]
13654
13655         * acsite.m4:
13656         Merge in a patch from the libtool cvs that fixes a problem with the
13657         latest autoconf. From Stepan Kasal.
13658         [0c279ae7df3e]
13659
13660         * parse.h:
13661         Back out he XOR swap trick, it is slower than a temp variable on
13662         modern CPUs.
13663         [91c4b024e317]
13664
13665         * gram.c:
13666         regen
13667         [cb6d4106fb74]
13668
13669         * gram.y, parse.h:
13670         Convert the tail queue to a semi-circle queue and use the XOR swap
13671         trick to swap the prev pointers during append.
13672         [8bf4d9fbee58]
13673
13674 2007-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
13675
13676         * parse.h:
13677         remove useless statement
13678         [421ec1dd73e6]
13679
13680         * toke.c, toke.l:
13681         Refactor #include parsing into a separate function and return
13682         unparsed chars (such as newline or comment) back to the lexer.
13683         [64166917aa3d]
13684
13685 2007-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13686
13687         * WHATSNEW:
13688         mention better uid support
13689         [56f510e7f2ec]
13690
13691         * sudoers.pod:
13692         Users may now consist of a uid.
13693         [5fd31b2c55ed]
13694
13695         * gram.c, gram.h, toke.c:
13696         regen
13697         [599e58af6dc1]
13698
13699         * parse.c:
13700         Use lbuf_append_quoted() for sudo -l output to quote characters that
13701         would require quoting in sudoers.
13702         [3132d05c990a]
13703
13704         * lbuf.c, lbuf.h:
13705         Add lbuf_append_quoted() which takes a set of characters which
13706         should be quoted with a backslash when displayed.
13707         [ab09bebb1d65]
13708
13709         * toke.l:
13710         Require that the first character after a comment not be a digit or a
13711         dash. This allows us to remove the GOTRUNAS state and treat
13712         uid/gids similar to other words. It also means that we can now
13713         specify uids in User_Lists and a User_Spec may now contain a uid.
13714         [461fe01f8392]
13715
13716         * gram.y, toke.l:
13717         Replace RUNAS token with '(' and ')' tokens to make the runas
13718         portion of the grammar more natural.
13719         [e0c383b4684d]
13720
13721         * BUGS:
13722         The BUGS file is history
13723         [4d9a809585c7]
13724
13725         * Makefile.in, README:
13726         The BUGS file is history
13727         [d9500e261172]
13728
13729 2007-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
13730
13731         * toke.c, toke.l:
13732         Allow comments after a RunasAlias as long as the character after the
13733         pound sign isn't a digit or a dash.
13734         [d7f3bd94eeda]
13735
13736         * WHATSNEW:
13737         Glob support was back-ported to 1.6.9
13738         [d1d5cfd46228]
13739
13740 2007-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
13741
13742         * Makefile.in:
13743         remove sudo_usage.h in distclean
13744         [df05ce9c4127]
13745
13746         * parse.c:
13747         If a Defaults value contains a blank, double-quote the string.
13748         [9057a910daad]
13749
13750         * toke.c, toke.l:
13751         Properly deal with Defaults double-quoted strings that span multiple
13752         lines using the line continuation char. Previously, the entire
13753         thing, including the continuation char, newline, and spaces was
13754         stored as-is.
13755         [4a4e8eacefe6]
13756
13757         * sudo.c:
13758         Be consistent when using single quotes and backticks.
13759         [d010b83a0fa1]
13760
13761 2007-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
13762
13763         * Makefile.in, configure, configure.in, lbuf.c, lbuf.h, parse.c,
13764         sudo.c, sudo_usage.h.in:
13765         Add new linebuf code to do appends of dynamically allocated strings
13766         and word-wrapped output. Currently used for sudo's usage() and sudo
13767         -l output. Sudo usage strings are now in sudo_usage.h which is
13768         generated at configure time.
13769         [4dfd0ee8d961]
13770
13771 2007-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
13772
13773         * parse.c, sudo.c, sudo.h:
13774         Fix line wrapping in usage() and use the actual tty width instead of
13775         assuming 80.
13776         [700eab37c5a6]
13777
13778 2007-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
13779
13780         * history.pod:
13781         some more info
13782         [8140112a8ae1]
13783
13784         * history.pod:
13785         Mentioned Chris Jepeway's parser and also the new one that is in
13786         sudo 1.7.
13787         [2132d00f0597]
13788
13789 2007-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
13790
13791         * sudo.pod, visudo.pod:
13792         For the options list, add flag args where appropriate and increase
13793         the indent level so there is room for them.
13794         [2b60fb572e12]
13795
13796 2007-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
13797
13798         * parse.c:
13799         Fix some spacing in "sudo -l" and add a comment about some bogosity
13800         in the line wrapping.
13801         [b59b056f5ee2]
13802
13803         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
13804         visudo.man.in:
13805         regen
13806         [5fb719f18ebc]
13807
13808         * INSTALL, Makefile.in, WHATSNEW, config.h.in, configure.in,
13809         def_data.c, def_data.h, def_data.in, gram.c, gram.h, gram.y,
13810         parse.c, parse.h, pathnames.h.in, sudo.c, sudo.h, sudoers.pod,
13811         testsudoers.c, toke.c, toke.l:
13812         Remove monitor support until there is a versino of systrace that
13813         uses a lookaside buffer (or we have a better mechanism to use).
13814         [61ff76878e4a]
13815
13816         * config.h.in, configure, configure.in, sudo.c:
13817         use getaddrinfo() instead of gethostbyname() if it is available
13818         [cc33c136aa6a]
13819
13820 2007-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
13821
13822         * parse.c, sudo.c:
13823         Deal with OSes where sizeof(gid_t) < sizeof(int).
13824         [130a89cbdfba]
13825
13826         * interfaces.c:
13827         repair non-getifaddrs() code after ipv6 integration
13828         [7ae7a89e2236]
13829
13830         * sudo.c:
13831         If we can open sudoers but fail to read the first byte, close the
13832         file stream before trying again.
13833         [6f31272fae7b]
13834
13835 2007-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
13836
13837         * toke.c:
13838         regen
13839         [4d7afe0aa6fa]
13840
13841         * gram.y, interfaces.c, interfaces.h, match.c, sudoers.pod, toke.l:
13842         Add IPv6 support; adapted from patches by YOSHIFUJI Hideaki
13843         [4e6ff2965a42]
13844
13845         * sudo.pod, sudoers.pod, visudo.pod:
13846         Add some missing markup Update copyright
13847         [7e6d3c686b5e]
13848
13849 2007-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
13850
13851         * configure, configure.in:
13852         fix sudo_noexec extension which got broken in the libtool update
13853         [3a5b447df861]
13854
13855 2007-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
13856
13857         * Makefile.in:
13858         explicitly specify -Tascii to nroff
13859         [45c8da4cbefe]
13860
13861 2007-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
13862
13863         * logging.c:
13864         remove an ANSI-ism that crept in
13865         [29086f87b2ca]
13866
13867 2007-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
13868
13869         * sudo.pod:
13870         Adjust list indents Prevent -- from being turned into an em dash Use
13871         a list for the environment instead of a literal paragraph
13872         [c3abcd8f76f4]
13873
13874         * visudo.pod:
13875         Use a list for the environment instead of an indented literal
13876         paragraph.
13877         [0ffcfcb7349f]
13878
13879         * sudoers.pod:
13880         Adjust list indentation
13881         [615c89e3123a]
13882
13883         * license.pod:
13884         add =head3
13885         [8b2e0d38c0bd]
13886
13887 2007-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
13888
13889         * sudo.pod:
13890         mention that when specifying a uid for the -u option the shell may
13891         require that the # be escaped
13892         [3e3a17bff150]
13893
13894 2007-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
13895
13896         * match.c:
13897         Fix off by one in group matching.
13898         [b529602b7fba]
13899
13900 2007-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
13901
13902         * env.c:
13903         Fix typo: PYTHONINSPEC should be PYTHONINSPECT. From David Krause.
13904         [ffbf8907c6e7]
13905
13906 2007-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
13907
13908         * configure, configure.in:
13909         Add missing define of HAVE_GSS_KRB5_CCACHE_NAME for the
13910         -lgssapi_krb5 case.
13911         [2b85a89c2252]
13912
13913         * aclocal.m4, configure, configure.in:
13914         Fix link tests such that new gcc doesn't optimize away the test.
13915         [83484ec95cba]
13916
13917 2007-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
13918
13919         * sudo.pod, sudoers.pod, visudo.pod:
13920         add missing over/back
13921         [251a12c89b91]
13922
13923         * sudo.pod, sudoers.pod, visudo.pod:
13924         Change FILES section to use =item
13925         [60b9efc3a0b2]
13926
13927         * env.c:
13928         Add back allocation of the env struct in rebuild_env but save a copy
13929         of the old pointer and free it before returning.
13930         [1100cd4fa997]
13931
13932         * env.c:
13933         Don't init the private environment in rebuild_env() since it may
13934         have already been done implicitly sudo_setenv/sudo_unsetenv.
13935
13936         Multiply length by sizeof(char *) in memcpy/memmove when copying the
13937         environment so we copy the full thing.
13938
13939         Add missing set of parens so we deref the right pointer in
13940         sudo_unsetenv when searching for a matching variable.
13941         [9086a8f756b1]
13942
13943 2007-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
13944
13945         * sudo.pod, sudoers.pod, visudo.pod:
13946         Use file markup for paths in the FILES section
13947         [940d99f731f2]
13948
13949         * sudo.pod, sudoers.pod, visudo.pod:
13950         Don't capitalize sudo/visudo
13951         [f067a455d44b]
13952
13953         * sudoers.pod:
13954         Sort sudoers options; based on a diff from Igor Sobrado.
13955         [a9b9befe85ac]
13956
13957 2007-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
13958
13959         * sudo.pod, sudoers.pod, visudo.pod:
13960         Use 8 and 5 instead of @mansectsu@ and @mansectform@ since the
13961         latter confuses pod2man. The Makefile rules for the .man.in file
13962         will add @mansectsu@ and @mansectform@ back in after pod2man is done
13963         anyway.
13964         [b50ea0db727c]
13965
13966 2007-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
13967
13968         * LICENSE, Makefile.in, license.pod:
13969         Move license info to pod format
13970         [25bdd82e592b]
13971
13972         * configure, configure.in, sudoers.pod:
13973         Substitute value of path_info into sudoers man page.
13974         [9ba661a82798]
13975
13976         * WHATSNEW:
13977         remove features that were back-ported to 1.6.9
13978         [e76d756cbe65]
13979
13980         * sudo.c, sudo.pod, visudo.c, visudo.pod:
13981         Sort SYNOPSIS and sync usage. From Igor Sobrado.
13982         [4970386c9e54]
13983
13984         * env.c:
13985         Only need sudo_setenv/sudo_unsetenv if we are going to use
13986         ldap_sasl_interactive_bind_s() but don't have
13987         gss_krb5_ccache_name().
13988         [f1a73d8b35c5]
13989
13990         * ChangeLog:
13991         rebuild without branch info
13992         [5d5a33494677]
13993
13994         * Makefile.in:
13995         Add ChangeLog target
13996         [a702034fdd89]
13997
13998         * auth/pam.c:
13999         Run cleanup code if the user hits ^C at the password prompt.
14000         [9cf87768e921]
14001
14002         * auth/pam.c:
14003         Some versions of pam_lastlog have a bug that will cause a crash if
14004         PAM_TTY is not set so if there is no tty, set PAM_TTY to the empty
14005         string.
14006         [5b63f6c88866]
14007
14008 2007-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14009
14010         * Makefile.in:
14011         ChageLog not Changelog
14012         [1243d8473ceb]
14013
14014         * ChangeLog:
14015         sync
14016         [d887df98c6b0]
14017
14018         * Makefile.in:
14019         CHANGE -> Changelog
14020         [917738df30dd]
14021
14022         * TODO:
14023         sync
14024         [cd382f7d1948]
14025
14026 2007-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14027
14028         * config.h.in, configure, configure.in, ldap.c:
14029         Add configure hooks for gss_krb5_ccache_name() and the gssapi
14030         headers.
14031         [139606209991]
14032
14033 2007-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14034
14035         * env.c, sudo.c:
14036         rebuild_env() and insert_env_vars() no longer return environment
14037         pointer, they set environ directly.
14038
14039         No longer need to pass around an envp pointer since we just operate
14040         on environ now.
14041
14042         Add dosync argument to insert_env() that indicates whether it should
14043         reset environ when realloc()ing env.envp.
14044
14045         Use an initial size of 128 for the environment.
14046         [4735fd5fddb8]
14047
14048         * env.c:
14049         Split sudo_setenv() into an external version and a version only for
14050         use by rebuild_env().
14051         [fda7d655adb1]
14052
14053 2007-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14054
14055         * ldap.c:
14056         Add support for using gss_krb5_ccache_name() instead of setting
14057         KRB5CCNAME. Also use sudo_unsetenv() in the non-
14058         gss_krb5_ccache_name() case if there was no KRB5CCNAME in the
14059         original environment. TODO: configure setup for
14060         gss_krb5_ccache_name()
14061         [fcafa5a49caf]
14062
14063         * README.LDAP:
14064         add krb5_ccname
14065         [fceb8f883886]
14066
14067         * README.LDAP, ldap.c:
14068         Add support for sasl_secprops in ldap.conf
14069         [1f06f4bf7347]
14070
14071         * env.c, sudo.h:
14072         Add sudo_unsetenv() and refactor private env syncing code into
14073         sync_env().
14074         [045ecb3fd22b]
14075
14076         * README.LDAP, ldap.c:
14077         The ldap.conf variable is sasl_auth_id not sasl_authid.
14078         [a5f98491311b]
14079
14080 2007-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14081
14082         * ldap.c, sudo.c, sudo.h:
14083         Add support for krb5_ccname in ldap.conf. If specified, it will
14084         override the default value of KRB5CCNAME in the environment for the
14085         duration of the call to ldap_sasl_interactive_bind_s().
14086         [b08a10c3045b]
14087
14088         * env.c, sudo.h:
14089         Remove format_env() Add sudo_setenv() to replace most format_env() +
14090         insert_env() combinations. insert_env() no longer takes a struct
14091         environment *
14092         [131da52f43f3]
14093
14094         * ldap.c:
14095         Fix use_sasl vs. rootuse_sasl logic.
14096         [0c0417b6918c]
14097
14098         * README.LDAP, config.h.in, configure, configure.in, ldap.c:
14099         Add support for SASL auth when connecting to an LDAP server. Adapted
14100         from a diff by Tom McLaughlin.
14101         [a6285f1356ea]
14102
14103 2007-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14104
14105         * configure, configure.in:
14106         Only enable AIX or BSD auth if no other exclusive auth method has
14107         been chosen. Allows people to e.g., use PAM on AIX without adding
14108         --without-aixauth. A better solution is needed to deal with default
14109         authentication since if a non-exclusive method is chosen we will
14110         still get an error.
14111         [83f7afdc0ec3]
14112
14113 2007-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14114
14115         * HISTORY, Makefile.in, history.pod:
14116         Generate HISTORY from history.pod (which is also used for web pages)
14117         [60bcd5164931]
14118
14119 2007-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14120
14121         * sudo.man.in, sudoers.man.in:
14122         regen
14123         [63956a366191]
14124
14125         * sudo.pod:
14126         Better explanation of environment handling in the sudo man page.
14127         [6c247742f7ee]
14128
14129         * env.c, sudo.c:
14130         Defer setting user-specified env vars until after authentication.
14131         [4750b79323ee]
14132
14133         * env.c:
14134         honor def_default_path for PATH set on the command line
14135         [6db31d9b6d65]
14136
14137         * env.c, sudo.c, sudo.pod, sudoers.pod:
14138         Allow user to set environment variables on the command line as long
14139         as they are allowed by env_keep and env_check. Ie: apply the same
14140         restrictions as normal environment variables. TODO: deal with
14141         secure_path
14142         [26c0da3840cf]
14143
14144 2007-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
14145
14146         * sudo.c, sudo_edit.c:
14147         Call rebuild_env() in call cases. Pass original envp to sudo_edit().
14148         Don't allow -E or env var setting in sudoedit mode. More accurate
14149         usage() when called as sudoedit.
14150         [a4af20658361]
14151
14152         * ldap.c:
14153         warn -> warning
14154         [d87d1192b048]
14155
14156         * sudo.pod:
14157         add -c option to sudoedit synopsis
14158         [15b596a7e2db]
14159
14160         * TODO:
14161         udpate to reality
14162         [e2f8fde89db1]
14163
14164         * parse.c:
14165         Use ALLOW/DENY instead of TRUE/FALSE when dealing with the return
14166         value from {user,host,runas,cmnd}_matches(). Rename *matches
14167         variables -> *match. Purely cosmetic.
14168         [e54a44c00a88]
14169
14170         * parse.c:
14171         Move setting of FLAG_NO_CHECK into the if(pwflag) block. No change
14172         in behavior.
14173         [c6272b4f2127]
14174
14175         * sudoers:
14176         add SETENV tag
14177         [3a3066bb6788]
14178
14179 2007-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14180
14181         * parse.c:
14182         Make pwcheck local to the pwflag block. Use pwcheck even if user
14183         didn't match since Defaults options may still apply.
14184         [45da9efbbafd]
14185
14186         * check.c, sudo.c:
14187         Do not update timestamp if user not validated by sudoers.
14188         [a4a9d4364827]
14189
14190         * set_perms.c:
14191         for PERM_RUNAS, set the egid to the runas user's gid and restore to
14192         the user's original in PERM_ROOT
14193         [1514bfb32847]
14194
14195         * logging.c, mon_systrace.c, set_perms.c, sudo.h:
14196         PERM_FULL_ROOT is now no different than PERM_ROOT so remove
14197         PERM_FULL_ROOT
14198         [b9d047a3178c]
14199
14200         * check.c:
14201         don't check timestamp mtime if we are just going to remove it
14202         [5d2470bc6cbd]
14203
14204         * sudoers.pod:
14205         Move sudoers defaults parameters into their own section.
14206         [54701fbc0ff3]
14207
14208         * testsudoers.c:
14209         Reduce a level of indent by a few placed continue statements.
14210         [5d5a9838c8ef]
14211
14212         * parse.c:
14213         Make matching but negated commands/hosts/runas entries override a
14214         previous match as expected. Also reduce some levels of indent by a
14215         few placed continue statements.
14216         [dd59fa4b91a1]
14217
14218 2007-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
14219
14220         * parse.c:
14221         Print default runas in "sudo -l" if sudoers don't specify one.
14222         [07d408c400bd]
14223
14224         * match.c:
14225         Less hacky way of testing whether the domain was set.
14226         [a537059776e5]
14227
14228 2007-07-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14229
14230         * INSTALL:
14231         Mention pam-devel and openldap-devel for Linux
14232         [9e708c54ecc3]
14233
14234 2007-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
14235
14236         * README.LDAP:
14237         or vs. are
14238         [abe8c0f3a410]
14239
14240 2007-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14241
14242         * sudo.c:
14243         fix typo in Solaris project support
14244         [2ffeb2d80959]
14245
14246         * HISTORY:
14247         update
14248         [df162b36f120]
14249
14250         * sudo.c:
14251         Make -- on the command line match the manual page. The implied shell
14252         case has been simplified as a result.
14253         [cd217a1f6694]
14254
14255 2007-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14256
14257         * sudoers2ldif:
14258         add simplistic support for sudoRunas; note that if a sudoers entry
14259         contains multiple Runas users, all will apply to the sudoRole
14260         [65b11421f5c8]
14261
14262         * sudoers2ldif:
14263         honor SETENV and NOSETENV tags
14264         [2c0d5ba7a09b]
14265
14266 2007-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14267
14268         * mon_systrace.c:
14269         Redo setting of user_args. We now build up a private copy of argv
14270         first and then replace the NULs?with spaces.
14271         [ccbba72ea112]
14272
14273         * mon_systrace.c:
14274         getcwd() returns NULL on failure, not 0 on success
14275         [88cd9e66e530]
14276
14277         * mon_systrace.c:
14278         allow chunksiz to reach 1 before erroring out
14279         [619d68f14964]
14280
14281         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
14282         visudo.man.in:
14283         regen
14284         [8db512d3caf0]
14285
14286 2007-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14287
14288         * def_data.c, def_data.h, def_data.in, env.c, gram.c, gram.h, gram.y,
14289         logging.c, parse.c, parse.h, sudo.c, sudo.h, sudo.pod, sudoers.pod,
14290         toke.c, toke.l:
14291         Add support for setting environment variables on the command line.
14292         This is only allowed if the setenv sudoers options is enabled or if
14293         the command is prefixed with the SETENV tag.
14294         [5744caebd969]
14295
14296         * README.LDAP:
14297         replace Aaron's email address with the sudo-workers list
14298         [2ffce5f9afc0]
14299
14300         * configure:
14301         regen
14302         [8013dff82c0c]
14303
14304 2007-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
14305
14306         * schema.OpenLDAP, schema.iPlanet:
14307         Break schema out into separate files.
14308         [15e598e4c60b]
14309
14310         * Makefile.in, README.LDAP:
14311         Break schema out into separate files.
14312         [1a53966ca1fa]
14313
14314 2007-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
14315
14316         * auth/aix_auth.c:
14317         free message if set by authenticate()
14318         [849c220c1236]
14319
14320         * match.c:
14321         deal with NULL gr_mem
14322         [49e4d74f0bbe]
14323
14324 2007-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14325
14326         * config.h.in:
14327         regen
14328         [fead999ad3e9]
14329
14330         * configure.in:
14331         add template for HAVE_PROJECT_H
14332         [e6c42c2eaad1]
14333
14334         * closefrom.c:
14335         include fcntl.h
14336         [54d98b382f03]
14337
14338 2007-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
14339
14340         * INSTALL:
14341         mention --with-project
14342         [d3ea3baad7c5]
14343
14344         * config.h.in, configure.in, sudo.c:
14345         Add Solaris 10 "project" support. From Michael Brantley.
14346         [f14f3c8c6554]
14347
14348         * sudoers.pod:
14349         fix typo
14350         [50db81a19787]
14351
14352         * configure:
14353         regen
14354         [ea71afd3e564]
14355
14356         * configure.in:
14357         Fix preservation of LDFLAGS in the LDAP case.
14358         [40a3a47e8059]
14359
14360         * memrchr.c:
14361         Remove dependecy on NULL
14362         [c957ae5e1733]
14363
14364         * configure:
14365         regen
14366         [4955ce0c6912]
14367
14368         * aclocal.m4, configure.in:
14369         Can't use the regular autoconf fnmatch() check since we need
14370         FNM_CASEFOLD so go back to our custom one.
14371         [f10d76237486]
14372
14373         * env.c:
14374         Fix preserving of variables in env_keep.
14375         [d040049d6b84]
14376
14377         * env.c:
14378         add XAUTHORIZATION
14379         [0d589a5fe015]
14380
14381         * UPGRADE:
14382         expand upon env resetting and mention that it began in 1.6.9 not
14383         1.7.
14384         [dba251655c76]
14385
14386         * sudoers.pod:
14387         Update descriptions of env_keep and env_check to match current
14388         reality.
14389         [dba77357954b]
14390
14391 2007-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14392
14393         * env.c:
14394         Add LINGUAS to initial_checkenv_table. Add COLORS, HOSTNAME,
14395         LS_COLORS, MAIL, PS1, PS2, XAUTHORITY to intial_keepenv_table.
14396         [eec4632bd190]
14397
14398         * env.c, logging.c:
14399         Treat USERNAME environemnt variable like LOGNAME/USER
14400         [09f52dcfd70c]
14401
14402         * env.c:
14403         Don't need to populate keepenv table with the contents of the
14404         checkenv table.
14405         [527a14afd973]
14406
14407         * sudo.c:
14408         Don't force sudo into the C locale.
14409         [8a5bd301ef96]
14410
14411         * env.c:
14412         Make env_check apply when env_reset it true. Environment variables
14413         are passed through unless they contain '/' or '%'. There is no need
14414         to have a variable in both env_check and env_keep.
14415         [840c802721e4]
14416
14417 2007-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14418
14419         * visudo.c:
14420         Remove an duplicate lock_file() call and add a comment.
14421         [5af9dcdf0eb6]
14422
14423         * UPGRADE:
14424         Add sudo 1.6.9 upgrade note.
14425         [1585149f2914]
14426
14427 2007-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
14428
14429         * interfaces.c:
14430         Solaris will return EINVAL if the buffer used in SIOCGIFCONF is too
14431         small. From Klaus Wagner.
14432         [d6899fc44f77]
14433
14434         * logging.c, sudo.h:
14435         Redo the long syslog line splitting based on a patch from Eygene
14436         Ryabinkin. Include memrchr() for systems without it.
14437         [66a50e8d553a]
14438
14439         * memrchr.c:
14440         Redo the long syslog line splitting based on a patch from Eygene
14441         Ryabinkin. Include memrchr() for systems without it.
14442         [2f6702b7d41b]
14443
14444         * Makefile.in, config.h.in, configure, configure.in:
14445         Redo the long syslog line splitting based on a patch from Eygene
14446         Ryabinkin. Include memrchr() for systems without it.
14447         [407a46190921]
14448
14449         * configure.in:
14450         Since we need to be able to convert timespec to timeval for utimes()
14451         the last 3 digits in the tv_nsec are not significant. This makes the
14452         sudoedit file date comparison work again.
14453         [9d0258849fa9]
14454
14455 2007-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14456
14457         * aclocal.m4, configure, configure.in:
14458         Add SUDO_ADD_AUTH macro to deal with adding things to AUTH_OBJS.
14459         This deals with exclusive authentication methods in a simple way.
14460         [7d70072c0f35]
14461
14462 2007-06-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14463
14464         * LICENSE:
14465         mkstemp.c is BSD code too.
14466         [29e236d98162]
14467
14468         * sudo.pod, sudoers.pod, visudo.pod:
14469         No commercial support for now.
14470         [7c76b3e192dd]
14471
14472 2007-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14473
14474         * sudo.c:
14475         cleanenv() is no more.
14476         [518080514408]
14477
14478 2007-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
14479
14480         * ChangeLog:
14481         Display branch info in Changelog
14482         [44e3b27427c7]
14483
14484         * utimes.c:
14485         Include config.h early so we have it for TIME_WITH_SYS_TIME
14486         [4bf1a00d0703]
14487
14488         * ChangeLog:
14489         Fix Changelog generation and update.
14490         [6e960dbcbece]
14491
14492 2007-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
14493
14494         * closefrom.c:
14495         Use /proc/self/fd instead of /proc/$$/fd
14496
14497         Move old-style fd closing into closefrom_fallback() and call that if
14498         /proc/self/fd doesn't exist or the F_CLOSEM fcntl() fails
14499         [faa7e4810758]
14500
14501         * auth/kerb5.c, config.h.in, configure.in:
14502         o use krb5_verify_user() if available instead of doing it by hand o
14503         use krb5_init_secure_context() if we have it o pass an encryption
14504         type of 0 to krb5_kt_read_service_key() instead of
14505         ENCTYPE_DES_CBC_MD5 to let kerberos choose.
14506         [df7acf72bd7c]
14507
14508         * env.c:
14509         Check TERM and COLORTERM for '%' and '/' characters. From Debian.
14510         [f92d05197e40]
14511
14512         * configure.in:
14513         Fix closefrom() substitution in the Makefile
14514         [b642b13fcc5c]
14515
14516         * TROUBLESHOOTING:
14517         Mention alternate sudo pronunciation.
14518         [7c71dc73409f]
14519
14520 2007-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14521
14522         * env.c:
14523         Remove KRB5_KTNAME from environment. Allow COLORTERM.
14524         [70f35a79f780]
14525
14526         * auth/kerb5.c:
14527         If we cannot get a valid service key using the default keytab it is
14528         a fatal error. Fixes a bug where sudo could be tricked into
14529         allowing access when it should not by a fake KDC. From Thor Lancelot
14530         Simon.
14531         [a3ae6a47cb23]
14532
14533 2007-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14534
14535         * aclocal.m4, configure, configure.in:
14536         Update long long checks to use AC_CHECK_TYPES and to cache values.
14537         [047318eaaeb2]
14538
14539         * aclocal.m4, configure.in:
14540         Use AC_FUNC_FNMATCH instead of a homebrew fnmatch checker. We can't
14541         use AC_REPLACE_FNMATCH since that assumes replacing with GNU
14542         fnmatch.
14543         [80513a1003ea]
14544
14545 2007-05-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14546
14547         * configure, configure.in:
14548         Add closefrom() to LIB_OBJS not SUDO_OBJS if it is missing since we
14549         need it for visudo now too.
14550         [50837c7c2b5e]
14551
14552 2007-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14553
14554         * sudoers.pod:
14555         Attempt to clarify the bit talking about network numbers w/o
14556         netmasks.
14557         [211e68c1d034]
14558
14559         * sudo.pod:
14560         Clarify timestamp dir ownership sentence.
14561         [9178f132c7f7]
14562
14563 2007-04-20  Todd C. Miller  <Todd.Miller@courtesan.com>
14564
14565         * auth/pam.c:
14566         Linux PAM now defines __LINUX_PAM__, not __LIBPAM_VERSION. From
14567         Dmitry V. Levin.
14568         [81fce91667bc]
14569
14570 2007-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14571
14572         * sudo.c:
14573         -i is also one of the mutually exclusive options to list it in the
14574         warning message. Noted by Chris Pepper.
14575         [7da73fb248e9]
14576
14577 2007-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14578
14579         * visudo.pod:
14580         The sudoers variable is env_editor, not enveditor. From Jean-
14581         Francois Saucier.
14582         [2a86ec09a6db]
14583
14584 2007-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14585
14586         * redblack.c:
14587         I tracked down the original author so credit him and include his
14588         license info.
14589         [3733553a1bba]
14590
14591 2007-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
14592
14593         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
14594         sudoers.pod:
14595         Fix typos; from Jason McIntyre.
14596         [1ee4ce2512f2]
14597
14598         * logging.c:
14599         Restore signal mask before calling reapchild(). Fixes a possible
14600         race condition that could prevent sudo from properly waiting for the
14601         child.
14602         [9ee4192385dc]
14603
14604 2007-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14605
14606         * pwutil.c:
14607         Don't declare pw_free() if we are not going to use it.
14608         [adb79a4289ca]
14609
14610         * env.c:
14611         Add NOEXEC support for AIX 5.3 which supports LDR_PRELOAD and
14612         LDR_PRELOAD64. The 64-bit version is not currently supported.
14613         Remove zero_env() prototype as it no longer exists.
14614         [b4fe65027fb6]
14615
14616 2006-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14617
14618         * logging.c:
14619         Add "Auto-Submitted: auto-generated" line to sudo mail for rfc 3834.
14620         [78002ad90f7b]
14621
14622 2006-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
14623
14624         * auth/pam.c:
14625         If the user enters ^C at the password prompt, abort instead of
14626         trying to authenticate with an empty password (which causes an
14627         annoying delay).
14628         [da3f27b747c7]
14629
14630 2006-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14631
14632         * closefrom.c, config.h.in, configure, configure.in:
14633         Add fcntl F_CLOSEM support to closefrom(); adapted from a diff by
14634         Darren Tucker.
14635         [0331b7780759]
14636
14637         * pwutil.c:
14638         pw_free() is only used by sudo_freepwcache() so ifdef it out too.
14639         [0014c0d9eeba]
14640
14641 2006-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14642
14643         * config.guess, config.sub:
14644         Update to latest versions from cvs.savannah.gnu.org
14645         [aa0143101c20]
14646
14647 2006-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
14648
14649         * pwutil.c, sudo_edit.c:
14650         Move password/group cache cleaning out of sudo_end{pw,grp}ent() so
14651         we can close the passwd/group files early.
14652         [559074bd7eb7]
14653
14654         * config.h.in, configure, configure.in, set_perms.c:
14655         Add seteuid() flavor of set_perms() for systems without setreuid()
14656         or setresuid() that have a working seteuid(). Tested on Darwin.
14657         [508d8da99189]
14658
14659 2006-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
14660
14661         * mon_systrace.c:
14662         systrace_read() returns ssize_t
14663         [9f97d1d1a59d]
14664
14665         * configure, configure.in:
14666         Fix typo, -lldap vs. -ldap; from Tim Knox.
14667         [a8cc43c3bb2a]
14668
14669 2006-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14670
14671         * HISTORY:
14672         Fix typo; Matt Ackeret
14673         [86964ee3dfbd]
14674
14675 2006-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14676
14677         * sudo.c:
14678         Print sudoers path in -V mode for root.
14679         [dc43f2d75bd9]
14680
14681 2006-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14682
14683         * ldap.c:
14684         Do a sub tree search instead of a base search (one level in the tree
14685         only) for sudo right objects. This allows system administrators to
14686         categorize the rights in a tree to make them easier to manage.
14687         [6d2d9abf996e]
14688
14689 2005-12-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14690
14691         * sudo.pod:
14692         fix typo
14693         [1473413bcbda]
14694
14695 2005-12-04  Todd C. Miller  <Todd.Miller@courtesan.com>
14696
14697         * ldap.c:
14698         Convert GET_OPT and GET_OPTI to use just 2 args. Add timelimit and
14699         bind_timelimit support; adapted from gentoo.
14700         [afc816093026]
14701
14702 2005-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14703
14704         * ldap.c:
14705         Support comments that start in the middle of a line
14706         [c25df6ee3db8]
14707
14708         * configure, configure.in:
14709         Define LDAP_DEPRECATED until we start using ldap_get_values_len()
14710         [ee249bfe230a]
14711
14712 2005-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
14713
14714         * closefrom.c:
14715         Silence gcc -Wsign-compare; djm@openbsd.org
14716         [28769ce6418d]
14717
14718         * error.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
14719         cleanup() now takes an int as an arg so it can be used as a signal
14720         handler too.
14721         [2bb0df34d09c]
14722
14723         * sudo.c:
14724         Make a copy of the shell field in the passwd struct for NewArgv to
14725         avoid a use after free situation after sudo_endpwent() is called.
14726         [5dcc9ffd362e]
14727
14728 2005-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14729
14730         * config.h.in, configure, configure.in:
14731         Add mkstemp() for those poor souls without it.
14732         [5fdd02e863e0]
14733
14734         * mkstemp.c:
14735         Add mkstemp() for those poor souls without it.
14736         [c99401207860]
14737
14738         * Makefile.in:
14739         Add mkstemp() for those poor souls without it.
14740         [9c1cf2678f24]
14741
14742 2005-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14743
14744         * env.c:
14745         Add PERL5DB to list of environment variables to remove.
14746         [7375c27ecf75]
14747
14748 2005-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
14749
14750         * mon_systrace.c, mon_systrace.h:
14751         Instead of calling the check function twice with a state cookie use
14752         separate check/log functions.
14753
14754         Check more ioctl() calls for failure.
14755
14756         systrace_{read,write} now return the number of bytes read/written or
14757         -1 on error.
14758         [3dc8946d90e9]
14759
14760         * env.c:
14761         Add more environment variables to remove; from gentoo linux Add some
14762         comments about what bad env variables go to what (more to do)
14763         [6918110a6b82]
14764
14765 2005-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
14766
14767         * sudo.c, sudo_edit.c:
14768         Move sudo_end{gr,pw}ent() until just before the exec since they free
14769         up our cached copy of the passwd structs, including sudo_user and
14770         sudo_runas. Fixes a use-after-free bug.
14771         [54de3778bad0]
14772
14773         * visudo.c:
14774         Close all fd's before executing editor.
14775         [4fcc05e1bec8]
14776
14777         * sudo.c:
14778         Enable malloc debugging on OpenBSD when SUDO_DEVEL is set.
14779         [ef0e8ffa5c9f]
14780
14781         * check.c:
14782         Fix fd leak when lecture file option is enabled. From Jerry Brown
14783         [ce97f9207cd8]
14784
14785 2005-11-07  Todd C. Miller  <Todd.Miller@courtesan.com>
14786
14787         * env.c:
14788         Add PERLLIB, PERL5LIB and PERL5OPT to the default list of
14789         environment variables to remove. From Charles Morris
14790         [c96e1367d1c1]
14791
14792 2005-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
14793
14794         * env.c:
14795         add JAVA_TOOL_OPTIONS to initial_badenv_table for java 5
14796         [72a6a1571226]
14797
14798 2005-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14799
14800         * env.c:
14801         add PS4 and SHELLOPTS to initial_badenv_table for bash
14802         [89dfb3f318f3]
14803
14804 2005-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
14805
14806         * sudoers.pod:
14807         Fix typo; Toby Peterson
14808         [b7a3222b23f4]
14809
14810 2005-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
14811
14812         * tsgetgrpw.c:
14813         Make return buffers static so they don't get clobbered
14814         [13323a39b9f5]
14815
14816 2005-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
14817
14818         * auth/securid5.c:
14819         Fix securid5 authentication, was not checking for ACM_OK. Also add
14820         default cases for the two switch()es. Problem noted by ccon at
14821         worldbank
14822         [14091e418333]
14823
14824 2005-06-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14825
14826         * ldap.c:
14827         Remove ncat() in favor of just counting bytes and pre-allocating
14828         what is needed.
14829         [25b8712adb61]
14830
14831 2005-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
14832
14833         * ldap.c:
14834         Fix up some comments Add missing fclose() for the rootbinddn case
14835         [ae95c8a89711]
14836
14837         * ldap.c:
14838         align struct ldap_config
14839         [35d0d64c76f8]
14840
14841         * ldap.c:
14842         use LINE_MAX for max conf file line size
14843         [da116cb8853d]
14844
14845         * pathnames.h.in:
14846         add _PATH_LDAP_SECRET
14847         [128b04ecfab7]
14848
14849         * README.LDAP:
14850         Mention rootbinddn Give example ou=SUDOers container
14851         [852edc69bd1c]
14852
14853 2005-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
14854
14855         * INSTALL, configure, configure.in, ldap.c:
14856         Support rootbinddn in ldap.conf
14857         [1615c91522a1]
14858
14859         * env.c, sudo.pod, sudoers.pod:
14860         Preserve DISPLAY environment variable by default.
14861         [05f503d5f438]
14862
14863         * acsite.m4, configure:
14864         set need_lib_prefix=no for all cases; this is safe for LD_PRELOAD
14865         [18a04dea8d05]
14866
14867         * acsite.m4, configure:
14868         set need_version=no for all cases; this is safe for LD_PRELOAD
14869         [b542560e1a73]
14870
14871         * aclocal.m4:
14872         typo
14873         [c040df0fcd5a]
14874
14875         * configure, configure.in:
14876         Add dragonfly
14877         [f13794618636]
14878
14879         * auth/pam.c:
14880         Fix call to pam_end() when pam_open_session() fails.
14881         [0be47cdfdef1]
14882
14883         * configure:
14884         regen
14885         [7f5c13b4b800]
14886
14887         * acsite.m4:
14888         rebuild acsite.m4 from libtool 1.9f libtool.m4 ltoptions.m4
14889         ltsugar.m4 ltversion.m4
14890         [a7ba9fd1a2ab]
14891
14892         * config.guess, config.sub, ltmain.sh:
14893         merge in local changes: config.guess: o better openbsd support
14894         config.sub: o hiuxmpp support ltmain.sh o remove requirement that
14895         libs must begin with "lib" o don't print a bunch of crap about
14896         library installs o don't run ldconfig
14897         [f4149f2c720f]
14898
14899         * config.guess, config.sub, ltmain.sh:
14900         libtool 1.9f
14901         [82a534e7121f]
14902
14903         * configure.in:
14904         Update with autoupdate and make minor changes for libtool 1.9f
14905         [11b5ae5c1428]
14906
14907 2005-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14908
14909         * parse.c:
14910         don't call sudo_ldap_display_cmnd if ldap not setup
14911         [8bcf6c094ffe]
14912
14913         * sudo_edit.c, visudo.c:
14914         Move declatation of struct timespec to its own include files for
14915         systems without it since it needs time_t defined.
14916         [b95c333299a0]
14917
14918         * gettime.c:
14919         Move declatation of struct timespec to its own include files for
14920         systems without it since it needs time_t defined.
14921         [021b4569cc0c]
14922
14923         * fileops.c:
14924         Move declatation of struct timespec to its own include files for
14925         systems without it since it needs time_t defined.
14926         [dd8573b2ee7d]
14927
14928         * emul/timespec.h:
14929         Move declatation of struct timespec to its own include files for
14930         systems without it since it needs time_t defined.
14931         [f95137771564]
14932
14933         * check.c, compat.h:
14934         Move declatation of struct timespec to its own include files for
14935         systems without it since it needs time_t defined.
14936         [2ef2ace8fe85]
14937
14938         * ldap.c:
14939         Don't set safe_cmnd for the "sudo ALL" case.
14940         [ad7fa9e07da0]
14941
14942 2005-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
14943
14944         * auth/pam.c:
14945         Call pam_open_session() and pam_close_session() to give pam_limits a
14946         chance to run. Idea from Karel Zak.
14947         [fed46d471350]
14948
14949 2005-04-24  Todd C. Miller  <Todd.Miller@courtesan.com>
14950
14951         * check.c, sudo.c:
14952         Add explicit cast from mode_t -> u_int in printf to silence warnings
14953         on Solaris
14954         [17bb961fe22d]
14955
14956         * parse.c:
14957         include grp.h to silence a warning on Solaris
14958         [14386fbab640]
14959
14960 2005-04-23  Todd C. Miller  <Todd.Miller@courtesan.com>
14961
14962         * parse.c:
14963         Fix printing of += and -= defaults.
14964         [a667604c56cd]
14965
14966 2005-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
14967
14968         * mon_systrace.c:
14969         Sanity check number of syscall args with argsize. Not really needed
14970         but a little paranoia never hurts.
14971         [6bb455a2c2d6]
14972
14973         * mon_systrace.c, mon_systrace.h:
14974         Don't do pointer arithmetic on void * Use int, not size_t/ssize_t
14975         for systrace lengths (since it uses int)
14976         [3cafccffcffd]
14977
14978 2005-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
14979
14980         * mon_systrace.c:
14981         Add some memsets for paranoia Fix namespace collsion w/ error Check
14982         rval of decode_args() and update_env() Remove improper setting of
14983         validated variable
14984         [3d385158354d]
14985
14986 2005-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
14987
14988         * parse.c, sudo.c, sudo.h:
14989         In -l mode, only check local sudoers file if def_ignore_sudoers is
14990         not set and call LDAP versions from display_privs() and
14991         display_cmnd() instead of directly from main(). Because of this we
14992         need to defer closing the ldap connection until after -l processing
14993         has ocurred and we must pass in the ldap pointer to display_privs()
14994         and display_cmnd().
14995         [1dfc2e8c9f2b]
14996
14997         * ldap.c:
14998         Reorganize LDAP code to better match normal sudoers parsing.
14999         Instead of storing strings for later printing in -l mode we do
15000         another query since the authenticating user and the user being
15001         listed may not be the same (the new -U flag). Also add support for
15002         "sudo -l command".
15003
15004         There is still a fair bit if duplicated code that can probably be
15005         refactored.
15006         [e9568f19bde5]
15007
15008 2005-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15009
15010         * ldap.c:
15011         Replace pass variable with do_netgr for better readability.
15012         [1bba841b6e79]
15013
15014         * ldap.c:
15015         use DPRINTF macro
15016         [02b159b66bb5]
15017
15018         * ldap.c:
15019         estrdup, not strdup
15020         [22cdee7973c1]
15021
15022 2005-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15023
15024         * parse.c:
15025         Add macro to test if the tag changed to improve readability.
15026         [4e11b4819556]
15027
15028         * parse.c:
15029         Avoid printing defaults header if there are no defaults to print...
15030         [41a28627df03]
15031
15032         * glob.c:
15033         Fix a warning on systems without strlcpy().
15034         [6814e0f0e4f4]
15035
15036         * pwutil.c:
15037         Use macros where possible for sudo_grdup() like sudo_pwdup().
15038         [30f201ff35cd]
15039
15040 2005-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15041
15042         * utimes.c:
15043         It is possible for tv_usec to hold >= 1000000 usecs so add in
15044         tv_usec / 1000000.
15045         [794ac4d53a65]
15046
15047 2005-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
15048
15049         * auth/kerb5.c:
15050         The component in krb5_principal_get_comp_string() should be 1, not 0
15051         for Heimdal. From Alex Plotnick.
15052         [fefa351c5044]
15053
15054 2005-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15055
15056         * alias.c, alloc.c, check.c, defaults.c, find_path.c, gram.c, gram.y,
15057         interfaces.c, ldap.c, logging.c, match.c, mon_systrace.c, pwutil.c,
15058         redblack.c, sudo.c, sudo.h, toke.c, toke.l, visudo.c:
15059         Add efree() for consistency with emalloc() et al. Allows us to rely
15060         on C89 behavior (free(NULL) is valid) even on K&R.
15061         [7876bb80d87c]
15062
15063         * parse.c, sudo.c:
15064         Move initgroups() for -U option into display_privs() so group
15065         matching in sudoers works correctly.
15066         [b074428ad2ca]
15067
15068 2005-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15069
15070         * ldap.c:
15071         Removed duplicate call to ldap_unbind_s introduced along with
15072         sudo_ldap_close.
15073         [19acc1c20f7c]
15074
15075         * parse.c:
15076         Add missing space in Defaults printing
15077         [95d2935bf6d4]
15078
15079 2005-03-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15080
15081         * pwutil.c:
15082         Sync sudo_pwdup with OpenBSD changes: use macros for size computaton
15083         and string copies.
15084         [6b6b241495e5]
15085
15086 2005-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15087
15088         * pwutil.c:
15089         Zero old pw_passwd before replacing with version from shadow file.
15090         [3251b349dfe1]
15091
15092         * configure, configure.in:
15093         Only attempt shadow password detection if PAM is not being used Add
15094         shadow_* variables to make shadow password detection more generic.
15095         [d498a3423ac9]
15096
15097         * configure.in:
15098         Use OSDEFS for os-specific -D_FOO_BAR stuff rather than CPPFLAGS
15099         [04d55bbd5e35]
15100
15101 2005-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15102
15103         * sudoers.pod:
15104         use a non-breaking space to avoid a double space after e.g.
15105         [11cdb54bdf7b]
15106
15107         * sudo.pod:
15108         commna, not colon after e.g.
15109         [8d5875ff72e0]
15110
15111 2005-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15112
15113         * sudo_noexec.c:
15114         Add __ variants of the exec functions. GNU libc at least uses
15115         __execve() internally.
15116         [d1880473d790]
15117
15118         * indent.pro:
15119         Match reality a bit more.
15120         [633e3fa875a7]
15121
15122         * pwutil.c:
15123         Missed piece from rev. 1.6, fix sudo_getpwnam() too.
15124         [128f7b21c2ee]
15125
15126         * pwutil.c:
15127         Store shadow password after making a local copy of struct passwd in
15128         case normal and shadow routines use the same internal buffer in
15129         libc.
15130         [f806052a6ffc]
15131
15132 2005-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15133
15134         * alloc.c, logging.c:
15135         Make varargs usage consistent with the rest of the code.
15136         [3d45affc9851]
15137
15138 2005-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15139
15140         * sudo_noexec.c:
15141         Wrap more of the exec family since on Linux the others do not appear
15142         to go through the normal execve() path.
15143         [8167769b4e19]
15144
15145         * visudo.c:
15146         make print_unused static like proto says
15147         [ecf10e1bae55]
15148
15149         * glob.c:
15150         silence a warning on K&R systems
15151         [2e00425f1a5c]
15152
15153         * alias.c, error.c:
15154         make this build in K&R land
15155         [156f65f8525a]
15156
15157         * parse.c:
15158         make this build in K&R land
15159         [6fc9276889cb]
15160
15161 2005-03-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15162
15163         * toke.c:
15164         regen
15165         [3b349748cd21]
15166
15167 2005-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15168
15169         * ldap.c:
15170         return(foo) not return foo optimize _atobool() slightly
15171         [11d09d154ed5]
15172
15173         * ldap.c:
15174         Use TRUE/FALSE
15175         [53999320d98f]
15176
15177         * ldap.c:
15178         Reformat to match the rest of sudo's code.
15179         [1bd0f2afa0e7]
15180
15181         * sudo.pod:
15182         I am the primary author
15183         [5d311ecd85c6]
15184
15185 2005-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15186
15187         * Makefile.in, README, RUNSON:
15188         The RUNSON file is toast--it confused too many people and really
15189         isn't needed in a configure-oriented world.
15190         [96a6ef7bbc08]
15191
15192         * INSTALL:
15193         alternate -> alternative
15194         [b65015c5d0a2]
15195
15196         * tgetpass.c:
15197         Use TCSADRAIN instead of TCSAFLUSH since some OSes have issues with
15198         TCSAFLUSH.
15199         [c66b4763ffdc]
15200
15201         * toke.l:
15202         Allow leading blanks before Defaults and Foo_Alias definitions
15203         [2add513d9277]
15204
15205         * Makefile.in:
15206         fix rules to build toke.o and gram.o in devel mode
15207         [96cbb414ebd3]
15208
15209 2005-02-20  Todd C. Miller  <Todd.Miller@courtesan.com>
15210
15211         * sudoers.pod:
15212         env_keep overrides set_logname
15213         [401877193a15]
15214
15215         * env.c:
15216         Fix disabling set_logname and make env_keep override set_logname.
15217         [0906e7a5ed93]
15218
15219         * compat.h, config.h.in, configure, configure.in:
15220         No longer need memmove()
15221         [43bdb6efe3f2]
15222
15223         * env.c, sudo.c:
15224         Just clean the environment once. This assumes that any further
15225         setenv/putenv will be able to handle the fact that we replaced
15226         environ with our own malloc'd copy but all the implementations I've
15227         checked do.
15228         [11658fe92ba2]
15229
15230 2005-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15231
15232         * env.c, sudo.c:
15233         In -i mode, base the value of insert_env()'s dupcheck flag on
15234         DID_FOO flags. Move checks for $HOME resetting into rebuild_env()
15235         [8365b0bd0c71]
15236
15237 2005-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
15238
15239         * env.c, sudo.c:
15240         Move setting of user_path, user_shell, user_prompt and prev_user
15241         into init_vars() since user_shell at least is needed there.
15242         [37e22dce66e9]
15243
15244 2005-02-12  Todd C. Miller  <Todd.Miller@courtesan.com>
15245
15246         * Makefile.in:
15247         fix devel builds
15248         [9fbb15ef164c]
15249
15250         * sudo.c:
15251         Fix some printf format mismatches on error.
15252         [ffc1c3f11740]
15253
15254         * check.c:
15255         Fix some printf format mismatches on error.
15256         [7b3b508adf50]
15257
15258         * configure, gram.c, toke.c:
15259         regen
15260         [aa76f9d8b02a]
15261
15262         * Makefile.in, aclocal.m4, alias.c, alloc.c, auth/afs.c,
15263         auth/aix_auth.c, auth/bsdauth.c, auth/dce.c, auth/fwtk.c,
15264         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
15265         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/securid5.c,
15266         auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h, check.c,
15267         closefrom.c, compat.h, configure.in, defaults.c, defaults.h,
15268         emul/utime.h, env.c, error.c, fileops.c, find_path.c, getprogname.c,
15269         getspwuid.c, gettime.c, goodpath.c, gram.y, interfaces.c,
15270         interfaces.h, ldap.c, logging.c, logging.h, match.c, mon_systrace.c,
15271         parse.c, redblack.c, redblack.h, set_perms.c, sigaction.c,
15272         snprintf.c, strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c,
15273         sudo.h, sudo.pod, sudo_edit.c, sudo_noexec.c, sudoers.pod,
15274         testsudoers.c, tgetpass.c, toke.l, utimes.c, version.h, visudo.c,
15275         visudo.pod, zero_bytes.c:
15276         Update copyright years.
15277         [0610c3654739]
15278
15279         * Makefile.binary.in:
15280         Update copyright years.
15281         [d78ffc9f2e2b]
15282
15283         * LICENSE:
15284         Update copyright years.
15285         [f60473bca4b1]
15286
15287         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
15288         version 1.7
15289         [aa977a544ca1]
15290
15291         * WHATSNEW:
15292         What's new in sudo 1.7, based on the 1.7 CHANGES entries.
15293         [ecfcf7269c14]
15294
15295 2005-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
15296
15297         * compat.h, logging.h, sudo.h:
15298         Add __printflike and use it with gcc to warn about printf-like
15299         format mismatches
15300         [b192ad4a0548]
15301
15302 2005-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15303
15304         * CHANGES, ChangeLog:
15305         Replaced CHANGES file with ChangeLog generated from cvs logs
15306         [d9ace9dab98f]
15307
15308         * set_perms.c:
15309         Use warning/error instead of perror/fatal.
15310         [e33259df7738]
15311
15312         * config.guess:
15313         Update OpenBSD section
15314         [9d2c23de6801]
15315
15316         * UPGRADE:
15317         Add upgrading noted for 1.7
15318         [1fb6b6d6df07]
15319
15320         * env.c, sudo.c, sudoers.pod:
15321         Instead of zeroing out the environment, just prune out entries based
15322         on the env_delete and env_check lists. Base building up the new
15323         environment on the current environment and the variables we removed
15324         initially.
15325         [fc192df8fd15]
15326
15327         * config.h.in, configure, configure.in, sudo.c:
15328         Set locale to "C" if locales are supported, just to be safe.
15329         [91fbaa98f02e]
15330
15331         * toke.c, toke.l:
15332         Cast?argument to ctype functions to unsigned char.
15333         [e096b4d65796]
15334
15335 2005-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
15336
15337         * env.c:
15338         correct value for DID_USER
15339         [b5b05d36ec15]
15340
15341         * error.c, fnmatch.c, getcwd.c, glob.c, snprintf.c:
15342         #include <compat.h> not "compat.h"
15343         [7a0ad9a0ccd7]
15344
15345         * defaults.c:
15346         Reset the environment by default.
15347         [4ecc6423e0f0]
15348
15349         * sudo.c:
15350         Alloc an extra slot in NewArgv. Removes the need to malloc an new
15351         vector if execve() fails.
15352         [83dfb6f584a7]
15353
15354 2005-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
15355
15356         * INSTALL, config.h.in, configure, configure.in, sudo.c:
15357         Use execve(2) and wrap the command in sh if we get ENOEXEC.
15358         [c0c6af4e2a21]
15359
15360 2005-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15361
15362         * sudo_noexec.c:
15363         Only include time.h on systems that lack struct timespec which gets
15364         defind in compat.h (using time_t).
15365         [e373e518b4cb]
15366
15367         * sudo_noexec.c:
15368         Include time.h for time_t in compat.h for systems w/o struct
15369         timespec.
15370         [a34b5637e458]
15371
15372         * compat.h, config.h.in, configure, configure.in:
15373         use bcopy on systems w/o memmove
15374         [f835eafd78c6]
15375
15376         * compat.h:
15377         __attribute__((__unused__)) doesn't work in gcc 2.7.2.1 so limit its
15378         use to gcc >= 2.8.
15379         [1cb9a4e58566]
15380
15381         * Makefile.in:
15382         Add explicit rule to build sudo_noexec.lo
15383         [df1dfcf8dd77]
15384
15385 2005-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15386
15387         * INSTALL.configure, Makefile.in:
15388         No longer depend on VPATH; pointed out a bunch of missed
15389         dependencies.
15390         [601a45d4af6b]
15391
15392         * TROUBLESHOOTING:
15393         Help for PAM when account section is missing
15394         [9b8221256756]
15395
15396         * auth/pam.c:
15397         Give user a clue when there is a missing "account" section in the
15398         PAM config.
15399         [2529625c0495]
15400
15401         * auth/pam.c:
15402         Better error handling.
15403         [518c9bda23d8]
15404
15405         * config.h.in, configure, configure.in:
15406         Move _FOO_SOURCE to CPPFLAGS so it takes effect as early as
15407         possible. Silences a warning about isblank() on linux.
15408         [19c94d7ecdc8]
15409
15410         * auth/pam.c:
15411         Fix typo (missing comma) that caused an incorrect number of args to
15412         be passed to log_error().
15413         [0099dfec560f]
15414
15415 2005-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15416
15417         * pwutil.c:
15418         Don't try to destroy a tree we didn't create.
15419         [d43c4fe03aa4]
15420
15421 2005-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
15422
15423         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
15424         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
15425         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15426         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
15427         compat.h, defaults.c, env.c, error.c, fileops.c, find_path.c,
15428         fnmatch.c, getcwd.c, getprogname.c, getspwuid.c, gettime.c,
15429         goodpath.c, gram.c, gram.y, interfaces.c, ldap.c, logging.c,
15430         match.c, mon_systrace.c, parse.c, pwutil.c, set_perms.c,
15431         sigaction.c, snprintf.c, strcasecmp.c, strerror.c, strlcat.c,
15432         strlcpy.c, sudo.c, sudo_edit.c, sudo_noexec.c, testsudoers.c,
15433         tgetpass.c, toke.c, toke.l, utimes.c, visudo.c, zero_bytes.c:
15434         Add __unused to rcsids
15435         [ad6b4ac45705]
15436
15437 2005-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15438
15439         * configure, configure.in:
15440         Fix error message when mixing invalid auth types
15441         [68069b3ff5bc]
15442
15443         * INSTALL:
15444         PAM, AIX auth, BSD auth and login_cap are now on by default if the
15445         OS supports them.
15446         [4e44e9098cf0]
15447
15448         * auth/sudo_auth.h, config.h.in:
15449         s/HAVE_AUTHENTICATE/HAVE_AIXAUTH/g
15450         [2d569b43b23e]
15451
15452         * configure.in:
15453         Better checking for conflicting authentication methods Display the
15454         authentication methods used at the end of configure Rename --with-
15455         authenticate -> --with-aixauth Use --with-aixauth, --with-bsdauth,
15456         --with-pam, --with-logincap by default on systems that support them
15457         unless disabled. Add OSMAJOR variable that replaces old OSREV; now
15458         OSREV has full version number
15459         [a21115b6fe9f]
15460
15461 2005-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15462
15463         * def_data.c, def_data.in, sudo.c, sudoers.pod:
15464         s/-O/-C/
15465         [ee73f1b81923]
15466
15467 2005-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
15468
15469         * configure.in:
15470         Replace: test -n "$FOO" || FOO="bar"
15471
15472         With: : ${FOO='bar'}
15473         [37552d9054fc]
15474
15475 2005-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
15476
15477         * pwutil.c, testsudoers.c, tsgetgrpw.c:
15478         Use function pointers to only call private passwd/group routines
15479         when using a nonstandard passwd/group file.
15480         [215908681dfb]
15481
15482 2005-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
15483
15484         * CHANGES:
15485         sync
15486         [2e55c03f5790]
15487
15488         * tsgetgrpw.c:
15489         Can't use strtok() since it doesn't handle empty fields so add
15490         getpwent()/getgrent() functions and call those.
15491         [bdaa5b0db70e]
15492
15493 2005-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
15494
15495         * Makefile.in:
15496         Fix dummied out toke.c and gram.c dependencies.
15497         [4b909c8b2ebe]
15498
15499         * Makefile.in:
15500         Rename PARSESRCS -> GENERATED since it is only used in the clean
15501         target Add devdir variable and use it to specify the path to parser
15502         sources
15503         [f27b3f41ca23]
15504
15505         * configure:
15506         regen
15507         [22c6435dbd46]
15508
15509         * configure.in:
15510         Add a devdir variables that defaults to $(srcdir) and is set to . if
15511         --devel was specified. Allows for proper dependecies building the
15512         parser.
15513         [a36d694c6d21]
15514
15515         * testsudoers.c:
15516         Add support for custom passwd/group files.
15517         [296549ff4b87]
15518
15519         * Makefile.in:
15520         Build private copy of pwutil.o for testsudoers with MYPW defined so
15521         it uses our own passwd/group routines.
15522         [bafa54ec78ca]
15523
15524         * visudo.c:
15525         Remove sudo_*{pw,gr}* stubs and add sudo_setspent/sudo_endspent
15526         stubs instead. We can now just use the caching sudo_*{pw,gr}*
15527         functions in pwutil.c Add comment about wanting to call
15528         sudo_endpwent/sudo_endgrent in cleanup()
15529         [7e59d6b5510d]
15530
15531         * tsgetgrpw.c:
15532         Remove caching; we will just use what is in pwutil.c Use global
15533         buffers for passwd/group structs Rename functions from sudo_* to
15534         my_*
15535         [8c1e068f574c]
15536
15537         * logging.c, sudo.c:
15538         g/c pwcache_init/pwcache_destroy
15539         [60a24909b947]
15540
15541         * sudo.h:
15542         Undo last commit and add sudo_setspent and sudo_endspent instead.
15543         [bac80db08296]
15544
15545         * getspwuid.c, pwutil.c:
15546         Move all but the shadow stuff from getspwuid.c to pwutil.c and
15547         pwcache_get and pwcache_put as they are no longer needed. Also add
15548         preprocessor magic to use private versions of the passwd and group
15549         routines if MYPW is defined (for use by testsudoers).
15550         [a16b8678a426]
15551
15552         * tsgetgrpw.c:
15553         zero out struct passwd/group before filling it in so if there are
15554         fields we don't handle they end up as 0.
15555         [274cb6a93301]
15556
15557         * logging.c, sudo.c, sudo.h, testsudoers.c, visudo.c:
15558         Adapt to pwutil.c
15559         [43ebd04c8b82]
15560
15561         * Makefile.in:
15562         Add tsgetgrpw.c and pwutil.c Rename the *OBJ variables for better
15563         readability.
15564         [7f88c6061e2d]
15565
15566         * tsgetgrpw.c:
15567         Passwd and group lookup routines for testsudoers that support
15568         alternate passwd and group files.
15569         [d7803101d34e]
15570
15571         * getspwuid.c, pwutil.c:
15572         Split off pw/gr cache and dup code into its own file. This allows
15573         visudo and testsudoers to use the pw/gr cache too.
15574         [ef333d3ffedf]
15575
15576 2005-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15577
15578         * parse.c:
15579         Print Defaults info in "sudo -l" output and wrap lines based on the
15580         terminal width.
15581         [e559eae4250e]
15582
15583 2005-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
15584
15585         * match.c, testsudoers.c, visudo.c:
15586         Only check group vector in usergr_matches() if we are matching the
15587         invoking or list user. Always check the group members, even if
15588         there was a group vector.
15589         [d0c7ceb2a041]
15590
15591 2004-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15592
15593         * LICENSE, Makefile.in, fnmatch.3:
15594         No longer bundle fnmatch.3
15595         [72db4a4ff4e1]
15596
15597         * CHANGES, TODO:
15598         checkpoint
15599         [e92781bfd99c]
15600
15601 2004-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15602
15603         * sudo.c:
15604         sort usage
15605         [15e3b876ec2c]
15606
15607         * sudo.pod:
15608         Sort command line options
15609         [c1fa56584bc4]
15610
15611         * def_data.c, def_data.h, def_data.in, defaults.c, logging.c, sudo.c,
15612         sudo.pod, sudoers.pod:
15613         Add closefrom sudoers option to start closing at a point other than
15614         3. Add closefrom_override sudoers option and -C sudo flag to allow
15615         the user to specify a different closefrom starting point.
15616         [370652b099d1]
15617
15618         * pathnames.h.in:
15619         Add _PATH_DEVNULL for those without it.
15620         [0c4c3e0ceb8b]
15621
15622         * LICENSE:
15623         no more UCB strcasecmp
15624         [397a6298e07f]
15625
15626         * strcasecmp.c:
15627         replace BSD licensed one with version derived from pdksh
15628         [d7cfda8c57a2]
15629
15630 2004-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
15631
15632         * sudo.c:
15633         Fix last commit.
15634         [7afb9a180532]
15635
15636         * sudo.c:
15637         Make sure stdin, stdout and stderr are open and dup them to
15638         /dev/null if not.
15639         [590f387068bd]
15640
15641 2004-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
15642
15643         * ldap.c, mon_systrace.c, sudo.c, sudo.h:
15644         add sudo_ldap_close
15645         [4273a36765a7]
15646
15647         * fileops.c, gettime.c, sudo.c, sudo_edit.c, utimes.c, visudo.c:
15648         Use TIME_WITH_SYS_TIME
15649         [c32b59bf15fb]
15650
15651         * config.h.in, configure, configure.in:
15652         Add TIME_WITH_SYS_TIME_H
15653         [57cb146f451d]
15654
15655 2004-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
15656
15657         * env.c:
15658         Add missing braces to avoid DYLD_FORCE_FLAT_NAMESPACE being set
15659         unconditionally on darwin. From Toby Peterson.
15660         [d69959681c87]
15661
15662         * getspwuid.c:
15663         Check rbinsert() return value. In the case of faked up entries
15664         there is usually a negative response cached that we need to
15665         overwrite.
15666
15667         In pwfree() don't try to zero out a NULL pw_passwd pointer.
15668         [00b32d1a48c1]
15669
15670         * mon_systrace.c:
15671         Use the double fork trick to avoid the monitor process being waited
15672         for by the main program run through sudo.
15673         [e0ce556712ff]
15674
15675 2004-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
15676
15677         * sudo.c:
15678         Call initgroups() in -U mode so group matches work normally.
15679         [2235bea15283]
15680
15681         * def_data.h, mkdefaults:
15682         Don't print a trailing comma for the last entry in enum def_tupple
15683         [c43a96bb31df]
15684
15685 2004-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
15686
15687         * sudoers.cat, sudoers.man.in, sudoers.pod:
15688         Mention values when lecture, listpw and verifypw are used in boolean
15689         context.
15690         [a0b5c0abaccf]
15691
15692         * def_data.c, def_data.in:
15693         verifypw when used in a boolean TRUE context should be "all", not
15694         "any".
15695         [2eb076ddd5e2]
15696
15697 2004-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
15698
15699         * def_data.in, defaults.c:
15700         Allow tuples that can be used as booleans to be used as boolean
15701         TRUE. In this case the 2nd possible value of the tuple is used for
15702         TRUE.
15703         [bd99aa77e88b]
15704
15705 2004-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
15706
15707         * configure, configure.in:
15708         Correct the test for 2-parameter timespecsub
15709         [d41c9cb26b97]
15710
15711         * sudo.h:
15712         Add strub struct definitions for passwd, timeval and timespec
15713         [c4ce5c43d8c5]
15714
15715         * config.h.in, configure, configure.in, sudo_edit.c, visudo.c:
15716         Add check for 2-argument form of timespecsub (FreeBSD and BSD/OS)
15717         and fix a typo in the gettimeofday check.
15718         [8ac9893057ce]
15719
15720 2004-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
15721
15722         * match.c, testsudoers.c:
15723         Deal with user_stat being NULL as it is for visudo and testsudoers.
15724         [3605a6ff64d0]
15725
15726         * parse.c, sudo.c, sudo.cat, sudo.h, sudo.man.in, sudo.pod:
15727         Add -U option to use in conjunction with -l instead of -u. Add
15728         support for "sudo -l command" to test a specific command.
15729         [99638789d415]
15730
15731         * gram.c, gram.y, sudo.c:
15732         Set safe_cmnd after sudoers_lookup() if it has not been set.
15733         Previously it was set by sudo "ALL" in the parser but at that point
15734         the fully-qualified pathname has not yet been found.
15735         [ac30d98f8225]
15736
15737 2004-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
15738
15739         * parse.c, testsudoers.c:
15740         Correctly handle multiple privileges per userspec and runas
15741         inheritence.
15742         [a98a965181af]
15743
15744 2004-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
15745
15746         * defaults.c:
15747         Zero out sd_un for each entry in sudo_defs_table in init_defaults.
15748         [031d3cd4a848]
15749
15750 2004-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
15751
15752         * toke.c, toke.l:
15753         make per-command defaults work with sudoedit
15754         [e56fe33db916]
15755
15756         * ldap.c, parse.c, sudo.c, sudo.h:
15757         Remove the FLAG_NOPASS, FLAG_NOEXEC and FLAG_MONITOR flags.
15758         Instead, we just set the approriate defaults variable.
15759         [756eeecc1d86]
15760
15761         * sample.sudoers, sudoers.cat, sudoers.man.in, sudoers.pod:
15762         Document per-command Defaults.
15763         [92a0f84b91c1]
15764
15765         * defaults.c, defaults.h, gram.c, gram.h, gram.y, mon_systrace.c,
15766         sudo.c, testsudoers.c, toke.c, toke.l, visudo.c:
15767         Add support for command-specific Defaults entries. E.g.
15768         Defaults!/usr/bin/vi noexec
15769         [be3d52bf01cf]
15770
15771         * defaults.c, match.c, parse.c, parse.h, testsudoers.c:
15772         Change an occurence of user_matches() -> runas_matches() missed
15773         previously runas_matches(), host_matches() and cmnd_matches() only
15774         really need to pass in a list of members. user_matches() still
15775         needs to pass in a passwd struct because of "sudo -l"
15776         [833b22fc6fa0]
15777
15778         * parse.c:
15779         Check def_authenticate, def_noexec and def_monitor when setting
15780         return flags. XXX May be better to just set the defaults directly
15781         and get rid of those flags.
15782         [b6db22b59d69]
15783
15784         * alias.c, alloc.c, auth/afs.c, auth/aix_auth.c, auth/bsdauth.c,
15785         auth/dce.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c,
15786         auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
15787         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, check.c, closefrom.c,
15788         defaults.c, env.c, error.c, fileops.c, find_path.c, fnmatch.c,
15789         getcwd.c, getprogname.c, getspwuid.c, gettime.c, glob.c, goodpath.c,
15790         gram.c, gram.y, interfaces.c, ldap.c, logging.c, match.c,
15791         mon_systrace.c, parse.c, redblack.c, set_perms.c, snprintf.c,
15792         strcasecmp.c, strerror.c, strlcat.c, strlcpy.c, sudo.c, sudo_edit.c,
15793         sudo_noexec.c, testsudoers.c, tgetpass.c, toke.c, toke.l, utimes.c,
15794         visudo.c, zero_bytes.c:
15795         Use: #include <config.h> Not: #include "config.h" That way we get
15796         the correct config.h when build dir != src dir
15797         [97e5670a442b]
15798
15799         * Makefile.in:
15800         Back out part of rev 1.263; fix -I order
15801         [197ea01cad5d]
15802
15803         * toke.c, toke.l:
15804         More robust parsing if #include; could be much better still.
15805         [31bc3cd8f045]
15806
15807         * sudo_edit.c, visudo.c:
15808         Make arg splitting in visudo and sudoedit consistent.
15809         [7bc74485f246]
15810
15811         * Makefile.in, alias.c, gram.c, gram.y, parse.h:
15812         Split alias routines out into their own file.
15813         [d90f633cf9ae]
15814
15815         * error.h:
15816         __attribute__ is already defined in compat.h
15817         [676ed3fe9203]
15818
15819         * visudo.c:
15820         quit() should not be __noreturn__ as it is non-void on some
15821         platforms.
15822         [e528c2b6ba10]
15823
15824         * auth/fwtk.c, auth/rfc1938.c, auth/securid.c, auth/securid5.c:
15825         Add local error/warning functions like err/warn but that call an
15826         additional cleanup routine in the error case. This means we no
15827         longer need to compile a special version of alloc.o for visudo.
15828         [e78e8aae882e]
15829
15830         * parse.h:
15831         Clarify comments about the data structures
15832         [ae894e266701]
15833
15834 2004-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
15835
15836         * visudo.c:
15837         Add support for VISUAL and EDITOR containing command line args. If
15838         env_editor is not set any args in VISUAL and EDITOR are ignored.
15839         Arguments are also now supported in def_editor.
15840         [ff7303b8e298]
15841
15842 2004-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
15843
15844         * parse.h:
15845         alias_matches() is no more
15846         [b59825e28084]
15847
15848         * CHANGES, TODO:
15849         sync
15850         [2b8f5f63c1de]
15851
15852         * Makefile.in:
15853         When regenerating the parser, don't replace gram.h unless it has
15854         changed.
15855         [819949668018]
15856
15857         * Makefile.in:
15858         remove Makefile.binary for distclean
15859         [351eec8d00b2]
15860
15861         * env.c:
15862         Preserve KRB5CCNAME in zero_env() and add a paranoia check to make
15863         sure we can't overflow new_env.
15864         [3284d17b9c6d]
15865
15866         * sudo_edit.c:
15867         paranoia when stripping trailing slashes from tempdir.
15868         [012f1aa2b81f]
15869
15870         * sudo.c:
15871         Set user_ngroups to 0 if getgroups() returns an error.
15872         [c46d43e9449a]
15873
15874 2004-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
15875
15876         * config.h.in, configure, configure.in, sudo.c:
15877         Add configure check for getgroups()
15878         [5d8a214e2cef]
15879
15880         * ldap.c:
15881         Use supplementary group vector in struct sudo_user.
15882         [3d0c463c034d]
15883
15884         * match.c:
15885         Only do string comparisons on the group members if there is no
15886         supplemental group list.
15887         [be1c8362f7ef]
15888
15889         * CHANGES, TODO:
15890         sync
15891         [db188bc5b975]
15892
15893         * sudo_edit.c:
15894         On Digital UNIX _PATH_VAR_TMP doesn't end with a trailing slash so
15895         chop off any trailing slashes we see and add an explicit one.
15896         [e1b477dafee1]
15897
15898         * match.c:
15899         remove bogus XXX comment
15900         [8aecb8a28d40]
15901
15902         * match.c:
15903         Get rid of alias_matches and correctly fall through to the non-alias
15904         cases when there is no alias with the specified name.
15905         [2cd555246f09]
15906
15907         * getspwuid.c:
15908         Cache non-existent passwd/group entries too.
15909         [8de9a467d271]
15910
15911         * gram.c:
15912         regen
15913         [9ece18c58f36]
15914
15915         * getspwuid.c:
15916         fix typo
15917         [9a7ae371eac1]
15918
15919         * check.c, getspwuid.c, glob.c, ldap.c, logging.c, match.c,
15920         mon_systrace.h, sudo.c, sudo.h, testsudoers.c, visudo.c:
15921         Implement group caching and use the passwd and group caches
15922         throughout.
15923         [f1d8c5015169]
15924
15925 2004-11-15  Todd C. Miller  <Todd.Miller@courtesan.com>
15926
15927         * match.c:
15928         Properly negate the return value of alias_matches() when
15929         appropriate.
15930         [ce59c4ce77ad]
15931
15932         * match.c:
15933         Make hostname_matches() return TRUE for a match, else FALSE like the
15934         caller expects.
15935         [1dc03902d3a2]
15936
15937         * Makefile.in:
15938         Add missing dependencies on gram.h
15939         [4f94bbb1d50c]
15940
15941         * match.c:
15942         Use runas_matches in alias_matches() now that we have it.
15943         [284d22e91178]
15944
15945         * parse.c, parse.h:
15946         Expand aliases in "sudo -l" mode
15947         [f67a38b79c44]
15948
15949         * gram.y, match.c:
15950         Use ALIAS for the member type when storing an alias instead of
15951         HOSTALIAS/RUNASALIAS/CMNDALIAS/USERALIAS since match.c relies on the
15952         more generic type. Expand runas_matches instead of calling
15953         user_matches() inside of it since user_matches() looks up
15954         USERALIASes, not RUNASALIASes.
15955         [52004d75232b]
15956
15957         * CHANGES, getspwuid.c:
15958         Paranoia; zero out pw_passwd before freeing passwd entry.
15959         [bd1b22638f00]
15960
15961         * LICENSE, Makefile.in, alloc.c, check.c, config.h.in, configure,
15962         configure.in, defaults.c, emul/err.h, env.c, err.c, error.c,
15963         error.h, find_path.c, interfaces.c, logging.c, mon_systrace.c,
15964         sudo.c, sudo.h, sudo_edit.c, testsudoers.c, visudo.c:
15965         Add local error/warning functions like err/warn but that call an
15966         additional cleanup routine in the error case. This means we no
15967         longer need to compile a special version of alloc.o for visudo.
15968         [25000b676cfe]
15969
15970         * match.c:
15971         Use userpw_matches() to compare usernames, not strcmp(), since the
15972         latter checks for "#uid".
15973         [fcbe4b859f66]
15974
15975         * getspwuid.c, mon_systrace.c, mon_systrace.h, sudo.c:
15976         Cache passwd db entries in 2 reb-black trees; one indexed by uid,
15977         the other by user name. The data returned from the cache should be
15978         considered read-only and is destroyed by sudo_endpwent().
15979         [ee2418ff3f86]
15980
15981         * match.c:
15982         add cast to uid_t
15983         [eb6415302d84]
15984
15985         * gram.y:
15986         missing free in alias_destroy
15987         [572ecb680ad8]
15988
15989         * redblack.c:
15990         Can't use rbapply() for rbdestroy since the destructor is passed a
15991         data pointer, not a node pointer.
15992         [11ce713830c0]
15993
15994         * getspwuid.c, logging.c, sudo.c, sudo.h:
15995         Create and use private versions of setpwent() and endpwent() that
15996         set/end the shadow password file too.
15997         [616bc76d23bf]
15998
15999         * gram.c, gram.h, gram.y, match.c, parse.h, testsudoers.c, visudo.c:
16000         Store aliases in a red-black tree.
16001         [ce017d540416]
16002
16003         * Makefile.in, redblack.c, redblack.h:
16004         red-black tree implementation
16005         [cd5586e8f48b]
16006
16007         * visudo.c:
16008         Edit all sudoers file if there were unused or undefined aliases and
16009         we are in strict mode.
16010         [b6d5f5bb7262]
16011
16012 2004-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16013
16014         * CHANGES, def_data.c, def_data.h, def_data.in, defaults.c, env.c,
16015         find_path.c, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.c:
16016         Bring back the "secure_path" Defaults option now that Defaults take
16017         effect before the path is searched.
16018         [2e52c0e27606]
16019
16020 2004-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16021
16022         * logging.c, parse.c:
16023         A user can always list their own entries, even with -u. Better error
16024         message when failing to list another user's entries.
16025         [e2e24deb0071]
16026
16027         * parse.c, sudo.c, sudo.h:
16028         The syntax to list another user's entries is now "-u otheruser -l".
16029         Only root or users with sudo "ALL" may list other user's entries.
16030         [3c0657e8f5fe]
16031
16032         * sudo.cat, sudo.man.in, sudo.pod:
16033         Update env variable info in SECURITY NOTES
16034         [299716071024]
16035
16036         * env.c:
16037         strip CDPATH too
16038         [9b97643b26f9]
16039
16040         * env.c:
16041         strip exported bash functions from the environment.
16042         [9e5090c8284f]
16043
16044 2004-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16045
16046         * sudo.c:
16047         Only reset sudo_user.pw based on SUDO_USER environment variables for
16048         real commands and sudoedit. This avoids a confusing message when a
16049         user tries "sudo -l" or "sudo -v" and is denied.
16050         [3ea6d0053274]
16051
16052         * gram.c, gram.y, parse.h:
16053         Extend LIST_APPEND to deal with appending lists too
16054         [d963e42f622f]
16055
16056 2004-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16057
16058         * logging.c:
16059         Convert some bitwise AND to ISSET
16060         [130dc40d268e]
16061
16062         * lex.yy.c, toke.c:
16063         toke.c replaces lex.yy.c
16064         [048858df79e7]
16065
16066         * CHANGES, TODO:
16067         sync
16068         [d19e7abf251c]
16069
16070         * BUGS:
16071         new parser fixes most of the outstanding bugs
16072         [0891f66e3758]
16073
16074         * configure:
16075         regen
16076         [1a3358cc7283]
16077
16078         * visudo.c:
16079         Rework for the new parser. Now checks for unused aliases in sudoers.
16080         [ad462ede3094]
16081
16082         * testsudoers.c:
16083         Rewrite for the new parser. Now supports a -d flag (dump) and adds
16084         a -h flag (host). It now defaults to the local hostname unless
16085         otherwise specified.
16086         [1b69685cc601]
16087
16088         * sudo.h:
16089         Add new prototypes. Remove NOMATCH/UNSPEC (now in parse.h)
16090         [2e4fb3abfef0]
16091
16092         * sudo.c:
16093         Update for new parse. We now call find_path() *after* we have
16094         updated the global defaults based on sudoers. Also adds support for
16095         listing other user's privs if you are root.
16096         [cf3db9fc3024]
16097
16098         * mon_systrace.c:
16099         Working LDAP support; also remove a now-unneeded rewind().
16100         [649ecf1baf6b]
16101
16102         * logging.c, logging.h:
16103         Add NO_STDERR flag.
16104         [6cb935af94e0]
16105
16106         * ldap.c:
16107         Split sudo_ldap_check() into three pieces: sudo_ldap_open(),
16108         udo_ldap_update_defaults() and sudo_ldap_check(). This allows us to
16109         connecto to LDAP, apply the default options, find the command in the
16110         user's path, and then check whether the user is allowed to run it.
16111         The important thing here is that the default runas user may be
16112         specified as a default option and that needs to be set before we
16113         search for the command.
16114         [fc0426abc6f1]
16115
16116         * ldap.c:
16117         Add casts to unsigned char for isspace() to quiet a gcc warning.
16118         [e5358e3df439]
16119
16120         * defaults.h:
16121         Add prototype for update_defaults()
16122         [564dac3db74e]
16123
16124         * defaults.c:
16125         Don't warn about line numbers now that we operate on a set of data
16126         structures (or LDAP) and not a file.
16127         [bcd9ffb9b67c]
16128
16129         * config.h.in:
16130         No long use lsearch()
16131         [9d048c587319]
16132
16133         * Makefile.in:
16134         Update for new and changed file names.
16135         [6f424a7c4515]
16136
16137         * LICENSE:
16138         no more BSD lsearch.c
16139         [463a96d89026]
16140
16141         * match.c:
16142         foo_matches() routines now live in match.c Added user_matches(),
16143         runas_matches(), host_matches(), cmnd_matches() and alias_matches()
16144         that operate on the parsed sudoers file.
16145         [b14da8a0567e]
16146
16147         * parse.lex, toke.l:
16148         Move parse.lex -> toke.l Rename buffer_frob() -> switch_buffer()
16149         WORD no longer needs to exclude '@' kill yywrap()
16150         [a922294eb7b7]
16151
16152         * gram.c, gram.h, gram.y, parse.c, parse.h, parse.yacc, sudo.tab.c,
16153         sudo.tab.h:
16154         Rewritten parser that converts sudoers into a set of data
16155         structures. This eliminates ordering issues and makes it possible to
16156         apply sudoers Defaults entries before searching for the command.
16157         [30d2ec4d203c]
16158
16159         * configure.in, emul/search.h, lsearch.c:
16160         We won't be using lsearch() any longer.
16161         [29c4d54bfac0]
16162
16163         * ldap.c:
16164         sudo should not send mail if someone who runs 'sudo -l' has no
16165         entry.
16166         [6fc27a69fd9c]
16167
16168         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16169         visudo.man.in:
16170         regen
16171         [8166347917f3]
16172
16173         * visudo.pod:
16174         Update warnings to match new visudo
16175         [004c0766798f]
16176
16177         * sudoers.pod:
16178         The new parser doesn't have the old ordering constraints.
16179         [ffd43bd08661]
16180
16181         * sudo.pod:
16182         Document that -l now takes an optional username argument
16183         [278f9557de8b]
16184
16185 2004-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16186
16187         * RUNSON:
16188         AIX 5.2.0.0 works
16189         [523acd29d858]
16190
16191         * ldap.c:
16192         If LDAP_OPT_SUCCESS is not defined, use LDAP_SUCCESS instead. Fixes
16193         a compilation problem with Solaris 9's native LDAP.
16194
16195         Set FLAG_MONITOR when needed.
16196         [35824ade672d]
16197
16198 2004-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16199
16200         * mon_systrace.c:
16201         Call sudo_goodpath() *after* changing the cwd to match the traced
16202         process. Fixes relative paths.
16203         [12ee111d0ad7]
16204
16205 2004-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16206
16207         * testsudoers.c:
16208         Kill set_perms() stub--it is no longer needed.
16209         [116ed702935d]
16210
16211 2004-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
16212
16213         * sudoers.cat, sudoers.man.in, sudoers.pod:
16214         stay_setuid now requires set_reuid() or setresuid()
16215         [8511f67e25d5]
16216
16217         * INSTALL, PORTING, TROUBLESHOOTING, config.h.in, configure,
16218         configure.in, set_perms.c, sudo.c, sudo.h:
16219         Kill use of POSIX saved uids; they aren't worth bothering with.
16220         [b3b1f19f18c1]
16221
16222 2004-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16223
16224         * glob.c:
16225         remove call to issetugid()
16226         [63f2e492c08f]
16227
16228         * sudoers.cat, sudoers.man.in, sudoers.pod:
16229         Remove warning about wildcards. Now that we use glob() the bug is
16230         fixed.
16231         [b15729d32266]
16232
16233         * parse.c:
16234         Use glob(3) instead of fnmatch(3) for matching pathnames and stat
16235         each result that matches the basename of the user's command. This
16236         makes "cd /usr/bin ; sudo ./blah" work when sudoers allows
16237         /usr/bin/blah. Fixes bug #143.
16238         [e31eb6310340]
16239
16240         * config.h.in, configure, configure.in:
16241         Define HAVE_EXTENDED_GLOB for extended glob (GLOB_TILDE and
16242         GLOB_BRACE)
16243         [677ed6661e17]
16244
16245         * config.h.in, configure, configure.in:
16246         Check for a glob() that supports GLOB_BRACE and GLOB_TILDE
16247         [aaa2329dd266]
16248
16249         * LICENSE:
16250         reference glob
16251         [bedc9a923423]
16252
16253         * glob.c:
16254         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
16255         removed.
16256         [81799451473c]
16257
16258         * emul/glob.h:
16259         4.4BSD glob(3) with fixes from OpenBSD and some unneeded extensions
16260         removed.
16261         [0335cf31fb1e]
16262
16263 2004-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
16264
16265         * mon_systrace.c:
16266         Just return if STRIOCINJECT or STRIOCREPLACE fail. It probably
16267         means we are out of space in the stack gap...
16268         [5b02b702021e]
16269
16270         * CHANGES:
16271         sync
16272         [be3826273e56]
16273
16274         * mon_systrace.c:
16275         Take a stab at ldap sudoers support here.
16276         [9d023695b0de]
16277
16278         * mon_systrace.c, mon_systrace.h:
16279         Detach from tracee on SIGHUP, SIGINT and SIGTERM. Now "sudo reboot"
16280         doesn't cause reboot to inadvertanly kill itself.
16281         [d4aab2365610]
16282
16283         * mon_systrace.c:
16284         put "monitor" in the proctitle, not "systrace"
16285         [9a9025767d86]
16286
16287         * mon_systrace.c:
16288         When modifying the environment, don't replace envp when we can get
16289         away with just rewriting pointers in the traced process.
16290         [c03622f7a2e2]
16291
16292         * mon_systrace.c, mon_systrace.h:
16293         Add environment updating via STRIOCINJECT (if available).
16294         [037291016870]
16295
16296         * sudoers.cat, sudoers.man.in:
16297         regen
16298         [869acc511046]
16299
16300 2004-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
16301
16302         * lex.yy.c:
16303         regen
16304         [4e61a9bd3c97]
16305
16306         * parse.lex:
16307         Fix bug introduced in unput() removal; want yyless(0) not yyless(1)
16308         [b70d7bd6e147]
16309
16310         * mon_systrace.c:
16311         Include file is now mon_systrace.h
16312         [ead4e36d92ae]
16313
16314         * Makefile.in, configure, configure.in, def_data.c, def_data.h,
16315         def_data.in, lex.yy.c, parse.c, parse.h, parse.lex, parse.yacc,
16316         sudo.c, sudo.h, sudo.tab.c, sudo.tab.h, sudoers.pod:
16317         No longer call it tracing, it is now "monitoring" which should be
16318         more a obvious name to non-hackers.
16319         [aa811ded0789]
16320
16321 2004-10-01  Todd C. Miller  <Todd.Miller@courtesan.com>
16322
16323         * mon_systrace.c, mon_systrace.h:
16324         Fix some XXX
16325         [a271072dacc6]
16326
16327         * mon_systrace.c, mon_systrace.h:
16328         No need to include syscall.h, use 1024 as the max # of entries (the
16329         max that systrace(4) allows).
16330
16331         Only need to use SYSTR_POLICY_ASSIGN once
16332
16333         Change check_syscall() -> find_handler() and have it return the
16334         handler instead of just running it. We need this since handler now
16335         have two parts: one part that generates and answer and another that
16336         gets called after the answer is accepted (to do logging).
16337
16338         Add some missing check_exec for emul execv
16339         [a89d243f0525]
16340
16341         * sample.pam, sample.sudoers, sample.syslog.conf, sudoers:
16342         Add $Sudo$ tags.
16343         [6f3fedb0daba]
16344
16345         * config.h.in:
16346         Add missing HAVE_LINUX_SYSTRACE_H
16347         [ff75ab7bfc53]
16348
16349         * Makefile.in:
16350         add trace_systrace.o dependency
16351         [88a408668ab2]
16352
16353 2004-09-30  Todd C. Miller  <Todd.Miller@courtesan.com>
16354
16355         * configure, configure.in:
16356         Also look for systrace.h in /usr/include/linux
16357         [98b98b436cf3]
16358
16359         * mon_systrace.c, mon_systrace.h:
16360         Move all struct defs and prototypes into trace_systrace.h and mark
16361         all but systace_attach() static.
16362         [85511253b570]
16363
16364         * mon_systrace.c, mon_systrace.h:
16365         Add support for tracing emulations. At the moment, all emulations
16366         are compiled in. It might make sense to #ifdef them in the future,
16367         though this impeeds readability.
16368         [87bb50abf277]
16369
16370         * Makefile.in, configure, configure.in:
16371         rename systrace.c -> trace_systrace.c
16372         [31cfa4407d93]
16373
16374         * parse.yacc, sudo.tab.c:
16375         Allow this to build with a K&R compiler again
16376         [32876af5bb98]
16377
16378         * TODO:
16379         sync
16380         [46865bd70f7c]
16381
16382         * compat.h, sudo.c, visudo.c:
16383         Use __attribute__((__noreturn__))
16384         [65bbad71fe89]
16385
16386         * visudo.c:
16387         Exit() takes a negative value to indicate it was not called via
16388         signal.
16389         [b93032ed7b60]
16390
16391         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16392         visudo.man.in:
16393         regen
16394         [45bcf4661558]
16395
16396         * Makefile.in, visudo.c:
16397         Define Err() and Errx() that are like err() and errx() but call
16398         Exit() instead of exit(). Build private copy of alloc.o for visudo
16399         that calls Err() and Errx().
16400         [c6d02bf42edd]
16401
16402 2004-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16403
16404         * lex.yy.c, sudo.tab.c:
16405         regen
16406         [39de7e7c59da]
16407
16408         * CHANGES:
16409         sync
16410         [ba481d9ed1aa]
16411
16412         * visudo.c:
16413         Overhaul visudo for editing multiple files: o visudo has been
16414         broken out into functions (more work needed here) o each file is
16415         now edited before sudoers is re-parsed o if a #include line is
16416         added that file will be edited too
16417
16418         TODO: o cleanup temp files when exiting via err() or errx() o
16419         continue breaking things out into separate functions
16420         [80c35cf534eb]
16421
16422         * parse.lex, sudo.c, sudo.h, testsudoers.c, visudo.c:
16423         Add keepopen arg to open_sudoers that open_sudoers can use to
16424         indicate to the caller that the fd should not be closed when it is
16425         done with it. To be used by visudo to keep locked fds from being
16426         closed prematurely (and thus losing the lock).
16427         [f330fe632470]
16428
16429         * parse.yacc, sudo.c:
16430         Add errorfile global that contains the name of the file that caused
16431         the error.
16432         [98079c7a37ed]
16433
16434         * parse.lex:
16435         return COMMENT to yacc grammar for a #include line
16436         [2024a8de4fa8]
16437
16438         * parse.lex:
16439         Remove us of unput() in favor of yyless() which is cheaper.
16440         [c61291902beb]
16441
16442         * parse.yacc:
16443         Allow an empty sudoers file.
16444         [62fb111db2e7]
16445
16446 2004-09-28  Todd C. Miller  <Todd.Miller@courtesan.com>
16447
16448         * mon_systrace.c:
16449         Rewind sudoers_fp now that sudoers_lookup() doesn't do it for us.
16450         [9e15869ef597]
16451
16452         * lex.yy.c, sudo.tab.c:
16453         regen
16454         [c29bdd43bfad]
16455
16456         * visudo.c:
16457         Do signal setup before calling edit_sudoers(). Don't shadow the
16458         "quiet" global.
16459         [74252efd09ff]
16460
16461         * visudo.c:
16462         If a sudoers file includes other files, edit those too. Does not yes
16463         deal with creating the new includes files itself.
16464         [06af7b9c173f]
16465
16466         * testsudoers.c:
16467         init_parser now takes a path
16468         [b5ee186eb192]
16469
16470         * parse.c, parse.h, parse.lex, parse.yacc:
16471         More scaffolding for dealing with multiple sudoers files: o
16472         init_parser() now takes a path used to populate the sudoers global
16473         o the sudoers global is used to print the correct file in yyerror()
16474         o when switching to a new sudoers file, perserve old file name and
16475         line number
16476         [d9be4970b8bd]
16477
16478         * Makefile.in, pathnames.h.in:
16479         Kill _PATH_SUDOERS_TMP; it is not meaningful now that we can have
16480         multiple sudoers files.
16481         [6ccc4e921c43]
16482
16483         * parse.c, sudo.c:
16484         Rewind sudoers_fp in open_sudoers() instead of sudoers_lookup() so
16485         we start at the right file position when reading include files.
16486         [91fcb961e7a4]
16487
16488         * sudoers.pod:
16489         document #include
16490         [fbb92a25a726]
16491
16492         * lex.yy.c:
16493         regen
16494         [50cd7a4c9dff]
16495
16496         * parse.lex:
16497         Add max depth of 128 for the include stack to avoid loops.
16498
16499         Since yyerror() doesn't stop parsing, pass return values back to
16500         yylex and call yyterminate() on error.
16501         [e79dbffb729d]
16502
16503 2004-09-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16504
16505         * sudoers.pod:
16506         document tracing
16507         [165a467eadd8]
16508
16509         * sudo.pod:
16510         Mention PREVENTING SHELL ESCAPES section of sudoers man page
16511         [3217ccecd834]
16512
16513         * lex.yy.c, sudo.tab.c:
16514         regen
16515         [fbd58d1d3a76]
16516
16517         * parse.lex:
16518         Add support for #include in sudoers (visudo support TBD)
16519         [a78015ca81af]
16520
16521         * parse.yacc:
16522         make yyerror()'s argument const
16523         [7d8e168c019a]
16524
16525         * testsudoers.c, visudo.c:
16526         Add open_sudoers() stubs.
16527         [087466787198]
16528
16529         * sudo.c, sudo.h:
16530         Rename check_sudoers() open_sudoers() and make it return a FILE *
16531         [142fc511fc65]
16532
16533 2004-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
16534
16535         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
16536         version.h:
16537         Crank version
16538         [1adc3f839480]
16539
16540         * Makefile.in, sudo.psf:
16541         Better HP-UX depot construction
16542         [2d952b000e63]
16543
16544 2004-09-25  Todd C. Miller  <Todd.Miller@courtesan.com>
16545
16546         * mon_systrace.c:
16547         o Made children global so check_exec() can lookup a child. o
16548         Replaced uid in struct childinfo with struct passwd * (for runas) o
16549         new_child() now takes a parent pid so the runas info can be
16550         inherited o Added find_child() to lookup a child by its pid o
16551         update_child() now fills in a struct passwd o Converted the big
16552         if/else mess in set_policy to a switch o Syscalls that change uid
16553         are now "ask" so we get SYSTR_MSG_UGID events
16554         [29b9ea3f09a3]
16555
16556         * getspwuid.c:
16557         Add flag to sudo_pwdup that indicates whether or not to lookup the
16558         shadow password. Will be used to a struct passwd that has the
16559         shadow password already filled in.
16560         [e19d43dd7238]
16561
16562         * mon_systrace.c:
16563         add missing increment of addr in read_string()
16564         [f9eb0f060cb6]
16565
16566         * mon_systrace.c:
16567         Remove bogus call to update_child() and some cosmetic fixes
16568         [701ab0b97fef]
16569
16570         * mon_systrace.c:
16571         Don't leak /dev/systrace fd to tracee Make initialized global for
16572         simplicity If STRIOCATTACH returns EBUSY we are already being traced
16573         Check for user_args == NULL in setproctitle() call Add missing calls
16574         to STRIOCANSWER
16575         [1956edf9bc3a]
16576
16577         * sudo.c:
16578         g/c sudo_pwdup proto
16579         [b7c4d6249ecb]
16580
16581         * Makefile.in, sudo.psf:
16582         Add target for building a depot file
16583         [357019efd99b]
16584
16585         * mon_systrace.c:
16586         trim includes
16587         [501534428471]
16588
16589 2004-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16590
16591         * lex.yy.c, sudo.tab.c, sudo.tab.h:
16592         regen
16593         [52fd250c6986]
16594
16595         * INSTALL:
16596         document --with-systrace
16597         [79623927c94e]
16598
16599         * config.h.in, configure, configure.in:
16600         Add check for setproctitle
16601         [1730cf1c26ed]
16602
16603         * mon_systrace.c:
16604         pass struct str_msg_ask in to syscall checker so it can set the
16605         error code
16606         [1703fd2fdef6]
16607
16608         * mon_systrace.c:
16609         systrace(4) support for sudo. On systems with the systrace(4)
16610         kernel facility (OpenBSD, NetBSD, Linux w/ patches) sudo can
16611         intercept exec calls and check the exec args against the sudoers
16612         file. In other words, sudo can now control subcommands and shell
16613         escapes.
16614         [928c9217c386]
16615
16616         * sudo.c, sudo.h:
16617         Call systrace_attach() if FLAG_TRACE is set.
16618         [014ba9402fa5]
16619
16620         * parse.c, parse.h, parse.lex, parse.yacc, sudo.h:
16621         Add trace Defaults option and TRACE/NOTRACE tags and set FLAG_TRACE
16622         [a99904db5e56]
16623
16624         * parse.c, sudo.c:
16625         Don't close sudoers_fp, keep it open and set close on exec flag
16626         instead.
16627         [43a9fec60bee]
16628
16629         * def_data.c, def_data.h, def_data.in:
16630         Add trace option
16631         [5b643b86730a]
16632
16633         * Makefile.in:
16634         Add systrace
16635         [47a0519c427c]
16636
16637         * INSTALL:
16638         SunOS /bin/sh blows up with configure
16639         [005a23cc5615]
16640
16641         * configure, configure.in:
16642         Include sys/param.h before systrace.h
16643         [9345bc8efecf]
16644
16645         * configure:
16646         regen
16647         [a8f53fcbb254]
16648
16649         * pathnames.h.in:
16650         _PATH_DEV_SYSTRACE
16651         [d2ad1e492a00]
16652
16653         * configure.in:
16654         line up options in --help
16655         [fa51f2821d09]
16656
16657         * config.h.in, configure.in:
16658         Add --with-systrace
16659         [a264d54bc413]
16660
16661 2004-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
16662
16663         * configure:
16664         regen
16665         [a4dad0bcc523]
16666
16667         * aclocal.m4, configure.in:
16668         make this work with autoconf-2.59
16669         [c4a92b6a684a]
16670
16671 2004-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16672
16673         * sudo_edit.c:
16674         Simplify logic around open & stat of files and do sanity on edited
16675         file even if we lack fstat (still racable but worth doing).
16676         [adda65ade70c]
16677
16678 2004-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
16679
16680         * HISTORY:
16681         Add support url
16682         [bf6590fbde9f]
16683
16684         * Makefile.in:
16685         versino 1.6.8p1
16686         [b84ebfaf1552] [SUDO_1_6_8p1]
16687
16688         * CHANGES:
16689         more changes for 1.6.8p1
16690         [e23a9c0393b6]
16691
16692         * version.h:
16693         1.6.8p1
16694         [872f14504b5f]
16695
16696         * CHANGES, sudo_edit.c:
16697         Add sanity check so we don't try to edit something other than a
16698         regular file.
16699         [350134ec6d4e]
16700
16701 2004-09-15  Aaron Spangler  <aaron777@gmail.com>
16702
16703         * CHANGES:
16704         sync
16705         [3091ca9eae00]
16706
16707         * INSTALL:
16708         document --with-ldap-conf-file
16709         [0e2cd6b896f1]
16710
16711 2004-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
16712
16713         * CHANGES, ins_csops.h:
16714         political correctness strikes again
16715         [428e8bc77f55]
16716
16717         * RUNSON:
16718         sync
16719         [27f44bd423dc]
16720
16721 2004-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
16722
16723         * Makefile.binary.in, Makefile.in:
16724         Install sudoedit man link
16725         [19a55234fc1f]
16726
16727         * INSTALL:
16728         Update PAM note and mention where HP-UX users can download gcc
16729         binaries.
16730         [d37cdbbabfd4]
16731
16732         * Makefile.in:
16733         libtool wants to install stuff from .libs so fake one up for binary
16734         installations.
16735         [a681bc6fcfba]
16736
16737         * Makefile.binary.in:
16738         rm -f old sudoedit link instead of using ln -f set LIBTOOL correctly
16739         [3e0c4b3372cc]
16740
16741         * Makefile.in:
16742         Deal with "uname -m" having slashes in it rm -f old sudoedit link
16743         instead of using ln -f
16744         [cff33fb97e5b]
16745
16746         * Makefile.binary, Makefile.binary.in:
16747         Makefile.binary -> Makefile.binary.in for config.status substitution
16748         Add support for installing noexec bits
16749         [37d8bb3483c6]
16750
16751         * Makefile.in:
16752         Copy noexec bits into binary dists too No longer use my old arch
16753         script for making binary dists
16754         [e7058bab9e33]
16755
16756         * Makefile.binary:
16757         Install sudoedit link.
16758         [417d1e101711]
16759
16760 2004-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
16761
16762         * emul/utime.h:
16763         avoid __P so there is no need for compat.h to be included
16764         [6d8d1f1abf7d]
16765
16766         * utimes.c:
16767         Don't use HAVE_UTIME_H before including config.h.
16768         [013b7bb61181]
16769
16770 2004-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
16771
16772         * compat.h:
16773         Fix Solatis futimes macro
16774         [d4eda2ca0d29]
16775
16776 2004-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
16777
16778         * sudo_edit.c:
16779         Rename ots -> omtim for improved readability.
16780         [127ca5bb297c]
16781
16782 2004-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
16783
16784         * sudo_edit.c:
16785         Redo changes in revision 1.7. Don't really need to keep the temp
16786         file open; re-opening it with the invoking user's euid is
16787         sufficient.
16788         [55a883165a95]
16789
16790         * CHANGES:
16791         sync
16792         [9015b291170d]
16793
16794         * sudo.cat, sudo.man.in:
16795         regen
16796         [c0313f6ed783]
16797
16798         * sudo.pod:
16799         back out revision 1.70; it is no long applicable
16800         [b641d503aff6]
16801
16802         * env.c:
16803         Let the loader initialize nep
16804         [bec192139b02]
16805
16806         * config.h.in, configure, configure.in:
16807         Removed unneed check for fchown Add check for gettimeofday Move
16808         autoheader template stuff into separate AH_TEMPLATE lines
16809         [bfc0edbd43f2]
16810
16811         * check.c, compat.h, fileops.c, sudo.h, sudo_edit.c, visudo.c:
16812         Use timespec throughout.
16813         [1a178a23b69b]
16814
16815         * Makefile.in:
16816         gettime.[co]
16817         [6aeb48a7ab7f]
16818
16819         * gettime.c:
16820         function to return the current time in a struct timespec
16821         [bf8eb12cb63f]
16822
16823         * utimes.c:
16824         Not a darpa-sponsored file.
16825         [121ce5e2036c]
16826
16827 2004-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
16828
16829         * compat.h, config.h.in, configure, configure.in:
16830         Add a check for struct timespec and provide it for those without.
16831         [42124055030d]
16832
16833         * config.h.in, configure, configure.in, sudo_edit.c:
16834         Add checks for st_mtim and st_mtimespec and add macros for pulling
16835         the mtime sec and nsec out of struct stat. These are used in
16836         sudo_edit() to better tell whether or not the file has changed.
16837         [23debfbb3fab]
16838
16839         * check.c, fileops.c, sudo.h, sudo_edit.c, visudo.c:
16840         Add an extra param to touch() for nsec
16841         [56f7a4ba8ddb]
16842
16843         * sudo_edit.c:
16844         Call mkstemp() as the in invoking user so we don't have to chown the
16845         file later. Only touch() the temp file if we can do it via the file
16846         descriptor. Don't check for modification of the temp file if we lack
16847         fstat(). Catch errors read()ing the temp file.
16848         [665f52c70836]
16849
16850         * fileops.c:
16851         If path is NULL and fd == -1 return -1.
16852         [757a518a824c]
16853
16854         * sudo_edit.c:
16855         closefrom() is overkill, the only extra fds are the ones we opened
16856         so just close those in the child.
16857         [f361c9d2a1f4]
16858
16859         * Makefile.in, aclocal.m4, check.c, compat.h, config.h.in, configure,
16860         configure.in, fileops.c, sudo.h, sudo_edit.c, utime.c, utimes.c,
16861         visudo.c:
16862         Use utimes() and futimes() instead of utime() in touch(), emulating
16863         as needed. Not all systems are able to support setting the times of
16864         an fd so touch() takes both an fd and a file name as arguments.
16865         [3d9276f29717]
16866
16867 2004-09-07  Aaron Spangler  <aaron777@gmail.com>
16868
16869         * env.c:
16870         Rare SEGV
16871         [8995f828782d]
16872
16873 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16874
16875         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
16876         visudo.man.in:
16877         regen
16878         [b8e9406711c5]
16879
16880         * sudo.pod, sudoers.pod, visudo.pod:
16881         Add SUPPORT section and re-order some of the sections to match the
16882         order we use in OpenBSD.
16883         [fa37bd917e2c]
16884
16885 2004-09-06  Aaron Spangler  <aaron777@gmail.com>
16886
16887         * env.c:
16888         Openldap ~/.ldaprc fix
16889         [1a37afe6850f]
16890
16891 2004-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
16892
16893         * sudo.pod:
16894         Talk about how the editor must write its changes to the original
16895         file and not just use rename(2).
16896         [c55ed91c5ee9]
16897
16898         * CHANGES:
16899         sync
16900         [62af26bd37a2]
16901
16902         * sudo_edit.c:
16903         Keep the temp file open instead of re-opening after the editor has
16904         exited.
16905         [de41eeb6dcf2]
16906
16907         * sample.pam:
16908         Update for current redhat/fedora core.
16909         [8cf083077333]
16910
16911 2004-09-03  Aaron Spangler  <aaron777@gmail.com>
16912
16913         * README.LDAP:
16914         tls_ examples
16915         [ba783d88a034]
16916
16917 2004-09-02  Aaron Spangler  <aaron777@gmail.com>
16918
16919         * ldap.c:
16920         config tls_* options
16921         [0b0e0797b3b9]
16922
16923 2004-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
16924
16925         * configure, configure.in:
16926         No need for -lcrypt when using pam.
16927         [41fff3a53e68]
16928
16929 2004-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
16930
16931         * configure:
16932         regen
16933         [75820aecce2c]
16934
16935 2004-08-27  Aaron Spangler  <aaron777@gmail.com>
16936
16937         * configure.in, ldap.c, pathnames.h.in:
16938         Allow --with-ldap-conf-file option to override LDAP_CONF
16939         [c9909bc484a5]
16940
16941         * ldap.c:
16942         cleanup debug message
16943         [1f6ca4824d8d]
16944
16945 2004-08-26  Aaron Spangler  <aaron777@gmail.com>
16946
16947         * README.LDAP:
16948         more config info
16949         [f2e7147fd507]
16950
16951 2004-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
16952
16953         * TODO, find_path.c, goodpath.c, parse.c, sudo.c, sudo.h, visudo.c:
16954         Add cmnd_base to struct sudo_user and set it in init_vars(). Add
16955         cmnd_stat to struct sudo_user and set it in sudo_goodpath(). No
16956         longer use gross statics in command_matches(). Also rename some
16957         variables for improved clarity.
16958         [7169a6c7bea4]
16959
16960 2004-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
16961
16962         * INSTALL:
16963         document HP's crippled compiler deficiency.
16964         [c405ea5a8d4c]
16965
16966         * INSTALL:
16967         Fix some thinkos in --with-editor and --with-env-editor
16968         descriptions. Noticed by Norihiko Murase.
16969         [dd781de1c985]
16970
16971         * configure, configure.in:
16972         --with-noexec takes an optional PATH argument.
16973         [8f6ab77f22cc]
16974
16975         * INSTALL:
16976         document --with-noexec
16977         [50cb1fc627ce]
16978
16979 2004-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
16980
16981         * RUNSON, TODO:
16982         sync
16983         [f2503bd13373] [SUDO_1_6_8]
16984
16985         * sudo_edit.c:
16986         Better warning message when sudoedit is unable to write to the
16987         destination file.
16988         [f78c18f2ffa8]
16989
16990         * sudo.cat, sudo.man.in:
16991         regen
16992         [7e2bf63d6d9a]
16993
16994         * sudo.pod:
16995         Don't italicize the string "sudoedit"
16996         [c691643bd269]
16997
16998 2004-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
16999
17000         * HISTORY:
17001         Mention GratiSoft.
17002         [dc53de581b2d]
17003
17004 2004-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17005
17006         * sudo.tab.c:
17007         regen
17008         [8ae0484dfc38]
17009
17010         * parse.yacc:
17011         Reset used_runas to FALSE when re-intializing the parser.
17012         [b7403f353a02]
17013
17014 2004-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
17015
17016         * config.guess:
17017         Correct OpenBSD mips support
17018         [314fc7afc165]
17019
17020         * config.guess:
17021         Add OpenBSD/mips
17022         [ac87d0a773ef]
17023
17024 2004-08-07  Aaron Spangler  <aaron777@gmail.com>
17025
17026         * README.LDAP:
17027         More behavior notes
17028         [13be1d212b47]
17029
17030         * README.LDAP:
17031         Updates on current behavior
17032         [d498a8866d6f]
17033
17034 2004-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17035
17036         * sudoers.pod:
17037         =back does not take an indentlevel (makes no difference to formatted
17038         files).
17039         [9c8523bb382a]
17040
17041         * sudo.pod:
17042         =back does not take an indentlevel (makes no difference to formatted
17043         files).
17044         [e5f479e24fa8]
17045
17046         * CHANGES:
17047         new
17048         [2dbd9aba8b33]
17049
17050         * sudo.c:
17051         Consistency. Use same error for bad -u #uid when targetpw is set as
17052         we do when a bad -u username is specified.
17053         [922961c4a9d6]
17054
17055         * TODO:
17056         Add checksum idea from Steve Mancini
17057         [e6ece1b766ba]
17058
17059         * sudoers.cat, sudoers.man.in:
17060         regen
17061         [370d2317829f]
17062
17063         * sudo.cat, sudo.man.in:
17064         regen
17065         [f93d41fc38b1]
17066
17067         * sudo.pod, sudoers.pod:
17068         Document the restriction on uids specified via -u when targetpw is
17069         set.
17070         [878fedb455db]
17071
17072         * sudo.c:
17073         Error out when targetpw is enabled and sudo is run with -u #uid but
17074         #uid does not exist in the passwd database. We can't do target
17075         authentication when the target is not in passwd!
17076         [27c5888c86eb]
17077
17078         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
17079         regen
17080         [ceb65711050c]
17081
17082         * TODO:
17083         Some more todo for the next release.
17084         [7b7417be7601]
17085
17086         * INSTALL:
17087         Make it clear that PAM should be used for DCE support when possible.
17088         [7502029fd385]
17089
17090         * sudoers.pod:
17091         o Document problems with wildcards and relative paths. o Make the
17092         order requirements more prominent. o Change a "set" to "reset" for
17093         clarity.
17094         [bacdd181b33f]
17095
17096 2004-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17097
17098         * sudo.pod:
17099         Mention --with-secure-path, not SECURE_PATH.
17100         [41283ddde5e1]
17101
17102 2004-08-03  Aaron Spangler  <aaron777@gmail.com>
17103
17104         * ldap.c:
17105         reflect changes to parse.c
17106         [8880fe9b724d]
17107
17108 2004-08-02  Todd C. Miller  <Todd.Miller@courtesan.com>
17109
17110         * sudo.tab.c:
17111         regen
17112         [a57658ca9177]
17113
17114         * parse.c, parse.h, testsudoers.c, visudo.c:
17115         Don't pass user_cmnd and user_args to command_matches(), just use
17116         the globals there. Since we keep state with statics anyway it is
17117         misleading to pretend that passing in different cmnd and cmnd_args
17118         will work.
17119         [0a2544991fd6]
17120
17121         * parse.yacc:
17122         Don't pass user_cmnd and user_args to command_matches(), just use
17123         the globals there. Since we keep state with statics anyway it is
17124         misleading to pretend that passing in different cmnd and cmnd_args
17125         will work.
17126         [a4910bf6032b]
17127
17128         * parse.c:
17129         Fix a bug introduced in rev. 1.149. When checking for pseudo-
17130         commands check for a '/' anywhere in cmnd, not just the first
17131         character.
17132         [ce98142f03ca]
17133
17134 2004-07-31  Aaron Spangler  <aaron777@gmail.com>
17135
17136         * sudo.man.in, sudo.pod:
17137         Clarification thanks to Olivier Blin <oblin@mandrakesoft.com>
17138         [a91800e094b1]
17139
17140         * sudoers.man.in, sudoers.pod:
17141         Add ignore_local_sudoers
17142         [741ddcbf7083]
17143
17144         * README.LDAP:
17145         Sun One schema definition by Andreas.Bussjaeger@t-systems.com and
17146         janth@moldung.no
17147         [742c02e07cd9]
17148
17149 2004-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17150
17151         * CHANGES:
17152         typo
17153         [e7cdefbd7a9a]
17154
17155 2004-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
17156
17157         * CHANGES:
17158         sync
17159         [734dafc4a85e]
17160
17161         * parse.c:
17162         Parse sudoers file as PERM_RUNAS not PERM_ROOT and remove a useless
17163         PERM_SUDOERS. Restore to PERM_ROOT upon exit of the parse.
17164         [151b7f593568]
17165
17166 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17167
17168         * CHANGES:
17169         PAM change
17170         [d8fb6d6a22d0]
17171
17172 2004-07-08  Aaron Spangler  <aaron777@gmail.com>
17173
17174         * ldap.c:
17175         Better debugging of ALL command
17176         [9db3e84029dc]
17177
17178 2004-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17179
17180         * parse.c:
17181         When matching for "sudoedit" in sudoers check both the command the
17182         user typed *and* the command that is listed in the sudoers entry.
17183         [f36ca1f94095]
17184
17185 2004-07-04  Aaron Spangler  <aaron777@gmail.com>
17186
17187         * ldap.c:
17188         Added !command feature
17189         [ed539574611b]
17190
17191 2004-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17192
17193         * auth/pam.c:
17194         Use pam_acct_mgmt() to check for disabled accounts; Brian Farrell
17195         [2be8e0e8813a]
17196
17197 2004-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
17198
17199         * LICENSE:
17200         License is ISC-style, not BSD-style
17201         [ac0589e1dd5d]
17202
17203         * CHANGES:
17204         sync
17205         [16058a30f404]
17206
17207 2004-06-10  Todd C. Miller  <Todd.Miller@courtesan.com>
17208
17209         * sudo.cat, sudo.man.in:
17210         regen
17211         [8820eb9c809b]
17212
17213         * sudo.pod:
17214         o Update some out of date bits to reality o Change the shell promt
17215         in examples to bourne-shell style o Clarify some details o Add a
17216         CAVEAT about "sudo cd /foo"
17217         [b0af373214b6]
17218
17219         * check.c:
17220         Don't ask for a password if invoking user == target user.
17221         [dd5c96141132]
17222
17223         * sudo.c:
17224         typo in comment
17225         [278d20f9b249]
17226
17227 2004-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17228
17229         * sudoers.cat, sudoers.man.in:
17230         regen
17231         [9036c6f39eff]
17232
17233         * sudoers.pod:
17234         Expand on NOEXEC a little.
17235         [9a13756aebe4]
17236
17237         * TODO:
17238         sync
17239         [8d2c1af48de8]
17240
17241         * visudo.cat, visudo.man.in:
17242         regen
17243         [3921f01607c8]
17244
17245         * sudo.tab.c:
17246         regen
17247         [9338c3d68250]
17248
17249         * visudo.pod:
17250         Add a check in visudo for runas_default being set after it has
17251         already been used.
17252         [6700358d7ad8]
17253
17254         * CHANGES, parse.yacc, visudo.c:
17255         Add a check in visudo for runas_default being set after it has
17256         already been used.
17257         [803560986a8a]
17258
17259         * sudo.tab.c:
17260         regen
17261         [b60636e2cf63]
17262
17263         * parse.yacc:
17264         Add a MATCHED macro for testing whether foo_matches has been set to
17265         TRUE or FALSE. This is more readable than checking for >=0 or < 0.
17266         Doesn't change the actual code generated.
17267         [f376da8ccdc8]
17268
17269 2004-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
17270
17271         * sudoers.cat:
17272         regen
17273         [6cceb6d6c9bd]
17274
17275         * sudoers.man.in:
17276         regen
17277         [5acd12b730b3]
17278
17279         * sudoers.pod:
17280         Correct description of where Defaults specs should go.
17281         [6b11ff53d7ad]
17282
17283         * sudoers:
17284         Correct description of where Defaults specs should go.
17285         [868db857630d]
17286
17287         * testsudoers.c, visudo.c:
17288         update (c) year
17289         [272c8a53604c]
17290
17291         * logging.h:
17292         update (c) year
17293         [3cec76d400ce]
17294
17295         * ldap.c:
17296         update (c) year
17297         [f264632488a0]
17298
17299         * find_path.c:
17300         update (c) year
17301         [40c227af9227]
17302
17303         * auth/pam.c:
17304         update (c) year
17305         [87149e0eed50]
17306
17307         * auth/bsdauth.c, auth/kerb5.c:
17308         update (c) year
17309         [d72eb434c068]
17310
17311 2004-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17312
17313         * sudo.tab.c:
17314         regen
17315         [83408d9e9d2e]
17316
17317         * auth/bsdauth.c, auth/kerb5.c, auth/pam.c, visudo.c:
17318         Remove trailing spaces, no actual code changes.
17319         [4c3bf2819293]
17320
17321         * tgetpass.c:
17322         Remove trailing spaces, no actual code changes.
17323         [96f6e0a24c26]
17324
17325         * ldap.c, logging.h, parse.c, parse.yacc, sudo.c, testsudoers.c:
17326         Remove trailing spaces, no actual code changes.
17327         [c7075d1cbed5]
17328
17329         * getcwd.c:
17330         Remove trailing spaces, no actual code changes.
17331         [776cc0374547]
17332
17333         * find_path.c:
17334         Remove trailing spaces, no actual code changes.
17335         [7ed7099f3c71]
17336
17337         * compat.h, defaults.c, env.c:
17338         Remove trailing spaces, no actual code changes.
17339         [893e83c33795]
17340
17341         * check.c:
17342         Remove trailing spaces, no actual code changes.
17343         [f77750f8803b]
17344
17345         * sudo.tab.c:
17346         regen
17347         [62e0ed883b31]
17348
17349         * parse.yacc:
17350         Fix a >=0 that should be <0 that was improperly converted when
17351         UNSPEC was added.
17352         [ad1531a55a49]
17353
17354         * parse.yacc:
17355         Add do {} while(0) around pop macro Set cmnd_matches to UNSPEC, not
17356         NOMATCH when resetting it.
17357         [ae017a12870a]
17358
17359         * parse.yacc:
17360         Fix pastos introduced in SETNMATCH addition.
17361         [6ea1c9d80681]
17362
17363 2004-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17364
17365         * README.LDAP:
17366         Update for configure changes
17367         [637a635da287]
17368
17369         * sudo.tab.c:
17370         regen
17371         [4753c2788713]
17372
17373         * sudo.h:
17374         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
17375         these in parse.yacc. Also in parse.yacc initialize the *_matches
17376         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
17377         when setting *_matches to a value that may be
17378         NOMATCH/UNSPEC/TRUE/FALSE.
17379         [2ba622e15a4d]
17380
17381         * parse.yacc:
17382         Add NOMATCH and UNSPEC defines (-1 and -2 respectively) and use
17383         these in parse.yacc. Also in parse.yacc initialize the *_matches
17384         vars to UNSPEC and add two macros, SETMATCH and SETNMATCH for use
17385         when setting *_matches to a value that may be
17386         NOMATCH/UNSPEC/TRUE/FALSE.
17387         [746b519e41a6]
17388
17389         * parse.yacc:
17390         Initialize runas to -2, not -1 since we need to be able to
17391         distinguish between the initialized value and the value of a non-
17392         match when passing along the runas value to multiple commands.
17393
17394         The result of this is that an unmatched runas is now set to -1, not
17395         0. This is required now that parse.c treats a FALSE value for runas
17396         as being explicitly denied.
17397         [7791ed3621f6]
17398
17399 2004-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
17400
17401         * sudo.c, visudo.c:
17402         Error out if argc < 1.
17403         [ce6b2a9eda3c]
17404
17405         * getprogname.c:
17406         Error out if argc < 1.
17407         [c566cce8dc78]
17408
17409         * configure, configure.in:
17410         Add tests for what libs we need to link with for ldap and for
17411         whether or not lber.h needs to be explicitly included.
17412         [b2e9729cc4e7]
17413
17414 2004-06-03  Aaron Spangler  <aaron777@gmail.com>
17415
17416         * ldap.c:
17417         Solaris native LDAP build fix
17418         [39929e40eb11]
17419
17420 2004-06-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17421
17422         * ldap.c:
17423         Set edn to NULL is ldap_get_dn() fails to avoid potential use of an
17424         unset variable.
17425         [6a4c20a66f98]
17426
17427         * sudo.h:
17428         Add prototype for sudo_ldap_list_matches
17429         [443b007a8dab]
17430
17431         * configure, configure.in:
17432         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17433         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17434         this is now used to confitionally define the dirfd macro in
17435         compat.h.
17436         [567656978f7e]
17437
17438         * config.h.in:
17439         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17440         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17441         this is now used to confitionally define the dirfd macro in
17442         compat.h.
17443         [34eace4faec8]
17444
17445         * compat.h:
17446         Better check for dirfd macro--we now set HAVE_DIRFD for the macro
17447         version too. Added check for dd_fd in `DIR' if no dirfd is found;
17448         this is now used to confitionally define the dirfd macro in
17449         compat.h.
17450         [8d50ff1bbf2a]
17451
17452         * closefrom.c:
17453         Only check /proc/$$/fd if we have the dirfd function/macro.
17454         [15e3ccce7553]
17455
17456         * compat.h, config.h.in, configure, configure.in:
17457         Add a check for a dirfd() function (like Linux) and add a dirfd
17458         macro in compat.h if there is no dirfd() function or macro.
17459         [1e95756edb50]
17460
17461         * closefrom.c, getcwd.c:
17462         dirfd() is now defined in compat.h as needed.
17463         [bb1d79271188]
17464
17465         * CHANGES:
17466         Clarify closefrom() note.
17467         [f4e4a5508dda]
17468
17469         * parse.c:
17470         When checking for a command in the directory, only copy the base dir
17471         once.
17472         [7a3276808b87]
17473
17474         * closefrom.c:
17475         If there is a /proc/$$/fd directory, behave like the Solaris
17476         closefrom() and only close the descriptors listed therein.
17477         [19de23779e84]
17478
17479         * alloc.c:
17480         compat.h guarantees INT_MAX is defined.
17481         [1bf0c79d4606]
17482
17483         * compat.h:
17484         Add definitions of OPEN_MAX and INT_MAX for those without it and
17485         remove definition of RLIM_INFINITY (now unused).
17486         [f827d1ebf96e]
17487
17488         * CHANGES, alloc.c, check.c, compat.h, find_path.c, getcwd.c, parse.c,
17489         sudo.c, sudo.h, visudo.c:
17490         Use PATH_MAX, not MAXPATHLEN since the former is standardized.
17491         [59788f211c24]
17492
17493 2004-05-31  Todd C. Miller  <Todd.Miller@courtesan.com>
17494
17495         * CHANGES:
17496         sync
17497         [d32fa124f1ad]
17498
17499         * RUNSON:
17500         Add some entries that were mailed in a while ago
17501         [ff8d5bfec54e]
17502
17503         * closefrom.c:
17504         o sysconf returns a long, not an int. o check for negative return
17505         value from sysconf/getdtablesize and use OPEN_MAX in this case. o
17506         define OPEN_MAX to 256 for those without it (a fair guess...)
17507         [ccf81ae6deb2]
17508
17509 2004-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17510
17511         * UPGRADE:
17512         Mention change in parse order for RunAs entries.
17513         [dc73b0bca617]
17514
17515         * configure:
17516         regen
17517         [07cce8e0534e]
17518
17519 2004-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17520
17521         * INSTALL, README.LDAP, config.h.in, configure.in:
17522         o --with-ldap now takes an optional dir as a parameter o added
17523         check for ldap_initialize() and start_tls_s()
17524         [2b846c7974c6]
17525
17526         * README.LDAP:
17527         Fix some typos, word choice and formatting issues.
17528         [00dc8ca84b10]
17529
17530 2004-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
17531
17532         * tgetpass.c:
17533         Use SA_INTERRUPT so SunOS works correctly, avoid stdio and just use
17534         read/write as it is simpler.
17535         [30f5446ee8b0]
17536
17537         * configure, configure.in:
17538         Remove hack overriding cross-compiler check. It should no longer be
17539         needed.
17540         [22a6cbd88608]
17541
17542         * compat.h:
17543         Remove select() compat bits since we no longer use select().
17544         [d7bbf7cd36f5]
17545
17546         * CHANGES, tgetpass.c:
17547         Use alarm() instead of select() for the timeout for systems that
17548         don't fully/properly implement select().
17549         [d7cc60f15800]
17550
17551 2004-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
17552
17553         * CHANGES:
17554         synbc
17555         [132a39788e07]
17556
17557         * RUNSON:
17558         update
17559         [61ef508380c6]
17560
17561         * set_perms.c:
17562         Deal with systems that have no way of setting the effective uid such
17563         as nsr-tandem-nsk.
17564         [306e00e9b5a4]
17565
17566         * configure, configure.in:
17567         Define NO_SAVED_IDS if we don't find seteuid()
17568         [8588f18345cf]
17569
17570         * config.h.in, configure, configure.in:
17571         Add back check for setreuid() since NSK doesn't have it.
17572         [43127bd703d1]
17573
17574         * sudoers.cat, sudoers.man.in:
17575         regen
17576         [af4f4b20e422]
17577
17578         * CHANGES:
17579         sync
17580         [29ca3b699c24]
17581
17582         * BUGS:
17583         sync
17584         [3593f17f72ed]
17585
17586         * parse.c:
17587         In sudoers_lookup() return VALIDATE_NOT_OK if the runas user was
17588         explicitly denied and the command matched. This fixes a long-
17589         standing bug and makes: foo machine = (ALL) /usr/bin/blah
17590         foo machine = (!bar) /usr/bin/blah
17591
17592         equivalent to: foo machine = (ALL, !bar) /usr/bin/blah
17593         [2f5ee244985a]
17594
17595         * sudoers.pod:
17596         Clarify mail_noperm
17597         [3238b2d41989]
17598
17599 2004-05-20  Aaron Spangler  <aaron777@gmail.com>
17600
17601         * Makefile.in:
17602         Missing DESTDIR in make install for sudo_noexec.la
17603         [91431e821525]
17604
17605 2004-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
17606
17607         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
17608         visudo.man.in:
17609         regen
17610         [cdfde0dcb556]
17611
17612         * TODO:
17613         sync
17614         [4799b7d8b62c]
17615
17616         * sudoers.pod:
17617         Remove fastboot/fasthalt (who still remembers these?) and add a
17618         minimal sudoedit example.
17619         [19d299f233cd]
17620
17621         * sample.sudoers:
17622         Remove fastboot/fasthalt (who still remembers these?) and add a
17623         minimal sudoedit example.
17624         [b1bca73d6250]
17625
17626         * UPGRADE, sudo.c, visudo.c:
17627         filesystem -> file system
17628         [1e1afaf30469]
17629
17630         * TROUBLESHOOTING:
17631         filesystem -> file system
17632         [39fb594e9338]
17633
17634         * CHANGES, INSTALL:
17635         filesystem -> file system
17636         [85948b608ffe]
17637
17638         * sudo.pod, sudoers.pod:
17639         Fix some minor typos and formatting goofs
17640         [e94d243a0b90]
17641
17642         * lex.yy.c:
17643         regen
17644         [2eed0ab1f4c4]
17645
17646         * visudo.pod:
17647         remove my email addr
17648         [b63262c0389b]
17649
17650         * sudo.pod, sudoers.pod, visudo.pod:
17651         Use @mansectform@ and @mansectsu@ everywhere Make man page
17652         references links with L<>
17653         [f459f4b9ddb9]
17654
17655         * parse.lex:
17656         Accept quoted globbing characters and pass them verbatim for
17657         fnmatch()
17658         [8248b86e9380]
17659
17660         * UPGRADE:
17661         Document that /tmp/.odus is gone.
17662         [3667b66af5bb]
17663
17664         * pathnames.h.in:
17665         No longer use /tmp/.odus as a possible timestamp dir unless
17666         specifically configured to do so. Instead, if no /var/run exists,
17667         use /var/adm/sudo or /usr/adm/sudo.
17668         [48d94c9f9ad4]
17669
17670         * configure:
17671         No longer use /tmp/.odus as a possible timestamp dir unless
17672         specifically configured to do so. Instead, if no /var/run exists,
17673         use /var/adm/sudo or /usr/adm/sudo.
17674         [058d7b8cf07b]
17675
17676         * aclocal.m4:
17677         No longer use /tmp/.odus as a possible timestamp dir unless
17678         specifically configured to do so. Instead, if no /var/run exists,
17679         use /var/adm/sudo or /usr/adm/sudo.
17680         [cf52c4c2803f]
17681
17682         * CHANGES:
17683         No longer use /tmp/.odus as a possible timestamp dir unless
17684         specifically configured to do so. Instead, if no /var/run exists,
17685         use /var/adm/sudo or /usr/adm/sudo.
17686         [6058c4cefcec]
17687
17688         * set_perms.c, sudo.c, tgetpass.c, visudo.c:
17689         Preliminary changes to support nsr-tandem-nsk. Based on patches
17690         from Tom Bates.
17691         [2e5f81834383]
17692
17693         * logging.c:
17694         Preliminary changes to support nsr-tandem-nsk. Based on patches
17695         from Tom Bates.
17696         [934bbe6872b6]
17697
17698         * check.c, compat.h:
17699         Preliminary changes to support nsr-tandem-nsk. Based on patches
17700         from Tom Bates.
17701         [390b698b5924]
17702
17703 2004-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
17704
17705         * CHANGES:
17706         There was no 1.6.7p6.
17707         [8013d2e6b062]
17708
17709         * BUGS, CHANGES:
17710         sync
17711         [c38b41f32857]
17712
17713         * Makefile.in:
17714         add missing files to DISTFILES
17715         [e6a80ad03039]
17716
17717         * sudo.cat, sudoers.cat, visudo.cat:
17718         regen
17719         [027bc9746dd5]
17720
17721         * sudoers.man.in:
17722         regen
17723         [f5e85ef686cf]
17724
17725         * Makefile.in:
17726         Fix some line wrap and update (c) year
17727         [bad1f46aa1ca]
17728
17729 2004-04-28  Aaron Spangler  <aaron777@gmail.com>
17730
17731         * README.LDAP:
17732         Build Note
17733         [7a061248249b]
17734
17735 2004-04-07  Aaron Spangler  <aaron777@gmail.com>
17736
17737         * Makefile.in:
17738         Fix install-dirs
17739         [be0726dd92e7]
17740
17741 2004-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
17742
17743         * sudo.tab.c:
17744         regen
17745         [3f4f0d1ab8b9]
17746
17747         * visudo.c:
17748         In Exit() when used as a signal handler, emsg is a pointer so
17749         sizeof() is wrong so make it a #define instead. Also avoid using a
17750         negative exit value. Found by Aaron Campbell
17751         [78716a3a3fdc]
17752
17753 2004-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
17754
17755         * sudoers.pod:
17756         Remove bogus sentence about uids in a User_List. Document usernames
17757         vs. uid parsing in a Runas_List.
17758         [7ca510b5031c]
17759
17760         * parse.c, parse.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
17761         If the user specified a uid with the -u flag and the uid exists in
17762         the passwd file, set runas_user to the name, not the uid.
17763
17764         When comparing usernames in sudoers, if a name is really a uid
17765         (starts with '#') compare it numerically to pw_uid.
17766         [8d6935d04673]
17767
17768 2004-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
17769
17770         * auth/kerb5.c:
17771         krb5_mcc_ops should be const; Johnny C. Lam
17772         [aa8c753e426e]
17773
17774 2004-02-28  Aaron Spangler  <aaron777@gmail.com>
17775
17776         * CHANGES, config.h.in, ldap.c:
17777         Added start_tls support
17778         [7ef864c15b69]
17779
17780 2004-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
17781
17782         * Makefile.in:
17783         Clean up libtool stuff for 'make distclean' and add def_data.c,
17784         def_data.h to PARSESRCS.
17785         [bf9bb6bb06ab]
17786
17787 2004-02-14  Aaron Spangler  <aaron777@gmail.com>
17788
17789         * strlcat.c, strlcpy.c:
17790         Un-Fix last license munge
17791         [42654b77ac71]
17792
17793 2004-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
17794
17795         * configure:
17796         regen
17797         [e4de6b23a4dc]
17798
17799         * CHANGES, RUNSON, TODO:
17800         checkpoint
17801         [94e1ace84d5c]
17802
17803         * lex.yy.c, sudo.tab.c:
17804         regen
17805         [8ce784505643]
17806
17807         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
17808         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, auth/sudo_auth.h,
17809         emul/search.h, emul/utime.h:
17810         More to a less restrictive, ISC-style license.
17811         [a31b20e48003]
17812
17813         * auth/kerb5.c, auth/pam.c:
17814         More to a less restrictive, ISC-style license.
17815         [e41f92b41216]
17816
17817         * auth/dce.c, auth/fwtk.c, auth/kerb4.c:
17818         More to a less restrictive, ISC-style license.
17819         [87534c164a52]
17820
17821         * auth/bsdauth.c:
17822         More to a less restrictive, ISC-style license.
17823         [e21be6594b58]
17824
17825         * auth/afs.c, auth/aix_auth.c, zero_bytes.c:
17826         More to a less restrictive, ISC-style license.
17827         [6d234be91c5e]
17828
17829         * sudoers.man.in, sudoers.pod, testsudoers.c, tgetpass.c, visudo.c,
17830         visudo.man.in, visudo.pod:
17831         More to a less restrictive, ISC-style license.
17832         [b02aea324fd6]
17833
17834         * sudo_noexec.c:
17835         More to a less restrictive, ISC-style license.
17836         [a6da7631e0b2]
17837
17838         * strlcat.c, strlcpy.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
17839         sudo_edit.c:
17840         More to a less restrictive, ISC-style license.
17841         [71cdcc241e94]
17842
17843         * sigaction.c, strerror.c:
17844         More to a less restrictive, ISC-style license.
17845         [4bccdedca58a]
17846
17847         * ldap.c, logging.c, logging.h, parse.c, parse.h, pathnames.h.in,
17848         set_perms.c:
17849         More to a less restrictive, ISC-style license.
17850         [64d772d70ab3]
17851
17852         * getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
17853         ins_goons.h, insults.h, interfaces.c, interfaces.h:
17854         More to a less restrictive, ISC-style license.
17855         [520381c60a54]
17856
17857         * find_path.c, getprogname.c:
17858         More to a less restrictive, ISC-style license.
17859         [f605d5eab6f1]
17860
17861         * fileops.c:
17862         More to a less restrictive, ISC-style license.
17863         [4129a8b38a67]
17864
17865         * env.c:
17866         More to a less restrictive, ISC-style license.
17867         [d5bd859757de]
17868
17869         * defaults.h:
17870         More to a less restrictive, ISC-style license.
17871         [008f5d5743f5]
17872
17873         * LICENSE, Makefile.in, alloc.c, check.c, closefrom.c, compat.h,
17874         defaults.c:
17875         More to a less restrictive, ISC-style license.
17876         [d8d7bfc8a18b]
17877
17878         * utime.c, version.h:
17879         More to a less restrictive, ISC-style license.
17880         [e2e038ad8209]
17881
17882         * parse.lex, parse.yacc:
17883         More to a less restrictive, ISC-style license.
17884         [2f5942e847a1]
17885
17886         * Makefile.binary:
17887         More to a less restrictive, ISC-style license.
17888         [1ed561734535]
17889
17890 2004-02-13  Aaron Spangler  <aaron777@gmail.com>
17891
17892         * sudoers2ldif:
17893         Merged in LDAP Support
17894         [3994c4d05947]
17895
17896         * ldap.c, sudo.c, sudo.h:
17897         Merged in LDAP Support
17898         [547eaa346fcc]
17899
17900         * def_data.c, def_data.h, def_data.in:
17901         Merged in LDAP Support
17902         [8fb255280e42]
17903
17904         * CHANGES, Makefile.in, README.LDAP, config.h.in, configure.in:
17905         Merged in LDAP Support
17906         [1038092a161e]
17907
17908 2004-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
17909
17910         * sudo.h, sudo_noexec.c:
17911         Only do "extern int errno" if errno is not a macro.
17912         [b2e02a08be8b]
17913
17914 2004-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
17915
17916         * set_perms.c:
17917         setreuid(0, 0) fails on QNX if the euid is not already 0 so set the
17918         euid first, then just call setuid(0) to set the real uid too.
17919         [f08546e2e0ee]
17920
17921         * set_perms.c:
17922         Use setresuid() and setreuid() for PERM_RUNAS when appropriate
17923         instead of seteuid() which may not exist.
17924         [ba508581befb]
17925
17926 2004-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
17927
17928         * LICENSE:
17929         2004
17930         [37425513a342]
17931
17932         * INSTALL, config.h.in, configure, configure.in, ins_classic.h:
17933         Add --with-pc-insults configure option
17934         [7daa5294c17b]
17935
17936         * visudo.man.in:
17937         Prefer VISUAL over EDITOR like old vipw did.
17938         [996252a4ab65]
17939
17940 2004-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
17941
17942         * sudo.man.in, sudoers.man.in:
17943         regen
17944         [a247f1c52eb9]
17945
17946         * sudoers.pod:
17947         Add a note that noexec is not a cure-all.
17948         [9e7fc535367d]
17949
17950         * sudoers.pod:
17951         Mention that disabling "root_sudo" is pretty pointless.
17952         [f38a415afba0]
17953
17954         * configure, configure.in:
17955         Substitute for root_sudo in sudoers.pod
17956         [ce483cfc86be]
17957
17958         * sudo.pod:
17959         Add sudoedit to the NAME section
17960         [51bc453ec2f6]
17961
17962         * sudoers.pod:
17963         Document that fact that setting ignore_dot in sudoers has no effect
17964         due to the fact that find_path() is called *before* sudoers is read.
17965         [6808df7e417c]
17966
17967 2004-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
17968
17969         * sudo_edit.c:
17970         Do not require _PATH_USRTMP to be set.
17971         [546f3270dd10]
17972
17973         * BUGS, CHANGES, TODO:
17974         sync
17975         [4205ddeab781]
17976
17977         * sudo.man.in:
17978         regen
17979         [e2143690a88a]
17980
17981         * sudo.pod:
17982         Clarify that when sudo is run by root with the SUDO_USER variable
17983         set, the sudoers lookup happens for root and not the SUDO_USER user.
17984         [47207bec1bdf]
17985
17986 2004-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
17987
17988         * auth/pam.c, auth/sudo_auth.c, interfaces.c, logging.c, parse.c,
17989         set_perms.c, sigaction.c, sudo.c, tgetpass.c:
17990         Use the SET, CLR and ISSET macros.
17991         [a8b0d7f1e8fd]
17992
17993         * fnmatch.c:
17994         Use the SET, CLR and ISSET macros.
17995         [1afbcba22ba6]
17996
17997         * defaults.c, env.c:
17998         Use the SET, CLR and ISSET macros.
17999         [2f39431e0a49]
18000
18001         * interfaces.h:
18002         MAIN was replaced with _SUDO_MAIN some time ago.
18003         [ea1b38f2ac9d]
18004
18005         * sudo.c:
18006         Don't look at prev_user until after we've parsed sudoers and done
18007         the password check. That way, if sudo/sudoedit is run from a root
18008         process that was invoked by sudo, we check sudoers for root, not the
18009         previous user. This makes sudoedit much more useful and means that
18010         for the sudo case, we get correct logging on who actually ran the
18011         command.
18012         [431dfbf20552]
18013
18014 2004-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18015
18016         * sudo_edit.c:
18017         Add a comment describing why we need to be notified about our child
18018         stopping.
18019         [0bec3ce4b49d]
18020
18021 2004-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18022
18023         * def_data.c, def_data.in:
18024         Update the noexec variable descriptions
18025         [9cb7f1aa0e57]
18026
18027         * sudoers.man.in, sudoers.pod:
18028         noexec now replaces more than just execve()
18029         [23cbdc0ee95c]
18030
18031         * sudo_noexec.c:
18032         Alas, all the world does not go through execve(2). Many systems
18033         still have an execv(2) system call, Linux 2.6 provides fexecve(2)
18034         and it is not uncommon for libc to have underscore ('_') versions of
18035         the functions to be used internally by the library. Instead of
18036         stubbing all these out by hand, define a macro and let it do the
18037         work. Extra exec functions pointed out by Reznic Valery.
18038         [9fa0cd871b0c]
18039
18040         * sudo.c, sudo_edit.c:
18041         Fix suspending the editor in -e mode. Because we do a fork() first
18042         we need to be notified when the child has been stopped and then send
18043         that same signal to ourself so the shell can do its job control
18044         thing.
18045         [773165eb6057]
18046
18047         * visudo.c:
18048         Use WIFEXITED and WEXITSTATUS macros. If there are systems out
18049         there that want to run sudo that still don't support these we can
18050         try to deal with that later.
18051         [6af68e4aff60]
18052
18053         * lex.yy.c:
18054         regen
18055         [403435317d5d]
18056
18057         * sudo.man.in, sudo.pod, sudoers.man.in, sudoers.pod:
18058         Document sudo -e / sudoedit
18059         [a80f6ea910af]
18060
18061         * configure, configure.in:
18062         fix typo
18063         [5020fcdc27f4]
18064
18065         * config.h.in, configure.in:
18066         Add SET/CLR/ISSET
18067         [03ff57286e7e]
18068
18069 2004-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18070
18071         * sudo.c:
18072         Allow non-exclusive flags when invoked as sudoedit. Pretty print the
18073         long usage() line to not wrap (assumes 80 char display)
18074         [3941fa4004bb]
18075
18076         * Makefile.in, sudo.c:
18077         If sudo is invoked as "sudoedit" the -e flag is implied and no other
18078         flags are permitted.
18079         [929670b01293]
18080
18081         * sudo.h:
18082         Add a new flag, -e, that makes it possible to give users the ability
18083         to edit files with the editor of their choice as the invoking user,
18084         not the runas user. Temporary files are used for the actual edit
18085         and the temp file is copied over the original after the editor is
18086         done.
18087         [c4051414c1f4]
18088
18089         * Makefile.in, parse.c, parse.lex, sudo.c, sudo_edit.c:
18090         Add a new flag, -e, that makes it possible to give users the ability
18091         to edit files with the editor of their choice as the invoking user,
18092         not the runas user. Temporary files are used for the actual edit
18093         and the temp file is copied over the original after the editor is
18094         done.
18095         [37ac05c8ac3c]
18096
18097         * env.c, sudo.c:
18098         If real uid == 0 and the SUDO_USER environment variables is set, use
18099         that to determine the invoking user's true identity. That way the
18100         proper info gets logged by someone who has done "sudo su" but still
18101         uses sudo to as root. We can't do this for non-root users since
18102         that would open up a security hole, though perhaps it would be
18103         acceptable to use getlogin(2) on OSes where this a system call (and
18104         doesn't just look in the utmp file).
18105         [c2f9198708a1]
18106
18107         * pathnames.h.in:
18108         Add _PATH_TMP, _PATH_VARTMP and _PATH_USRTMP
18109         [7d9e5768df93]
18110
18111         * config.h.in, configure, configure.in:
18112         Add check for fchown(2)
18113         [a85df18798ed]
18114
18115 2004-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18116
18117         * sudo.c:
18118         Back out portions of the -i commit that set NewArgv[0] in
18119         set_runaspw. It is far to late to set NewArgv[0] there and will have
18120         no effect anyway as cmnd and safe_cmnd have already been set.
18121         [c2d343430c1c]
18122
18123         * visudo.c, visudo.pod:
18124         Prefer VISUAL over EDITOR like old vipw did.
18125         [ae32f477cea3]
18126
18127 2004-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18128
18129         * env.c, sudo.c:
18130         In -i mode always set new environment based on the runas user's
18131         passwd entry.
18132         [fa653b7887a8]
18133
18134 2004-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
18135
18136         * sudo.man.in, sudo.pod:
18137         Document the new -i flag and sync SYNOPSIS section with usage() in
18138         sudo.c. Also sort the flags in the OPTIONS section.
18139         [6aabc0ffc47e]
18140
18141         * sudo.c, sudo.h:
18142         o Add -i that acts similar to "su -", based on patches from David J.
18143         MacKenzie o Sort the flags in the usage message
18144         [c0fe7d6beffd]
18145
18146         * sudoers.man.in, sudoers.pod:
18147         Add a missing @runas_default@ substitution.
18148         [60516fe2d090]
18149
18150 2004-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
18151
18152         * sudo.c:
18153         Change euid to runas user before calling find_path().
18154         Unfortunately, though runas_user can be modified in sudoers we
18155         haven't parsed sudoers yet.
18156         [f469fdf2e313]
18157
18158         * sudoers.man.in, sudoers.pod:
18159         Add missing defintion of Parameter_List and use single pipes in the
18160         Defaults EBNF definition.
18161         [f7bed6e909bf]
18162
18163         * sudo.c:
18164         Fix a bug when set_runaspw() is used as a callback. We don't want
18165         to reset the contents of runas_pw if the user specified a user via
18166         the -u flag.
18167
18168         Avoid unnecessary passwd lookups in set_authpw(). In most cases we
18169         already have the info in runas_pw.
18170         [efc35623ba09]
18171
18172 2004-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18173
18174         * check.c:
18175         Add Stan Lee / Uncle Ben quote to the lecture from RedHat
18176         [ebd5a76ccd7e]
18177
18178         * sudo.h:
18179         Update sudo_getepw() proto and add one for set_runaspw()
18180         [6ed65795c17f]
18181
18182         * parse.c:
18183         If we can't stat the command as root, try as the runas user instead.
18184         [ae713fca0e15]
18185
18186         * testsudoers.c, visudo.c:
18187         Add stub set_runaspw() function
18188         [42aa37050053]
18189
18190         * sudo.c:
18191         Add set_runaspw() function to fill in runas_pw. This will be used
18192         as a callback to update runas_pw when the runas user changes.
18193         [e570aa0088d0]
18194
18195         * env.c, sudo.c:
18196         PERM_RUNAS -> PERM_FULL_RUNAS
18197         [51eec6f9e89a]
18198
18199         * set_perms.c, sudo.h:
18200         Rename PERM_RUNAS -> PERM_FULL_RUNAS and add a PERM_RUNAS that just
18201         changes the euid.
18202         [877c6fe4d12c]
18203
18204         * getspwuid.c:
18205         Make sudo_pwdup() act like OpenBSD pw_dup() and allocate memory in
18206         one chunk for easy free()ing. Also change it from static to extern.
18207         [ab503260a7ec]
18208
18209         * defaults.c, defaults.h:
18210         Add callback support
18211         [a61c4ca983fb]
18212
18213         * mkdefaults:
18214         Add a callback field and use it for runas_default
18215         [96b69c27df5e]
18216
18217         * def_data.c, def_data.in:
18218         Add a callback field and use it for runas_default
18219         [d3e9f06872b8]
18220
18221 2004-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18222
18223         * auth/fwtk.c:
18224         Add support for chalnecho and display server responses used by fwtk
18225         >= 2.0
18226         [b1870f7aaf0d]
18227
18228 2004-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18229
18230         * sudoers.man.in, sudoers.pod:
18231         ld.so is ld.so.1 on solaris
18232         [2bf9a123fa4c]
18233
18234         * Makefile.in, config.h.in, configure, configure.in, sudo.c, sudo.h:
18235         Use closefrom() instead of doing the equivalent inline.
18236         [7e3ef6072884]
18237
18238         * closefrom.c:
18239         closefrom(3) for systems w/o it
18240         [35caf58bb636]
18241
18242 2004-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18243
18244         * sudoers.man.in:
18245         Update from .pod file.
18246         [d4c94fc0e0c9]
18247
18248         * configure, configure.in:
18249         Substitute noexec_file for the sudoers man page
18250         [203d3376a551]
18251
18252         * sudo.man.in, sudo.pod:
18253         Mention noexec
18254         [014375ddbb06]
18255
18256         * sudoers.man.in, sudoers.pod:
18257         Document noexec
18258         [49a65d06201f]
18259
18260         * auth/pam.c, config.h.in, configure.in:
18261         Move PAM_CONST macro definition from config.h to pam.c where it
18262         belongs. We can't have this in config.h since that gets included too
18263         early.
18264         [e64748071637]
18265
18266         * auth/pam.c, config.h.in, configure, configure.in:
18267         Some PAM implementations put their headers in /usr/include/pam
18268         instead of /usr/include/security.
18269         [8cc749e9575c]
18270
18271         * configure.in:
18272         I missed changing the EXEC macro -> EXECV here when I changed this
18273         in config.h.in and sudo.c a while ago.
18274         [6f5afac7789f]
18275
18276         * acsite.m4:
18277         OpenBSD vax/m88k/hppa don't do shared libs
18278         [e4901d958bb7]
18279
18280         * configure, configure.in:
18281         o merge the hpux case entries into a single entry w/ its own sub-
18282         case statement. o HP-UX >= 11 support getspnam(), use it in
18283         preference to getprpwuid()
18284         [0caad428894e]
18285
18286         * configure, configure.in:
18287         eval $shrext so that it expands nicely on MacOS X
18288         [40419343eef8]
18289
18290         * Makefile.in:
18291         Don't lie about making a module, it does the wrong thing on mach
18292         [7629b28f5688]
18293
18294         * ltmain.sh:
18295         Remove requirement that libs must begin with "lib". They don't when
18296         we point directly at the lib using LD_PRELOAD or its equivalent.
18297         [d66f3de6ec85]
18298
18299         * acsite.m4:
18300         Disable support for c++, f77 and java. We don't need it, it takes a
18301         lot of time, and it hosed our check for shared lib support.
18302         [4f5749c52ce4]
18303
18304         * configure:
18305         regen
18306         [160865e9d15f]
18307
18308         * configure.in:
18309         Call AC_ENABLE_SHARED and check the status of enable_shared to know
18310         when shared libs are available.
18311         [42504c1668fc]
18312
18313         * acsite.m4:
18314         Duh, OpenBSD suports shared libs too
18315         [8e3cd9417475]
18316
18317         * config.h.in, configure.in:
18318         Only OpenPAM and Linux PAM use const qualifiers.
18319         [b2f76476e866]
18320
18321         * configure, configure.in:
18322         o No need to check for sed, libtool config does that for us o move
18323         check for --with-noexec until after libtool magic is run so we can
18324         use $can_build_shared and $shrext
18325         [668c656e89cc]
18326
18327         * ltmain.sh:
18328         Don't print a bunch of crap about library installs since we are not
18329         really installing a library.
18330         [83fbcad29fe4]
18331
18332         * env.c:
18333         Make format_env() varargs Add noexec support for Darwin, MacOS X,
18334         Irix, and Tru64
18335         [468885d75d10]
18336
18337         * acsite.m4, ltconfig, ltmain.sh:
18338         Update to libtool 1.5 with local changes: o no ldconfig in the
18339         finish step o assume no libprefix or version is needed
18340         [4961cffc3797]
18341
18342         * sudo_noexec.c:
18343         Fix compilation under K&R
18344         [8b309bf0b1b2]
18345
18346 2004-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18347
18348         * CHANGES:
18349         checkpoint
18350         [3c368badab32]
18351
18352         * sudo_noexec.c:
18353         stub execve() that just returns EACCES; used for noexec
18354         functionality
18355         [1297acae283a]
18356
18357         * sudo.tab.h:
18358         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
18359         generated code.
18360         [dcab78c49273]
18361
18362         * sudo.tab.c:
18363         Regen w/ updated byacc from OpenBSD; fixes a gcc 3.2 issue with
18364         generated code.
18365         [0a61c735eabe]
18366
18367 2004-01-05  Todd C. Miller  <Todd.Miller@courtesan.com>
18368
18369         * def_data.c, def_data.h, def_data.in:
18370         Move the environment defaults to the end and shorten a few of the
18371         descriptions.
18372         [66787b9c612c]
18373
18374         * configure, configure.in:
18375         no shared libs on ultris or convexos
18376         [2c5f3c456e32]
18377
18378         * Makefile.in, configure, configure.in:
18379         Build sudo_noexec shared object using libtool; could use some
18380         cleanup.
18381         [373f483555dd]
18382
18383         * acsite.m4, ltconfig, ltmain.sh:
18384         libtool scaffolding
18385         [c903a42e3d90]
18386
18387         * parse.yacc, sudo.tab.c:
18388         Merge the NOPASSWD/PASSWD and NOEXEC/EXEC rules so that order is not
18389         important.
18390         [c6e8a34639a4]
18391
18392         * defaults.c, env.c, lex.yy.c, parse.c, parse.h, parse.lex,
18393         parse.yacc, pathnames.h.in, sudo.c, sudo.h, sudo.tab.c:
18394         update copyright year
18395         [a16372ae1711]
18396
18397         * configure, configure.in, defaults.c, env.c, pathnames.h.in:
18398         Add _PATH_SUDO_NOEXEC and corresponding --with-noexec configure
18399         option. The default value of noexec_file is set to this.
18400         [7d88e1d3c494]
18401
18402         * def_data.c, def_data.h, def_data.in, env.c, lex.yy.c, parse.c,
18403         parse.h, parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
18404         sudo.tab.h:
18405         Add support for preloading a shared object containing a dummy
18406         execve() function that just sets error and returns -1. This adds a
18407         "noexec_file" option to load the filename as well as a "noexec" flag
18408         to enable it unconditionally. There is also a NOEXEC tag that can
18409         be attached to specific commands and an EXEC tag to disable it.
18410         [c8b6712feb91]
18411
18412         * mkdefaults:
18413         add missing newline to usage statement
18414         [e84746618362]
18415
18416         * config.h.in, sudo.c:
18417         Rename EXEC macro -> EXECV
18418         [ddaa0c027299]
18419
18420         * logging.c:
18421         Don't truncate usernames to 8 characters in the log message.
18422         [f62a20f27075]
18423
18424         * check.c, sudoers.man.in, sudoers.pod:
18425         Update copyright year
18426         [ca9964054085]
18427
18428         * check.c, def_data.c, def_data.h, def_data.in, sudoers.man.in,
18429         sudoers.pod:
18430         Add a new option, lecture_file, that can be used to point to a
18431         custom sudo lecture.
18432         [940133231216]
18433
18434 2003-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18435
18436         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18437         auth/sudo_auth.c:
18438         Add a zero_bytes() function to do the equivalent of bzero in such a
18439         way that will heopfully not be optimized away by sneaky compilers.
18440         [161b6d74bfb4]
18441
18442         * zero_bytes.c:
18443         Add a zero_bytes() function to do the equivalent of bzero in such a
18444         way that will heopfully not be optimized away by sneaky compilers.
18445         [d035abf0af94]
18446
18447         * Makefile.in, sudo.h:
18448         Add a zero_bytes() function to do the equivalent of bzero in such a
18449         way that will heopfully not be optimized away by sneaky compilers.
18450         [ff136de3e255]
18451
18452         * err.c:
18453         Use #ifdef __STDC__, not #if __STDC__.
18454         [6889dd6bc51a]
18455
18456 2003-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18457
18458         * mkdefaults:
18459         Always put at least one space between the def_* macro name and its
18460         definition.
18461         [6b3ad0e6619a]
18462
18463         * configure, configure.in:
18464         Adjust code for --without-lecture to match new values.
18465         [062aa788a6b9]
18466
18467         * visudo.man.in:
18468         regen after pasto fix
18469         [3deec16906c0]
18470
18471         * sudoers.man.in, sudoers.pod:
18472         Document that "lecture" has changed from a flag to a tuple.
18473         [e2c03062b533]
18474
18475         * check.c, def_data.c, def_data.h, def_data.in, defaults.c,
18476         defaults.h, logging.c, mkdefaults, parse.c, sudo.c, sudo.h:
18477         Add support for tuples in def_data.in; these are implemented as an
18478         enum type. Currently there is only a single tuple enum but in the
18479         future we may have one tuple enum per T_TUPLE entry in def_data.in.
18480         Currently listpw, verifypw and lecture are tuples. This avoids the
18481         need to have two entries (one ival, one str) for pwflags and syslog
18482         values.
18483
18484         lecture is now a tuple with the following values: never, once,
18485         always
18486
18487         We no longer use both an int and string entry for syslog facilities
18488         and priorities. Instead, there are logfac2str() and logpri2str()
18489         functions that get used when we need to print the string values.
18490         [5293f946c836]
18491
18492         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
18493         auth/rfc1938.c, auth/securid5.c, auth/sia.c, auth/sudo_auth.c,
18494         check.c, def_data.h, defaults.c, defaults.h, env.c, find_path.c,
18495         logging.c, mkdefaults, parse.c, parse.yacc, set_perms.c, sudo.c,
18496         sudo.tab.c, visudo.c:
18497         Create def_* macros for each defaults value so we no longer need the
18498         def_{flag,ival,str,list,mode} macros (which have been removed). This
18499         is a step toward more flexible data types in def_data.in.
18500         [009c02934106]
18501
18502         * TODO:
18503         checkpoint
18504         [0a99a4bb5d15]
18505
18506 2003-12-23  Todd C. Miller  <Todd.Miller@courtesan.com>
18507
18508         * sudo.c:
18509         If we are in -k/-K mode, just spew to stderr. It is not unusual for
18510         users to place "sudo -k" in a .logout file which can cause sudo to
18511         be run during reboot after the YP/NIS/NIS+/LDAP/etc daemon has died.
18512         Previously, this would result in useless mail and logging.
18513         [d282e7ed63af]
18514
18515 2003-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18516
18517         * visudo.pod:
18518         fix pasto in VISUAL description
18519         [1c6a6148b5f9]
18520
18521 2003-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
18522
18523         * configure:
18524         regen
18525         [f44312c63799]
18526
18527         * CHANGES:
18528         checkpoint
18529         [0c42e38f78d5]
18530
18531         * TROUBLESHOOTING:
18532         Some OSes (like Solaris) allow export w/ nosuid too
18533         [973ce85ffa12]
18534
18535 2003-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
18536
18537         * compat.h:
18538         We don't use FD_ZERO anymore so just define FD_SET (if not already
18539         there).
18540         [d1c8c11905cd]
18541
18542 2003-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
18543
18544         * auth/pam.c:
18545         Fix a core dump on Solaris by preserving the pam_handle_t we used
18546         during authentication for pam_prep_user(). If we didn't
18547         authenticate (ie: ticket still valid), we call pam_init() from
18548         pam_prep_user(). This is something of a hack; it may be better to
18549         change the auth API and add an auth_final() function that acts like
18550         pam_prep_user().
18551         [f787de49b175]
18552
18553 2003-06-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18554
18555         * set_perms.c:
18556         Add explicit declaration of printerr variable in function header
18557         (was defaulting to int which is OK but oh so K&R :-). From Theo.
18558         [492c2358783f]
18559
18560 2003-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18561
18562         * config.h.in, configure.in:
18563         s/HAVE_STOW/USE_STOW/
18564         [4b99e1824ece]
18565
18566         * logging.c:
18567         Also exit waitpid() loop when pid == 0. Fixes a problem where the
18568         sudo process would spin eating up CPU until sendmail finished when
18569         it has to send mail.
18570         [ec3d5792b9b4]
18571
18572 2003-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18573
18574         * fnmatch.c:
18575         Remove advertising clause, UCB has disavowed it
18576         [43a26bbd6628]
18577
18578         * fnmatch.3:
18579         Remove advertising clause, UCB has disavowed it
18580         [3ff24291bcfa]
18581
18582 2003-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
18583
18584         * parse.c:
18585         Don't assume that getgrnam() calls don't modify contents of struct
18586         passwd returned by getpwnam(). On FreeBSD w/ NIS this can happen.
18587         Based on a patch from Kirk Webb.
18588         [5574c68f60f3]
18589
18590 2003-05-06  Todd C. Miller  <Todd.Miller@courtesan.com>
18591
18592         * configure.in:
18593         missing ;;
18594         [22378f2a9d31]
18595
18596         * configure.in:
18597         darwin has a broken setreuid() in at least some versions
18598         [d572aed930d2]
18599
18600         * env.c:
18601         Fix an off by one error when reallocating the environment; Kevin Pye
18602         [3d98e7cf097a]
18603
18604 2003-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
18605
18606         * sudoers.pod:
18607         Fix User_Spec definition; SEKINE Tatsuo
18608         [49b0da65e090]
18609
18610 2003-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
18611
18612         * HISTORY:
18613         More info on the early days from Coggs.
18614         [9381ca10b06b]
18615
18616 2003-04-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18617
18618         * auth/kerb5.c:
18619         remove errant semicolon that prevented compilation under heimdal
18620         [d2f2bb73a598]
18621
18622 2003-04-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18623
18624         * testsudoers.c, tgetpass.c, visudo.c, visudo.man.in, visudo.pod:
18625         add DARPA credit on affected files
18626         [7020785ee50d]
18627
18628         * sudoers.pod:
18629         add DARPA credit on affected files
18630         [83b46318750b]
18631
18632         * sigaction.c, strerror.c, sudo.c, sudo.h, sudo.man.in, sudo.pod,
18633         sudoers.man.in:
18634         add DARPA credit on affected files
18635         [d8adf1c2ba22]
18636
18637         * set_perms.c:
18638         add DARPA credit on affected files
18639         [3d79fdabb582]
18640
18641         * pathnames.h.in:
18642         add DARPA credit on affected files
18643         [e334cdda422f]
18644
18645         * logging.c, parse.c:
18646         add DARPA credit on affected files
18647         [8f75f822755b]
18648
18649         * auth/passwd.c, auth/rfc1938.c, auth/secureware.c, auth/securid.c,
18650         auth/securid5.c, auth/sia.c, auth/sudo_auth.c, fileops.c,
18651         find_path.c, getprogname.c, getspwuid.c, goodpath.c, interfaces.c,
18652         interfaces.h:
18653         add DARPA credit on affected files
18654         [da66e28fb3f5]
18655
18656         * auth/kerb5.c, auth/pam.c:
18657         add DARPA credit on affected files
18658         [15da3021b49c]
18659
18660         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
18661         auth/fwtk.c, auth/kerb4.c, parse.lex, parse.yacc, utime.c,
18662         version.h:
18663         add DARPA credit on affected files
18664         [868d54cbddea]
18665
18666         * env.c:
18667         add DARPA credit on affected files
18668         [90239f51ef0a]
18669
18670         * defaults.c, defaults.h:
18671         add DARPA credit on affected files
18672         [6a64205fd1eb]
18673
18674         * compat.h:
18675         add DARPA credit on affected files
18676         [316a735783c4]
18677
18678         * Makefile.in, alloc.c, check.c:
18679         add DARPA credit on affected files
18680         [cd939e05c810]
18681
18682         * LICENSE:
18683         slightly different wording for the darpa credit
18684         [e468909c4a21]
18685
18686 2003-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18687
18688         * LICENSE:
18689         Add DARPA credit
18690         [8eb20e2cd63e]
18691
18692 2003-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
18693
18694         * auth/kerb5.c:
18695         Use krb5_princ_component() instead of krb5_princ_realm() for MIT
18696         Kerberos like we did before I messed things up ;-)
18697
18698         Use krb5_principal_get_comp_string() to do the same thing w/
18699         Heimdal. I'm not sure if the component should be 0 or 1 in this
18700         case.
18701
18702         #define ENCTYPE_DES_CBC_MD5 ETYPE_DES_CBC_MD5 for Heimdal since
18703         older versions lack ENCTYPE_DES_CBC_MD5. This is gross and there
18704         should be a configure check for this I guess.
18705         [74919a3933fe]
18706
18707 2003-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
18708
18709         * sample.sudoers:
18710         builtin -> built-in; Jason McIntyre
18711         [027f2187923e]
18712
18713         * TROUBLESHOOTING, config.h.in, configure, configure.in:
18714         builtin -> built-in; Jason McIntyre
18715         [70b81ac48943]
18716
18717         * sudoers.pod:
18718         built in -> built-in; Jason McIntyre
18719         [da658ef5138d]
18720
18721 2003-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
18722
18723         * CHANGES:
18724         checkpoint for 1.6.7p3
18725         [da85f989fadf]
18726
18727         * HISTORY:
18728         Update info on the early years @ SUNY-Buffalo from Cliff Spencer.
18729         Amazingly, sudo source from 1985 is available via groups.google.com
18730         [39e0fc85b89f]
18731
18732         * sudo.c:
18733         Don't change rl.rlim_max for RLIMIT_CORE. We need only set
18734         rl.rlim_cur to 0 to turn off core dumps. This may be needed for the
18735         RLIMIT_CORE restoration on some OSes.
18736         [7e2c1a7adfd8]
18737
18738 2003-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
18739
18740         * auth/kerb5.c:
18741         Make this compile on Heimdal and MIT Kerberos 5
18742         [44c07d615868]
18743
18744         * config.h.in, configure, configure.in:
18745         Check for heimdal even if we found krb5-config and define
18746         HAVE_HEIMDAL.
18747         [aba0126f0059]
18748
18749         * auth/kerb5.c:
18750         Replace ETYPE_DES_CBC_MD5 with ENCTYPE_DES_CBC_MD5. The former is
18751         no longer defined by MIT kerb5 (though it used to be and indeed
18752         remains so in Heimdal).
18753         [e5a6c64d7cd5]
18754
18755 2003-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
18756
18757         * mkinstalldirs:
18758         Remove newer stuff that passes multiple (possibly duplicate)
18759         directories to "mkdir -p" since that seems to break on Tru64 Unix at
18760         least. This basically brings back what shipped with sudo 1.6.6.
18761         [f2a1abd872b3]
18762
18763 2003-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
18764
18765         * auth/kerb5.c:
18766         Correct number of args to krb5_principal_get_realm() and fix an
18767         unclosed comment that hid the bug.
18768         [0b37f8ce7824]
18769
18770         * configure:
18771         regen
18772         [1876cb840fe0]
18773
18774         * configure.in:
18775         ++version
18776         [480aff7c048e]
18777
18778         * README:
18779         ++version
18780         [488e0bbff613]
18781
18782         * Makefile.in:
18783         ++version
18784         [97ef63cedc38]
18785
18786         * INSTALL.binary:
18787         ++version
18788         [a506204e77d0]
18789
18790         * INSTALL:
18791         ++version
18792         [555aeba5c2bf]
18793
18794         * CHANGES, version.h:
18795         ++version
18796         [f66985a64063]
18797
18798         * BUGS:
18799         ++version
18800         [ea3573432412]
18801
18802         * configure.in:
18803         use krb5-config to determine Kerberos V details if it exists
18804         [7b46bbdaf774]
18805
18806         * alloc.c, auth/fwtk.c, auth/rfc1938.c, auth/securid.c,
18807         auth/securid5.c, auth/sia.c, check.c, compat.h, defaults.c, env.c,
18808         find_path.c, interfaces.c, logging.c, parse.c, sudo.c, sudo.h,
18809         testsudoers.c, visudo.c:
18810         Use warn/err and getprogname() throughout. The main exception is
18811         openlog(). Since the admin may be filtering logs based on the
18812         program name in the log files, hard code this to "sudo".
18813         [9f180d015cfa]
18814
18815         * Makefile.in:
18816         Add getprogname.c and err.c
18817         [d411c54a07dc]
18818
18819         * configure:
18820         regen
18821         [6d585d391acc]
18822
18823         * config.h.in, configure.in:
18824         Add checks for getprognam(), __progname and err.h
18825         [bcbccf61d34a]
18826
18827         * emul/err.h:
18828         For systems withour err/warn functions.
18829         [1b33118884d9]
18830
18831         * err.c:
18832         For systems withour err/warn functions.
18833         [26721f6b041f]
18834
18835         * getprogname.c:
18836         For systems neither getprogname() nor __progname; uses Argv[0].
18837         [841cf42af1eb]
18838
18839 2003-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
18840
18841         * CHANGES:
18842         checkpoint for 1.6.7p1
18843         [5bfdaf441dce]
18844
18845         * sudo.c, testsudoers.c:
18846         fix strlcpy() rval check (innocuous)
18847         [e05ac7e0d1f3]
18848
18849         * check.c:
18850         oflow detection in expand_prompt() was faulty (false positives). The
18851         count was based on strlcat() return value which includes the length
18852         of the entire string.
18853         [086c5a0acb25]
18854
18855 2003-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
18856
18857         * RUNSON, TODO:
18858         checkpoint for the sudo 1.6.7 release
18859         [096bab4da29a] [SUDO_1_6_7]
18860
18861         * CHANGES:
18862         checkpoint for the sudo 1.6.7 release
18863         [87322187ed78]
18864
18865 2003-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
18866
18867         * logging.c:
18868         g/c unused variable
18869         [c57cd4a17765]
18870
18871         * configure:
18872         regen
18873         [e7c1f581dfac]
18874
18875         * configure.in:
18876         use man sections 8 and 5 for csops
18877         [87de581bda88]
18878
18879 2003-03-21  Todd C. Miller  <Todd.Miller@courtesan.com>
18880
18881         * configure:
18882         regen
18883         [cb1433a9c7a1]
18884
18885         * configure.in:
18886         Add -lskey or -lopie directly to SUDO_LIBS instead of having
18887         AC_CHECK_LIB() add them to LIBS. Fixes visudo linkage.
18888         [ac5667978939]
18889
18890         * configure:
18891         regen
18892         [638459118a2a]
18893
18894         * configure.in:
18895         Add --with-blibpath for AIX. An alternate libpath may be specified
18896         or
18897         -blibpath support can be disabled. Also change conifgure such that
18898         -blibpath is not specified if no -L libpaths were added to
18899         SUDO_LDFLAGS.
18900         [c7d17b480cad]
18901
18902         * aclocal.m4:
18903         Add --with-blibpath for AIX. An alternate libpath may be specified
18904         or
18905         -blibpath support can be disabled. Also change conifgure such that
18906         -blibpath is not specified if no -L libpaths were added to
18907         SUDO_LDFLAGS.
18908         [37022e991575]
18909
18910         * INSTALL:
18911         Add --with-blibpath for AIX. An alternate libpath may be specified
18912         or
18913         -blibpath support can be disabled. Also change conifgure such that
18914         -blibpath is not specified if no -L libpaths were added to
18915         SUDO_LDFLAGS.
18916         [4b4bbe5bbe1b]
18917
18918         * configure.in:
18919         add AIX blibpath support
18920         [16ba788bf086]
18921
18922         * INSTALL, configure.in:
18923         --with-skey and --with-opie now take an option directory argument
18924         This obsoletes a --with-csops hack (/tools/cs/skey)
18925
18926         Also remove the remaining direct uses of "echo"
18927         [5b4986a90c03]
18928
18929 2003-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
18930
18931         * configure.in:
18932         Detect KTH Kerberos IV and deal with it. Also make -lroken optional
18933         for KTH Kerberos IV and V.
18934         [119f97b48e18]
18935
18936         * aclocal.m4:
18937         Add SUDO_APPEND_LIBPATH function that add -L/path/to/dir (and
18938         -R/path/to/dir if $with_rpath) to the specified variable.
18939         [e55e49d076ce]
18940
18941         * INSTALL, configure.in:
18942         Add -R/path/to/libs for Solaris and SVR4. There is a new configure
18943         option, --with-rpath to control this behavior.
18944         [d4730c5399ab]
18945
18946         * configure.in:
18947         for kerb4 put libdes after libkrb on the link line
18948         [5c566100eab6]
18949
18950         * auth/kerb4.c:
18951         typo
18952         [6541b72b64a3]
18953
18954         * configure.in:
18955         fix kerberos lib check when a path is specified
18956         [ae833a914c6f]
18957
18958         * logging.c:
18959         Fix boolean thinko in SIGCHLD reaper and call reapchild after
18960         sending mail instead of doing a conditional sudo_waitpid.
18961         [86fa9a35df5a]
18962
18963 2003-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
18964
18965         * configure:
18966         regen
18967         [e6275cf528ba]
18968
18969         * configure.in:
18970         replace =DIR with [=DIR] where sensible
18971         [c39a59173b38]
18972
18973         * configure.in:
18974         o Use AC_MSG_* instead of "echo" o New Kerberos include/lib
18975         detection based on openssh's configure.in
18976         [5b7a340912df]
18977
18978         * INSTALL:
18979         --with-kerb4 and --with-kerb5 now take an optional argument.
18980         [71ed87fc9c64]
18981
18982 2003-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
18983
18984         * auth/securid.c:
18985         Kill remaining strcpy(), the programmer's guide says username is 32
18986         bytes.
18987         [bdba70fcd08d]
18988
18989         * auth/kerb4.c:
18990         trat uid_t as unsigned long for printf and use snprintf, not sprintf
18991         [8072f5f8966d]
18992
18993         * auth/rfc1938.c:
18994         use snprintf
18995         [fc0c70c665fe]
18996
18997 2003-03-15  Todd C. Miller  <Todd.Miller@courtesan.com>
18998
18999         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
19000         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
19001         auth/rfc1938.c, auth/sudo_auth.c:
19002         update copyright year
19003         [b0a10ccb1d0e]
19004
19005         * sudo.man.in, sudoers.man.in, visudo.man.in:
19006         update copyright year
19007         [8fce0034eb51]
19008
19009         * LICENSE, Makefile.in, aclocal.m4, alloc.c, check.c, compat.h,
19010         configure.in, env.c, find_path.c, interfaces.c, logging.c, parse.c,
19011         parse.lex, parse.yacc, set_perms.c, sudo.c, sudo.h, sudo.pod,
19012         sudoers.pod, testsudoers.c, version.h, visudo.c, visudo.pod:
19013         update copyright year
19014         [d541e75fe520]
19015
19016         * check.c, env.c, sudo.c:
19017         Cast [ug]ids to unsigned long and printf with %lu
19018         [2ede64d3592b]
19019
19020         * configure:
19021         regen
19022         [c7c3245bdf3e]
19023
19024         * configure.in:
19025         correct error messages for --with-sudoers-{mode,uid,gid}
19026         [77fc15b1c9db]
19027
19028         * alloc.c:
19029         make the malloc(0) error specific to each function to aid tracking
19030         down bugs.
19031         [a58c34374b4b]
19032
19033         * alloc.c:
19034         deal with platforms where size_t is signed and there is no SIZE_MAX
19035         or SIZE_T_MAX
19036         [7192abb4ab4e]
19037
19038         * auth/kerb5.c:
19039         Make this compile w/ Heimdal and fix some gcc warnings.
19040         [f52f026f31c2]
19041
19042         * sudo.c:
19043         Use stat_sudoers macro so --with-stow can work
19044         [c3674735c139]
19045
19046         * INSTALL, config.h.in, configure, configure.in:
19047         Add support for --with-stow based on patches from Robert Uhl
19048         [b274cc1dd52c]
19049
19050         * env.c:
19051         fix indentation
19052         [110d9f1721b1]
19053
19054         * configure.in:
19055         back out rev 1.352
19056         [1eee91c83f11]
19057
19058         * lex.yy.c:
19059         regen
19060         [72fba1c9590b]
19061
19062         * parse.lex:
19063         use strlcpy, not strncpy
19064         [4faccbaeccef]
19065
19066         * set_perms.c:
19067         Fix typo; check pw_uid, not pw_gid after setusercontext() failure.
19068         [33bf0d18fdc1]
19069
19070         * logging.c:
19071         use pid_t
19072         [3e0536993d2c]
19073
19074 2003-03-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19075
19076         * strlcat.c, strlcpy.c:
19077         Make gcc shutup about unused rcsid
19078         [1669a0c74e9e]
19079
19080         * interfaces.c:
19081         Move the n == 0 check for the non-getifaddrs cas
19082         [2460be061b2a]
19083
19084         * auth/rfc1938.c:
19085         skeychallenge() on NetBSD take a size parameter
19086         [05acc2012801]
19087
19088         * configure:
19089         regen
19090         [24bccf4749e8]
19091
19092         * configure.in:
19093         put -ldl after -lpam, not before; fixes static linking on Linux
19094         [7f06b7b2b4d8]
19095
19096         * interfaces.c:
19097         Avoid malloc(0) and fix the loop invariant for the getifaddrs()
19098         case.
19099         [239a55068646]
19100
19101         * sudo.cat, sudoers.cat, visudo.cat:
19102         regen
19103         [4a2eed3981ca]
19104
19105         * sudo.man.in, sudoers.man.in, visudo.man.in:
19106         regen
19107         [2c96ea2cf930]
19108
19109         * Makefile.in:
19110         Preserve copyright notice from .pod file in .man.in file
19111         [519fbd09aebc]
19112
19113         * visudo.pod:
19114         Add sudoers(5) to SEE ALSO
19115         [77ecfe3aedf1]
19116
19117 2003-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19118
19119         * lex.yy.c:
19120         regen
19121         [6f5751ce0b74]
19122
19123         * parse.lex:
19124         Don't assume libc can realloc() a NULL string. If malloc/realloc
19125         fails, make sure we just return; yyerror() is not terminal.
19126         [1b8618623708]
19127
19128         * lex.yy.c:
19129         regen
19130         [5d31b46191c6]
19131
19132         * parse.lex:
19133         simplify fill_args a little and use strlcpy for paranoia
19134         [0ea35a55542b]
19135
19136         * sudo.tab.c:
19137         regen
19138         [5a8d508d708b]
19139
19140         * check.c, env.c, find_path.c, parse.c, parse.yacc, sudo.c,
19141         testsudoers.c:
19142         Use strlc{at,py} for paranoia's sake and exit on overflow. In all
19143         cases the strings were either pre-allocated to the correct size of
19144         length checks were done before the copy but a little paranoia can go
19145         a long way.
19146         [e73d28f1d14e]
19147
19148         * sudo.h:
19149         Add strlc{at,py} protos
19150         [748ffc7fc7f4]
19151
19152         * env.c, interfaces.c:
19153         Use erealloc3()
19154         [47f2cb46aba8]
19155
19156         * configure:
19157         regen
19158         [e7e2fb79f935]
19159
19160         * alloc.c:
19161         Oflow test of nmemb > SIZE_MAX / size is fine (don't need >=). Use
19162         memcpy() instead of strcpy() in estrdup() so this is strcpy()-free.
19163         [7e0fa4d6fc1d]
19164
19165         * sudo.c:
19166         snprintf() a uid as %lu, not %ld to match the MAX_UID_T_LEN test in
19167         configure.
19168         [09ea4d3959e9]
19169
19170         * aclocal.m4:
19171         In MAX_UID_T_LEN test cast uid_t to unsigned long, just unsigned.
19172         [31b4fdfdb8bf]
19173
19174 2003-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19175
19176         * sudo.c:
19177         Use snprintf() for paranoia
19178         [a2659ceb46de]
19179
19180         * parse.yacc:
19181         Use emalloc2 and erealloc3
19182         [90a069842401]
19183
19184         * Makefile.in:
19185         strlc{at,py} for those w/o it
19186         [bac82dc916ee]
19187
19188         * strlcat.c, strlcpy.c:
19189         stlc{at,py} for those w/o it.
19190         [ce7254f5db09]
19191
19192         * config.h.in, configure, configure.in:
19193         Add stlc{at,py} for those w/o it.
19194         [00f08219657a]
19195
19196         * alloc.c, sudo.h:
19197         Add erealloc3(), a realloc() version of emalloc2().
19198         [c96eaf08bbed]
19199
19200         * interfaces.c, sudo.c:
19201         Use emalloc2() to allocate N things of a certain size.
19202         [1e0aba365555]
19203
19204         * alloc.c, sudo.h:
19205         Add emalloc2() -- like calloc() but w/o the bzero and with
19206         error/oflow checking.
19207         [292150bc4153]
19208
19209         * alloc.c:
19210         Error out on malloc(0); suggested by theo
19211         [995279e81326]
19212
19213 2003-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19214
19215         * configure, configure.in:
19216         fix a typo; David Krause
19217         [f161213a17ab]
19218
19219 2003-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19220
19221         * sudo.pod:
19222         fix typo
19223         [3ae5ad9a351a]
19224
19225 2003-03-04  Todd C. Miller  <Todd.Miller@courtesan.com>
19226
19227         * env.c:
19228         Remove DYLD_ from the environment for MacOS X; from bbraun
19229         [38caad5a3935]
19230
19231 2003-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19232
19233         * config.h.in, configure.in:
19234         not not; Anil Madhavapeddy
19235         [d4f4f0bfc66b]
19236
19237 2003-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
19238
19239         * sudo.pod, sudoers.pod, visudo.pod:
19240         typos; jmc@openbsd.org
19241         [868c0f09bf9e]
19242
19243 2003-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19244
19245         * parse.yacc:
19246         Add some missing ';' rule terminators that bison warns about.
19247         [535b0b8dcce5]
19248
19249         * config.sub:
19250         fix typo I introduced in last merge
19251         [81db4e4f43fe]
19252
19253         * configure:
19254         regenerate with autoconf 2.57
19255         [ca0c1e9564f8]
19256
19257         * config.h.in:
19258         Add missing "$HOME"
19259         [209186197ad1]
19260
19261         * configure.in:
19262         Add some more square backets to make autoconf 2.57 happy
19263         [b5639c14faf7]
19264
19265         * config.sub, mkinstalldirs:
19266         Updates from autoconf-2.57
19267         [36be35eb331b]
19268
19269         * config.guess:
19270         Updates from autoconf-2.57
19271         [ea0f8ca622af]
19272
19273 2003-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19274
19275         * sudo.tab.h:
19276         regen
19277         [13a65a421567]
19278
19279         * lex.yy.c, sudo.tab.c:
19280         regen
19281         [0b529db7cb6d]
19282
19283         * parse.lex, parse.yacc, sudoers.pod:
19284         Add support for Defaults>RunasUser
19285         [20d726373175]
19286
19287 2003-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19288
19289         * visudo.c:
19290         fclose() yyin after each yyparse() is done and use fopen() instead
19291         of using freopen().
19292         [587f8a2df857]
19293
19294         * parse.lex:
19295         Better fix for sudoers files w/o a newline before EOF. It looks
19296         like the issue is that yyrestart() does not reset the start
19297         condition to INITIAL which is an issue since we parse sudoers
19298         multiple times.
19299         [920f8326968a]
19300
19301 2003-01-06  Todd C. Miller  <Todd.Miller@courtesan.com>
19302
19303         * parse.lex:
19304         Work around what appears to be a flex bug when dealing with files
19305         that lack a final newline before EOF. This adds a rule to match EOF
19306         in the non-initial states which resets the state to INITIAL and
19307         throws an error.
19308         [b94943bb1f81]
19309
19310         * visudo.c:
19311         o The parser needs sudoers to end with a newline but some editors
19312         (emacs) may not add one. Check for a missing newline at EOF and
19313         add one if needed. o Set quiet flag during initial sudoers parse (to
19314         get options) o Move yyrestart() call and always use freopen() to
19315         open yyin after initial sudoers parse.
19316         [12d12f9b07aa]
19317
19318 2002-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19319
19320         * set_perms.c:
19321         Fix pasto/thinko in setresgid()/setregid() usage. Want to set
19322         effective gid, not real gid, when reading sudoers.
19323         [c7d18b810fcd]
19324
19325         * set_perms.c:
19326         don't compile set_perms_posix if we have setreuid or setresuid
19327         [b9cea7a81a29]
19328
19329 2002-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
19330
19331         * sudo.pod, sudoers.pod:
19332         document new prompt escapes
19333         [2f088076b640]
19334
19335         * check.c:
19336         Add %U and %H escapes and redo prompt rewriting. "%%" now gets
19337         collapsed to "%" as was originally intended. This also gets rid of
19338         lastchar (does lookahead instead of lookback) which should simplify
19339         the logic slightly.
19340         [4b707b77b3c7]
19341
19342 2002-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19343
19344         * tgetpass.c:
19345         Write the prompt *after* turning off echo to avoid some password
19346         characters being echoed on heavily-loaded machines with fast
19347         typists.
19348         [d38c57775915]
19349
19350         * config.sub:
19351         Add support for mipseb; wiz@danbala.tuwien.ac.at
19352         [cfdac87ed5c8]
19353
19354         * configure.in:
19355         Fix IRIX fallout from name changes in man dir/sect Makefile
19356         variables. Patch from erici AT motown DOT cc DOT utexas DOT edu
19357         [9a7618755c23]
19358
19359         * auth/pam.c:
19360         Keep a local copy of tgetpass_flags so we don't add in TGP_ECHO to
19361         the global copy. Problem noted by Peter Pentchev.
19362         [d0a3e189cb06]
19363
19364 2002-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
19365
19366         * sudo.tab.c:
19367         regen
19368         [23b931359087]
19369
19370         * parse.yacc:
19371         Add missing yyerror() calls; YYERROR does not seem to call this for
19372         us.
19373         [0be7aeb3ac57]
19374
19375 2002-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19376
19377         * sudo.c:
19378         fix typo in comment; Pedro Bastos
19379         [d7406c460e99]
19380
19381 2002-11-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19382
19383         * INSTALL:
19384         document --disable-setresuid
19385         [fbd03d03a027]
19386
19387         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
19388         auth/sudo_auth.c:
19389         Sprinkle some volatile qualifiers to prevent over-enthusiastic
19390         optimizers from removing memset() calls.
19391         [5370ac0e6129]
19392
19393         * logging.c, parse.yacc:
19394         minor sign fixes pointed out by gcc -Wsign-compare
19395         [db872438337f]
19396
19397         * set_perms.c, sudo.c, sudo.h:
19398         Revamp set_perms. We now use a version based on setresuid() or
19399         setreuid() when possible since that allows us to support the
19400         stay_setuid option and we always know exactly what the semantics
19401         will be (various Linux kernels have broken POSIX saved uid support).
19402         [523bc212396c]
19403
19404         * config.h.in, configure:
19405         regen from configure.in
19406         [351877ea2624]
19407
19408         * configure.in:
19409         Add checks for setresuid() and a way to disable using it
19410         [a5b21653d169]
19411
19412         * compat.h:
19413         No long need to emulate set*[ug]id() via setres[ug]id() or
19414         setre[ug]id(). The new set_perms stuff only uses things it knows are
19415         there.
19416         [47884bd5d1d9]
19417
19418         * sudo.c:
19419         Before exec, restore state of signal handlers to be the same as when
19420         we were initialy invoked instead of just reseting to SIG_DFL. Fixes
19421         a problem when using sudo with nohup. Based on a patch from Paul
19422         Markham.
19423         [f8f5a1484faa]
19424
19425         * sudo.c:
19426         o timestamp_uid should be uid_t, not int o clarify error message
19427         when sudo is run by root and no_root_sudo is set
19428         [19dda0734264]
19429
19430 2002-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
19431
19432         * README:
19433         update ftp link for bison
19434         [98bc191016e3]
19435
19436 2002-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19437
19438         * set_perms.c:
19439         Error out if setusercontext() fails and the runas user is not root.
19440         [089f9ade4686]
19441
19442 2002-05-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19443
19444         * auth/securid5.c:
19445         Fix rcsid
19446         [07e9e85dcc2f]
19447
19448         * configure.in:
19449         Fix SecurID API test
19450         [5ec201f454a5]
19451
19452 2002-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19453
19454         * env.c:
19455         typo in comment
19456         [9d385c9ac533]
19457
19458         * configure.in:
19459         securid5 stuff needs pthreads. Just adding -lpthread is suboptimal
19460         but I don't see a better way at the moment.
19461         [f89e55cbb313]
19462
19463         * Makefile.in, auth/securid5.c:
19464         SecurID API version 5 support from Michael Stroucken
19465         [68500ac7e531]
19466
19467         * configure.in:
19468         Add check for SecurID 5.0 API
19469         [1ee242e6de6b]
19470
19471 2002-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19472
19473         * strerror.c:
19474         We actually do still need config.h to get the 'const' definition for
19475         K&R C.
19476         [d9c982032d85]
19477
19478 2002-05-05  Todd C. Miller  <Todd.Miller@courtesan.com>
19479
19480         * configure:
19481         regen with autoconf 2.5.3
19482         [c71fc086eef5]
19483
19484         * configure.in:
19485         Don't set sysconfdir to '/etc' if the user has specified a --prefix.
19486         [d90da1efafd9]
19487
19488         * configure.in:
19489         Some fixes for autoconf 2.53 from Robert Uhl o don't AC_SUBST
19490         LIBOBJS o force a 4th arg for AC_CHECK_HEADER() to workaround a bug
19491         [dd67afefa90d]
19492
19493         * env.c, sudo.c, sudo.h:
19494         No need for dump_badenv() now that dump_defaults() knows how to dump
19495         lists.
19496         [6bcda468501d]
19497
19498         * BUGS, INSTALL, INSTALL.binary, Makefile.in, README, configure.in,
19499         version.h:
19500         ++version
19501         [44e3b8f95f0b]
19502
19503         * sudoers.pod:
19504         document timestampowner
19505         [37ebd69e9dd1]
19506
19507         * check.c:
19508         Don't call set_perms() when doing timestamp stuff unless
19509         timestamp_uid != 0.
19510         [63a63d41d18c]
19511
19512         * auth/sudo_auth.c, check.c, logging.c, parse.c, set_perms.c, sudo.c,
19513         sudo.h, testsudoers.c:
19514         g/c second arg to set_perms--it is no longer used
19515         [7ac4ce50c612]
19516
19517 2002-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19518
19519         * check.c, set_perms.c, sudo.c, sudo.h:
19520         Add support for non-root timestamp dirs. This allows the timestamp
19521         dir to be shared via NFS (though this is not recommended).
19522         [faa83dd2b7fb]
19523
19524         * def_data.c, def_data.h, def_data.in:
19525         Add timestampowner, "Owner of the authentication timestamp dir"
19526         [d47640d4c86a]
19527
19528 2002-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19529
19530         * env.c:
19531         Don't try to pre-compute the size of the new envp, just allocate
19532         space up front and realloc as needed. Changes to the new env
19533         pointer must all be made through insert_env() which now keeps track
19534         of spaced used and allocates as needed.
19535         [39bc934a9f2c]
19536
19537 2002-04-26  Todd C. Miller  <Todd.Miller@courtesan.com>
19538
19539         * configure:
19540         regen
19541         [0e12c09bb790]
19542
19543         * configure.in:
19544         Fix two typo/pastos; from jrj@purdue.edu
19545         [b718a4bf1181]
19546
19547 2002-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19548
19549         * INSTALL.binary, README:
19550         ++version
19551         [a1e33027278c] [SUDO_1_6_6]
19552
19553         * configure, sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in,
19554         visudo.cat, visudo.man.in:
19555         regen
19556         [19eb2be283ef]
19557
19558         * CHANGES, RUNSON, TODO:
19559         Sync with 1.6.6
19560         [2ff9a9087f63]
19561
19562         * check.c:
19563         The the loop used to expand %h and %u, the lastchar variable was not
19564         being initialized. This means that if the last char in the prompt
19565         is '%' and the first char is 'h' or 'u' a extra copy of the host or
19566         user name would be copied, for which space had not been allocated.
19567         [b2e27197857d]
19568
19569 2002-04-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19570
19571         * BUGS, INSTALL, Makefile.in, configure.in, version.h:
19572         crank version to 1.6.6
19573         [cfd08689e597]
19574
19575         * auth/afs.c:
19576         #undef VOID to get rid of an AFS warning
19577         [b40760564dc1]
19578
19579         * env.c:
19580         Use easprintf instead of emalloc + sprintf for some things.
19581         [e7bfe2e69a03]
19582
19583 2002-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19584
19585         * lex.yy.c, sudo.tab.c:
19586         regen
19587         [35327104383d]
19588
19589         * parse.c, parse.lex, parse.yacc, testsudoers.c:
19590         Remove Chris Jepeway's email address so people don't bug him ;-)
19591         [c03410747a69]
19592
19593 2002-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19594
19595         * sudo.c:
19596         Move endpwent() to be after set_perms(PERM_RUNAS, ...) and also call
19597         endgrent() at the same time.
19598         [28b6097d5d1a]
19599
19600 2002-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19601
19602         * INSTALL:
19603         Make it clear which configure options take arguments.
19604         [38529e7efad0]
19605
19606 2002-01-25  Todd C. Miller  <Todd.Miller@courtesan.com>
19607
19608         * compat.h:
19609         HP-UX 9.x has RLIMIT_* but no RLIM_INFINITY. If there is no
19610         RLIM_INFINITY, just pretend it is -1. This works because we only
19611         check for RLIM_INFINITY and do not set anything to that value.
19612         [53173d34e6eb]
19613
19614 2002-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
19615
19616         * auth/pam.c:
19617         Zero and free allocated memory when there is a conversation error.
19618         [e342133db579]
19619
19620         * auth/bsdauth.c:
19621         Use sigaction() not signal()
19622         [126c2790561f]
19623
19624         * INSTALL:
19625         Mention that some linux kernels have broken POSIX saved ID support
19626         [571ef1a893d3]
19627
19628         * CHANGES:
19629         checkpoint for 1.6.5p2
19630         [9e9e456f7f43]
19631
19632         * configure:
19633         regen
19634         [d53703a46708]
19635
19636         * configure.in:
19637         Add --disable-setreuid flag
19638         [3b9f2679cb55]
19639
19640         * INSTALL:
19641         Document new --disable-setreuid option and change description for
19642         --disable-saved-ids to match new error message.
19643         [14fd3e5f60a5]
19644
19645         * set_perms.c:
19646         fatal() now takes an argument that determines whether or not to call
19647         perror().
19648         [d826b25e62ff]
19649
19650         * TROUBLESHOOTING:
19651         Update for new error messages from set_perms()
19652         [78007c3f76a9]
19653
19654         * PORTING:
19655         Update for new error messages from set_perms()
19656         [60c545a6bcff]
19657
19658 2002-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
19659
19660         * auth/pam.c:
19661         Make this compile w/o warnings
19662         [b90843a29af5]
19663
19664         * auth/pam.c:
19665         Mention that we can't use pam_acct_mgmt()
19666         [1dfc5a6e0479]
19667
19668         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c:
19669         The user's password was not zeroed after use when AIX
19670         authentication, BSD authentication, FWTK or PAM was in use.
19671         [b18fff30b1e7]
19672
19673 2002-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
19674
19675         * auth/pam.c:
19676         Avoid giving PAM a NULL password response, use the empty string
19677         instead. This avoids a log warning when the user hits ^C at the
19678         password prompt when PAM is in use.
19679         [c3315805e4e4]
19680
19681         * auth/pam.c:
19682         Don't check the return value of pam_setcred(). In Linux-PAM 0.75
19683         pam_setcred() returns the last saved return code, not the return
19684         code for the setcred module. Because we haven't called
19685         pam_authenticate(), this is not set and so pam_setcred() returns
19686         PAM_PERM_DENIED.
19687         [73db145fa179]
19688
19689         * Makefile.in:
19690         Don't need a '/' between $(DESTDIR) and a directory.
19691         [0901ca618176]
19692
19693         * Makefile.binary:
19694         Don't need a '/' between $(DESTDIR) and a directory.
19695         [cd7eb6098b87]
19696
19697 2002-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
19698
19699         * configure:
19700         regen
19701         [41b12c039282]
19702
19703         * configure.in:
19704         o BSDi also has a bogus setreuid() o Old FreeBSD has a bogus
19705         setreuid() o new NetBSD has a real setreuid() o add check for
19706         freeifaddrs() if getifaddrs() exists.
19707         [a82ee3b01733]
19708
19709         * config.h.in, interfaces.c:
19710         Older BSDi releases lack freeifaddrs() so add a test for that and if
19711         it is not present just use free().
19712         [6270671ea9d5]
19713
19714 2002-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
19715
19716         * CHANGES, RUNSON:
19717         Checkpoint for 1.6.5p1
19718         [26134ecf9b36]
19719
19720         * auth/passwd.c:
19721         Return AUTH_FAILURE in passwd_init() if skeyaccess() denies access
19722         to normal passwords, not AUTH_FATAL (which just causes an exit).
19723         [785e0f4bc0e2]
19724
19725         * visudo.c:
19726         Don't use memory after it has been freed.
19727         [c60492739fdb]
19728
19729         * auth/passwd.c:
19730         skeyaccess() wants a struct passwd * not a char *; Patch from
19731         Phillip E. Lobbes
19732         [65a1d3806fcd] [SUDO_1_6_5]
19733
19734         * BUGS:
19735         ++version
19736         [b2e1825e692e]
19737
19738         * CHANGES, RUNSON, TODO:
19739         checkpoint for sudo 1.6.5
19740         [d730945622e7]
19741
19742 2002-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
19743
19744         * configure:
19745         regen
19746         [49744c403ac9]
19747
19748         * INSTALL, INSTALL.binary, Makefile.in, README, configure.in:
19749         version 1.6.5
19750         [ec30a5f7fc45]
19751
19752         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
19753         visudo.man.in:
19754         sudo version 1.6.5
19755         [458a3bed535d]
19756
19757         * logging.c:
19758         o when invoking the mailer as root use a hard-coded environment that
19759         doesn't include any info from the user's environment. Basically
19760         paranoia.
19761
19762         o Add support for the NO_ROOT_MAILER compile-time option and run the
19763         mailer as the user and not root if NO_ROOT_MAILER is defined.
19764         [4df351ec92ce]
19765
19766         * set_perms.c, sudo.h:
19767         Bring back PERM_FULL_USER
19768         [edb6039bb284]
19769
19770         * configure:
19771         regen
19772         [3eb2943afa03]
19773
19774         * version.h:
19775         version 1.6.5
19776         [044fc9a0c72b]
19777
19778         * INSTALL, config.h.in, configure.in:
19779         Add --disable-root-mailer option to run the mailer as the user and
19780         not root.
19781         [e9f805397963]
19782
19783         * CHANGES:
19784         checkpoint for 1.6.4p2
19785         [b58aae5aa98a]
19786
19787         * PORTING:
19788         Mention the "seteuid(0): Operation not permitted" problem here too
19789         just for good measure.
19790         [90135b37a691]
19791
19792 2002-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
19793
19794         * env.c, getspwuid.c, sudo.c:
19795         The SHELL environment variable was preserved from the user's
19796         environment instead of being reset based on the passwd database when
19797         the "env_reset" option was used. Now it is reset as it should be.
19798         [300066ef3c71]
19799
19800         * configure:
19801         regen
19802         [a47d779e6552]
19803
19804         * INSTALL, TROUBLESHOOTING, config.h.in, configure.in, set_perms.c,
19805         sudo.c:
19806         Add a configure option to turn off use of POSIX saved IDs
19807         [fb18cc8e94d0]
19808
19809         * configure:
19810         regen
19811         [d4f2f20025b6]
19812
19813         * configure.in:
19814         add --with-efence option
19815         [45c4f33a8e88]
19816
19817         * sudo.c:
19818         Only OR in MODE_RESET_HOME if MODE_RUN is set. Fixes a problem where
19819         "sudo -l" would not work if always_set_home was set.
19820         [c3a6de6c4800]
19821
19822         * lex.yy.c:
19823         regen
19824         [417424452998]
19825
19826         * parse.lex:
19827         Quoted commas were not being treated correctly in command line
19828         arguments.
19829         [753415541b37]
19830
19831         * sudo.c:
19832         o Move the call to rebuild_env() until after MODE_RESET_HOME is set.
19833         Otherwise, the set_home option has no effect.
19834
19835         o Fix use of freed memory when the "fqdn" flag is set. This was
19836         introduced by the fix for the "segv when gethostbynam() fails" bug.
19837         Also, we no longer call set_fqdn() if the "fqdn" flag is not set so
19838         there is no need to check the "fqdn" flag in set_fqdn() itself.
19839         [4b6a4245c04e]
19840
19841         * env.c:
19842         Add 'continue' statements to optimize the switch statement. From
19843         Solar.
19844         [a82c76975ae5]
19845
19846 2002-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
19847
19848         * sudoers.cat, sudoers.man.in:
19849         Regen from new sudoers.pod
19850         [6ecc07b3d0e1] [SUDO_1_6_4]
19851
19852         * sudoers.pod:
19853         Add caveat about stay_setuid flag
19854         [9d228a7bea1b]
19855
19856         * sudo.c:
19857         If set_perms == set_perms_posix and the stay_setuid flag is not set,
19858         set all uids to 0 and use set_perms_fallback().
19859         [c4e54d1ec86f]
19860
19861         * set_perms.c, sudo.h:
19862         Remove PERM_FULL_USER (which is no longer used) and add
19863         PERM_FULL_ROOT (used when exec'ing the mailer).
19864         [15406c522ea2]
19865
19866         * logging.c:
19867         Use set_perms(PERM_FULL_ROOT, 0) before exec'ing the mailer since we
19868         never want to run the mailer setuid.
19869         [2294853e0666]
19870
19871 2002-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
19872
19873         * sudo.cat, sudo.man.in, sudo.pod, visudo.cat, visudo.man.in,
19874         visudo.pod:
19875         Use sudo.ws instead of courtesan.com in URLs
19876         [55204002a308]
19877
19878         * Makefile.binary, Makefile.in:
19879         Fix mansect substitution
19880         [b7b5cbc3aa91]
19881
19882         * Makefile.in:
19883         Substitute man sections in Makefile.binary
19884         [040deb785e56]
19885
19886         * Makefile.binary:
19887         Sync install targets with Makefile.in and substitute in man
19888         sections.
19889         [77882a275281]
19890
19891         * INSTALL, INSTALL.binary:
19892         version is 1.6.4
19893         [0f87aabbcb70]
19894
19895         * Makefile.in:
19896         Repair bindist target
19897         [8d43bfe7e2d1]
19898
19899         * CHANGES:
19900         sync for 1.6.4
19901         [13ca3d4a0a72]
19902
19903 2002-01-10  Todd C. Miller  <Todd.Miller@courtesan.com>
19904
19905         * install-sh:
19906         Fix case where neither whoami nor id are found
19907         [424dd270bc47]
19908
19909 2002-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
19910
19911         * install-sh:
19912         If neither whoami nor id exists, just assume we are root.
19913         [2d2644e42c53]
19914
19915         * alloc.c:
19916         Add explicit cast to (VOID *) on malloc/realloc. Seems to be needed
19917         on AIX which for some reason isn't pulling in the malloc prototype.
19918         [231440d2ee3b]
19919
19920 2002-01-08  Todd C. Miller  <Todd.Miller@courtesan.com>
19921
19922         * Makefile.in, aclocal.m4, compat.h, parse.c, sudo.c:
19923         (c) 2002
19924         [700e3b41a68e]
19925
19926         * CHANGES:
19927         checkpoint
19928         [33e604bd8d5b]
19929
19930         * sudo.c:
19931         Defer assigning new environment until right before the exec.
19932         [f13c49e75c1c]
19933
19934         * parse.c:
19935         kill extra blank line
19936         [12ef22e9dae3]
19937
19938 2002-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
19939
19940         * configure:
19941         regen
19942         [a6cd2d788f74]
19943
19944         * configure.in:
19945         Use -O not -O2 for m88k-motorola-sysv* since motorola gcc-derived
19946         compiler doesn't recognise -O2.
19947         [5234aa543692]
19948
19949         * HISTORY:
19950         Clarify origins of Root Group sudo a bit based on info from
19951         billp@rootgroup.com
19952         [4deef01c4208]
19953
19954 2002-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
19955
19956         * LICENSE:
19957         2002
19958         [6c8e089dbd1a]
19959
19960         * CHANGES:
19961         checkpoint for 1.6.4rc1
19962         [3349eb87a49f]
19963
19964 2002-01-02  Todd C. Miller  <Todd.Miller@courtesan.com>
19965
19966         * config.h.in:
19967         now generated via autoheader
19968         [84657d303cb9]
19969
19970         * configure:
19971         regen
19972         [207bfa6a13f6]
19973
19974         * compat.h:
19975         Move in some stuff that was previously in config.h.
19976         [e576d8b6480f]
19977
19978         * aclocal.m4, configure.in:
19979         Add info for autoheader.
19980         [0549cd5da27c]
19981
19982 2002-01-01  Todd C. Miller  <Todd.Miller@courtesan.com>
19983
19984         * Makefile.in:
19985         o Add DESTDIR support o Use -M, -O, and -G instead of -m, -o, and
19986         -g to facilitate non-root installs
19987         [619216038f56]
19988
19989         * install-sh:
19990         Add -M option (like -m but only for root) If we can't find "whoami",
19991         use "id" w/ some sed.
19992         [b39121c8b792]
19993
19994         * configure:
19995         regen
19996         [b39b93ff9804]
19997
19998         * configure.in:
19999         allow user to always override mansectsu and mansectform
20000         [0fca5e63bd90]
20001
20002 2001-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20003
20004         * mkinstalldirs:
20005         update from autoconf 2.52
20006         [07bd75a508c3]
20007
20008         * config.guess, config.sub:
20009         Update from autoconf 2.52
20010         [857b90fe31b7]
20011
20012         * configure:
20013         regen with autoconf 2.52
20014         [08e7d1ea2aeb]
20015
20016         * configure.in:
20017         o Call AC_PROG_CC_STDC to find out how to run the compiler in ANSI
20018         mode o Remove compiler-specific checks for HP-UX now that we use
20019         AC_PROG_CC_STDC
20020         [d433a70b6208]
20021
20022         * RUNSON:
20023         Checkpoint
20024         [babf6d2235d1]
20025
20026         * auth/pam.c:
20027         o Add pam_prep_user function to call pam_setcred() for the target
20028         user; on Linux this often sets resource limits. o When calling
20029         pam_end(), try to convert the auth->result to a PAM_FOO value.
20030         This is a hack--we really need to stash the last PAM_FOO value
20031         received and use that instead.
20032         [6ad6f340dd2a]
20033
20034         * set_perms.c, sudo.h:
20035         o Add pam_prep_user function to call pam_setcred() for the target
20036         user; on Linux this often sets resource limits.
20037         [67795421ac82]
20038
20039         * env.c:
20040         Fix off by one error in number of bytes allocated via malloc (does
20041         not affected any released version of sudo).
20042         [5f5915360111]
20043
20044 2001-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20045
20046         * lex.yy.c:
20047         regen
20048         [8208c0277775]
20049
20050         * parse.lex:
20051         Allow '@', '(', ')', ':' in arguments to a defaults variable w/o
20052         requiring that they be quoted.
20053         [ae59bc8f68dd]
20054
20055         * sudoers.cat, sudoers.man.in, sudoers.pod:
20056         Mention that no double quotes are needed when
20057         adding/deleting/assigning a single value to a list.
20058         [25efc940a1f0]
20059
20060         * Makefile.in:
20061         Don't rely on mkdefaults being executable, call perl explicitly.
20062         [6edc97ba5f1d]
20063
20064         * sudo.tab.c:
20065         regen
20066         [49130b2e7e4d]
20067
20068         * parse.yacc:
20069         Remove some XXX that are no longer relevant.
20070         [d460ac0d3767]
20071
20072         * defaults.c:
20073         o Roll our own loop instead of using strpbrk() for better
20074         grokability o When adding to a list we must malloc() and use
20075         memcpy(), not strdup() since we must only copy len bytes from str.
20076         [649bef08e1f0]
20077
20078 2001-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
20079
20080         * sudo.tab.c:
20081         regen
20082         [f0bbf2c38c0e]
20083
20084         * parse.yacc:
20085         typo in comment
20086         [2563711ff593]
20087
20088 2001-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20089
20090         * CHANGES:
20091         checkpoint
20092         [a6d8a29fb30e]
20093
20094         * configure:
20095         regen
20096         [bdfcaaf3bd13]
20097
20098         * configure.in:
20099         avoid the -g flag unless --with-devel was specified
20100         [a976707bef30]
20101
20102         * Makefile.in:
20103         mkdefaults, def_data.in and sigaction.c were missing from the
20104         tarball
20105         [6917ffbaa412]
20106
20107         * Makefile.in:
20108         def_data.c was missing
20109         [87c78b11453d]
20110
20111 2001-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20112
20113         * env.c:
20114         Fix setting of $USER and $LOGNAME in the non-reset_env case. Also
20115         allow HOME, SHELL, LOGNAME, and USER to be specified in keep_env
20116         [fc8698e6a45e]
20117
20118         * TODO:
20119         Another TODO item
20120         [6f251d6cd466]
20121
20122         * sudoers:
20123         Add comment for Default section so folks know where it should go.
20124         [7edba626f392]
20125
20126 2001-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20127
20128         * tgetpass.c:
20129         Use TCSETAF, not TCSETA to set terminal in termio case
20130         [fbd172f6c5d3]
20131
20132         * sudoers.cat, sudoers.man.in:
20133         regen from sudoers.pod
20134         [64edd2de816e]
20135
20136         * sudoers.pod:
20137         o Typo, Runas_User_List should be Runas_List o a User_List can not
20138         contain a uid o mention that the Defaults section should come after
20139         Alias definitions but before the user specifications
20140         [54070ba2092b]
20141
20142 2001-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20143
20144         * sudoers.cat, sudoers.man.in:
20145         regen
20146         [e62d1d97693c]
20147
20148         * sudoers.pod:
20149         Fix listpw and verifypw sections, they were not being formatted
20150         properly.
20151         [123868c2f3e9]
20152
20153         * sudoers.cat, sudoers.man.in:
20154         regen
20155         [f94841f8b374]
20156
20157         * sudoers.pod:
20158         fix typos
20159         [f278f1c1184e]
20160
20161         * configure:
20162         regen
20163         [d2270049ba9f]
20164
20165         * config.h.in, configure.in:
20166         use AC_SYS_POSIX_TERMIOS instead of rolling our own
20167         [c1a13f1354b9]
20168
20169         * README:
20170         Reference sudo.ws not courtesan.com
20171         [ca13be67ebd7]
20172
20173         * PORTING:
20174         Add notes on shadow passwords
20175         [aa13863f2314]
20176
20177         * BUGS:
20178         In list mode (sudo -l), characters escaped with a backslash are
20179         shown verbatim with the backslash.
20180         [1a75a2858be2]
20181
20182         * sudoers:
20183         Add simple examples from OpenBSD (Marc Espie)
20184         [3ae9a9ae4125]
20185
20186         * tgetpass.c:
20187         Catch SIGTTIN and SIGTTOU too and treat them like SIGTSTP.
20188         [f8817699ee10]
20189
20190         * CHANGES:
20191         minor prettyification
20192         [f523587929b9]
20193
20194         * CHANGES:
20195         Updated change log
20196         [39d9010ee7a8]
20197
20198         * testsudoers.c:
20199         Fix CIDR handling here too.
20200         [c91db8344c32]
20201
20202         * auth/pam.c:
20203         Apparently a NULL response is OK
20204         [83bae61078d9]
20205
20206         * TODO:
20207         Checkpoint for upcoming beta release
20208         [efb95c09df2a]
20209
20210         * TROUBLESHOOTING:
20211         Many people believe that adding a runas spec should obviate the need
20212         for the -u flag. It does not.
20213         [c698bad85b0e]
20214
20215         * RUNSON:
20216         checkpoint update for upcoming 1.6.4 beta
20217         [009e465a0a45]
20218
20219         * config.h.in:
20220         o Add HAVE_STDLIB_H and HAVE_MEMORY_H o Define HAVE_STRINGS_H even
20221         if HAVE_STRING_H is defined -- this is safe now
20222         [d27c035f4e14]
20223
20224         * PORTING:
20225         Add signals section
20226         [2d24c13cb3c8]
20227
20228         * configure:
20229         regen
20230         [2b80a939e2ed]
20231
20232         * configure.in:
20233         Fix check for sigaction_t
20234         [6fa41c89ab20]
20235
20236         * sudo.c:
20237         XXX - should call find_path() as runas user, not root. Can't do
20238         that until the parser changes though.
20239         [f0b4f85651bd]
20240
20241         * sudo.c:
20242         If find_path() fails as root, try again as the invoking user (useful
20243         for NFS). Idea from Chip Capelik.
20244         [e03fa7872692]
20245
20246         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in:
20247         Regenerate after pod file changes
20248         [48e4bd75ec21]
20249
20250         * def_data.c, def_data.h, def_data.in, set_perms.c, sudo.c, sudo.h,
20251         sudo.pod, sudoers.pod:
20252         Add new sudoers option "preserve_groups". Previously sudo would not
20253         call initgroups() if the target user was root. Now it always calls
20254         initgroups() unless the -P command line option or the
20255         "preserve_groups" sudoers option is set. Idea from TJ Saunders.
20256         [4f730359f101]
20257
20258 2001-12-14  Todd C. Miller  <Todd.Miller@courtesan.com>
20259
20260         * compat.h, config.h.in:
20261         Use new HAVE_SIGACTION_T define
20262         [dfb25f3cae5b]
20263
20264         * logging.c:
20265         Fix compilation on K&C
20266         [7355e3275e34]
20267
20268         * configure:
20269         regen
20270         [a710584f92f0]
20271
20272         * configure.in:
20273         Add check for sigaction_t -- IRIX already defines this so don't
20274         redefine it.
20275         [df9c5737f6da]
20276
20277         * snprintf.c:
20278         fix typo
20279         [3d782b8134c8]
20280
20281         * interfaces.c:
20282         need stdlib.h here too
20283         [c789d8973ab2]
20284
20285         * configure:
20286         regen
20287         [44822856bf46]
20288
20289         * configure.in:
20290         Remove redundant checks for string.h, strings.h and unistd.h
20291         [933c94f8bbf4]
20292
20293         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
20294         visudo.man.in:
20295         Regen from pod files
20296         [ad18c590f638]
20297
20298         * BUGS:
20299         Update for 1.6.4
20300         [26bc88b69d22]
20301
20302         * configure, lex.yy.c, sudo.tab.c:
20303         regen
20304         [bef89fd6fa2d]
20305
20306         * strerror.c:
20307         Return EINVAL if errnum > sys_nerr
20308         [0512374e6661]
20309
20310         * auth/sudo_auth.h:
20311         o Update copyright year
20312         [a877016db6e2]
20313
20314         * LICENSE, Makefile.binary, Makefile.in, aclocal.m4, compat.h,
20315         config.h.in, defaults.h, interfaces.h, pathnames.h.in, sudo.h,
20316         sudo.pod:
20317         o Update copyright year
20318         [e15a1b39039f]
20319
20320         * configure.in:
20321         o Don't define STDC_HEADERS unconditionally for IRIX o Update
20322         copyright year
20323         [82a8cb819e07]
20324
20325         * README:
20326         update version
20327         [d82e523a16b4]
20328
20329         * auth/afs.c, auth/aix_auth.c, auth/bsdauth.c, auth/dce.c,
20330         auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
20331         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
20332         auth/sudo_auth.c, logging.c, parse.c, parse.lex, parse.yacc,
20333         set_perms.c, snprintf.c, sudo.c, testsudoers.c, tgetpass.c, utime.c,
20334         visudo.c:
20335         o Reorder some headers and use STDC_HEADERS define properly o Update
20336         copyright year
20337         [fe39f76b3795]
20338
20339         * lsearch.c:
20340         o Reorder some headers and use STDC_HEADERS define properly o Update
20341         copyright year
20342         [764ba3d4fa13]
20343
20344         * getspwuid.c, goodpath.c, interfaces.c:
20345         o Reorder some headers and use STDC_HEADERS define properly o Update
20346         copyright year
20347         [fb46d46140d4]
20348
20349         * getcwd.c:
20350         o Reorder some headers and use STDC_HEADERS define properly o Update
20351         copyright year
20352         [b199d70ac7ab]
20353
20354         * alloc.c, check.c, defaults.c, env.c, fileops.c, find_path.c,
20355         fnmatch.c:
20356         o Reorder some headers and use STDC_HEADERS define properly o Update
20357         copyright year
20358         [dab8f192a3ed]
20359
20360         * configure:
20361         regen
20362         [156658f25cea]
20363
20364         * tgetpass.c:
20365         flags set in signal handlers should be volatile sig_atomic_t
20366         [c22931a5535e]
20367
20368         * config.h.in, configure.in:
20369         Add checks for volatile and sig_atomic_t
20370         [b03b3341381d]
20371
20372         * configure, lex.yy.c:
20373         regen
20374         [ed9daba88217]
20375
20376         * def_data.c, def_data.h, def_data.in, defaults.c, env.c, find_path.c,
20377         sudo.c, sudoers.pod:
20378         Remove "secure_path" Defaults option since it cannot work with the
20379         existing parser.
20380         [c9e54a0f5971]
20381
20382         * find_path.c, sudo.c:
20383         Unset "secure_path" if user_is_exempt()
20384         [fb7544565ae8]
20385
20386         * env.c, pathnames.h.in:
20387         o Remove assumption that PATH and TERM are not listed in env_keep o
20388         If no PATH is in the environment use a default value o If TERM is
20389         not set in the non-reset case also give it a default value.
20390         [c987eb7df268]
20391
20392         * aclocal.m4, configure.in, defaults.c, pathnames.h.in:
20393         _PATH_SENDMAIL -> _PATH_SUDO_SENDMAIL so --without-sendmail works on
20394         systems that define in paths.h
20395         [51865b0cdebf]
20396
20397         * auth/passwd.c, auth/sudo_auth.c, auth/sudo_auth.h:
20398         Add support for skeyaccess(3) if it is present in libskey.
20399         [8add77c7d3e7]
20400
20401 2001-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20402
20403         * sudo.c:
20404         Only need to do 'lc = login_getclass(NULL)' if lc == NULL
20405         [5a3d3cbf2c6d]
20406
20407         * parse.lex:
20408         '\\' is a perfectly legal character to have in a command line
20409         argument.
20410         [c15a466ef00e]
20411
20412         * sudo.c:
20413         o Defer call to set_fqdn() until it is safe to use log_error() o
20414         Don't print errno string value if gethostbyname fails, it is not
20415         relevant
20416         [c0c6bcf08bcb]
20417
20418         * parse.c:
20419         Fix CIDR -> in_addr_t conversion.
20420         [2f307ebeb63f]
20421
20422 2001-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20423
20424         * sudoers.pod:
20425         Remove an extra "User_List" in the User_Spec definition From
20426         ybertrand AT snoopymail.com
20427         [97bde59ea280]
20428
20429         * parse.c:
20430         Make 'listpw=never' work for users who are not explicitly mentioned
20431         in sudoers.
20432         [258f0f30a428]
20433
20434         * sudoers.pod:
20435         Remove gratuitous '=' in EBNF grammar; era AT iki.fi
20436         [4b0f03872ee1]
20437
20438         * sudoers.pod:
20439         Document new list Defaults type and convert env_keep and env_delete
20440         to lists. Document new env_check option.
20441         [a07f1f079fe3]
20442
20443         * lex.yy.c, sudo.tab.c, sudo.tab.h:
20444         regen parser
20445         [e39ac6c6581b]
20446
20447         * parse.lex:
20448         Don't let '#' appear in a {WORD} and restrict #foo in a Runas spec
20449         to #[0-9-]+.
20450         [69c5388908f3]
20451
20452         * configure:
20453         regen
20454         [0f1877b88cb3]
20455
20456         * aclocal.m4:
20457         Simpler SUDO_FUNC_ISBLANK that uses AC_TRY_LINK
20458         [6545503ae361]
20459
20460         * config.h.in, configure.in:
20461         Add check for skeyaccess(3)
20462         [6caf69fe6359]
20463
20464         * visudo.pod:
20465         Document new -c, -f, and -q options
20466         [13d0203c21d3]
20467
20468         * visudo.c:
20469         o Add -f option (alternate sudoers file) o Convert to use getopt(3)
20470         [4c2b664d617d]
20471
20472         * configure:
20473         regen
20474         [6d5bd932e7b5]
20475
20476         * aclocal.m4, config.h.in, configure.in:
20477         Add check for isblank and a replacement macro if it doesn't exist.
20478         [b524f5e4f953]
20479
20480 2001-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20481
20482         * visudo.c:
20483         In check-only mode, don't create sudoers if it does not already
20484         exist.
20485         [c748a2d5acad]
20486
20487         * parse.yacc:
20488         o Add a new token, DEFVAR, to indicate a Defaults variable name o
20489         Add support for "+=" and "-=" list operators o replace some 1 and 0
20490         with TRUE and FALSE for greater legibility.
20491         [554cb174b37e]
20492
20493         * parse.lex:
20494         o Use exclusive start conditions to remove some ambiguity in the
20495         lexer. Also reorder some things for clarity. o Add support for
20496         "+=" and "-=" list operators. o Use the new DEFVAR token to denote
20497         a Defaults variable name.
20498         [3a2cf8323e26]
20499
20500         * sudo.h:
20501         Prototype init_envtables()
20502         [b74916469dab]
20503
20504         * env.c:
20505         o Convert environment handling to use lists instead of strings.
20506         This greatly simplifies routines that need to do "foreach" type
20507         operations. o Add new init_envtables() function to set env_check
20508         and env_delete defaults based on initial_badenv_table and
20509         initial_checkenv_table (formerly sudo_badenv_table).
20510         [0a8b404658b6]
20511
20512         * defaults.c, defaults.h:
20513         o Add a new LIST type and functions to manipulate it. o This is for
20514         use with environment handling variables. o Call new
20515         init_envtables() routine inside init_defaults() to initialize the
20516         environment lists.
20517         [ae73e64f0902]
20518
20519         * def_data.c, def_data.h, def_data.in:
20520         Convert environment options to use the new LIST type and add a new
20521         one, env_check that only deletes if the sanity check fails.
20522         [3019503936de]
20523
20524         * testsudoers.c:
20525         Add dummy version of init_envtables()
20526         [9d9e3ee609d9]
20527
20528         * parse.yacc:
20529         honor quiet mode
20530         [8330fba6167c]
20531
20532         * visudo.c:
20533         Add check-only mode
20534         [dab411bc8c35]
20535
20536         * mkdefaults:
20537         Fix generation of entries with NULL descriptions.
20538         [ea75b9fed02e]
20539
20540 2001-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20541
20542         * tgetpass.c:
20543         Use sigaction_t and quiet a gcc warning.
20544         [6f67d719c452]
20545
20546         * sudo.c:
20547         Must reset signal handlers before we exec
20548         [300418120e1a]
20549
20550         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
20551         auth/sudo_auth.c:
20552         Be carefule now that tgetpass() can return NULL (user hit ^C). PAM
20553         version needs testing. Set SIGTSTP to SIG_DFL during password entry
20554         so user can suspend us.
20555         [00304aa58747]
20556
20557         * tgetpass.c:
20558         Add support for interrupting/suspending tgetpass via keyboard input.
20559         If you suspend sudo from the password prompt and resume it will re-
20560         prompt you.
20561         [4af2b5101d32]
20562
20563         * sudo.c:
20564         Don't block keyboard interrupt signals, just set them to SIG_IGN.
20565         [d46d7f67ef6b]
20566
20567 2001-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
20568
20569         * config.h.in:
20570         add back HAVE_SIGACTION
20571         [c9c7702c603e]
20572
20573         * configure:
20574         regen
20575         [09fe669d337f]
20576
20577         * config.h.in, configure.in, logging.c, sudo.c, visudo.c:
20578         Kill POSIX_SIGNALS define and old signal support now that we emulate
20579         POSIX ones Also be sure to correctly initialize struct sigaction.
20580         [4bc2a6dbb2be]
20581
20582         * strerror.c:
20583         Don't need config.h or "#ifndef HAVE_STRERROR" wrapper.
20584         [1ad64a19f328]
20585
20586         * compat.h:
20587         Add scaffolding for POSIX signal emulation
20588         [945861d4c93b]
20589
20590         * sigaction.c:
20591         o Add missing ';' so this compiles o Can't use NULL since we don't
20592         include stdio.h
20593         [04d0cac7438f]
20594
20595         * sigaction.c:
20596         Emulate sigaction() using sigvec()
20597         [d0b54a989875]
20598
20599 2001-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20600
20601         * sudoers.pod:
20602         Document new behavior of negative values of timestamp_timeout Fix a
20603         typo
20604         [4c0716570d01]
20605
20606         * sudo.pod:
20607         Add security note about command not being logged after 'sudo su' and
20608         friends.
20609         [43294851a33c]
20610
20611         * sudo.pod:
20612         Mention that -V prints default values when run as root, including
20613         the list of environment variables to clear.
20614         [d9e5e550a8c3]
20615
20616         * Makefile.in:
20617         Run pod2man with --quotes=none to avoid stupid quoting of C<>
20618         entries.
20619         [997b23c35dbe]
20620
20621 2001-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
20622
20623         * auth/sudo_auth.c, def_data.c, def_data.h, def_data.in, sudoers.pod:
20624         Add mail_badpass option Also modify mail_always behavior to also
20625         send mail when the password is wrong
20626         [838d40ccafce]
20627
20628         * env.c, sudo.c, sudo.h:
20629         Dump default bad env table when 'sudo -V' is run by root.
20630         [f67f1b8048b0]
20631
20632         * sudoers.pod:
20633         document env_delete
20634         [d74f893663a2]
20635
20636         * env.c:
20637         Add support for '*' in env_keep when not resetting the environment
20638         (ie: the normal case).
20639         [fd4fb62ea8fd]
20640
20641         * env.c:
20642         Add env_delete variable that lets the user replace/add to the
20643         bad_env_table. Allow '*' wildcard in env_keep entries.
20644         [aa728bc35e29]
20645
20646 2001-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
20647
20648         * mkinstalldirs:
20649         Force umask to 022 to guarantee sane directory permissions.
20650         [9ab3cfe70569]
20651
20652 2001-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20653
20654         * Makefile.in:
20655         add sudo.tab.h and sudo.tab.c to sudo.tab.o dependency
20656         [671010465e6f]
20657
20658         * mkdefaults:
20659         fix breakage in last commit
20660         [8318f8851e56]
20661
20662         * Makefile.in:
20663         acsite.m4 -> aclocal.m4
20664         [30c146873a01]
20665
20666         * check.c:
20667         fix I_TS_TIMEOUT vs. I_TIMESTAMP_TIMEOUT pasto in previous commit
20668         [4dc8b39954da]
20669
20670         * def_data.c:
20671         regenerated from def_data.in
20672         [915ea16ce1eb]
20673
20674         * check.c, defaults.c, defaults.h:
20675         Add new T_UINT type that most things use instead of T_INT If
20676         timestamp_timeout is < 0 then treat the ticket as never expiring (to
20677         be expired manually by the user).
20678         [3a3a636a2a5d]
20679
20680         * def_data.in:
20681         change most T_INT -> T_UINT
20682         [a2228d2457af]
20683
20684         * mkdefaults:
20685         fix warning when no args
20686         [ca70a5394af5]
20687
20688         * visudo.c:
20689         Change 2 Exit() -> exit() Avoid stdio in Exit() and call _exit() if
20690         we are a signal handler. We no longer print the signal number but
20691         the user can just check the exit value for that.
20692         [dc424f631fef]
20693
20694 2001-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
20695
20696         * logging.c:
20697         when setting up pipes in child process check for case where stdin ==
20698         pipe fd 0
20699         [518112d76184]
20700
20701 2001-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
20702
20703         * visudo.c:
20704         Ignore editor exit value since XPG4 says vi's exit value is the
20705         count of editing errors made (failed searches, etc).
20706         [b9d952284865]
20707
20708 2001-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
20709
20710         * configure:
20711         regen
20712         [cb3aa586f03b]
20713
20714         * configure.in:
20715         sco now is identified by config.guess as *-sco-*
20716         [46664bbdea61]
20717
20718         * configure.in:
20719         Check for getspnam() in -lgen if not in -lc for UnixWare.
20720         [0f152ad1ba93]
20721
20722 2001-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
20723
20724         * sudoers.pod, visudo.pod:
20725         "upper case" -> "uppercase"
20726         [f9151f232326]
20727
20728         * sudoers.pod:
20729         fix typos and grammar; pjanzen@foatdi.harvard.edu
20730         [2855d73d0237]
20731
20732 2001-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
20733
20734         * sudoers.pod:
20735         Missing word (specify); krapht@secureops.com
20736         [65523eb37a2c]
20737
20738 2001-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20739
20740         * sudo.c:
20741         If we fail to lookup a login class, apply the default one.
20742         [d4869faa6816]
20743
20744         * logging.c:
20745         In log_error() free message, not logline unconditionally, then free
20746         logline if it is not the same as message. No function change but
20747         this mirrors how they are allocated.
20748         [565e5f6cc643]
20749
20750 2001-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20751
20752         * configure:
20753         regenerate
20754         [834a48f548a2]
20755
20756         * configure.in:
20757         remove some backslash quotes that are unneeded
20758         [50d401d6e2ca]
20759
20760         * configure.in:
20761         o Tweaks to make this work with autoconf-2.50 o Use AC_LIBOBJ
20762         instead of changing LIBOBJS directly o Use AC_REPLACE_FUNCS where we
20763         can o Use AC_CHECK_FUNCS instead of AC_CHECK_FUNC so we don't have
20764         to AC_DEFINE things manually.
20765         [f502c5f15f92]
20766
20767         * config.guess, config.sub:
20768         Updated from autoconf-2.50
20769         [6140205915ef]
20770
20771 2001-05-22  Todd C. Miller  <Todd.Miller@courtesan.com>
20772
20773         * README:
20774         Update mailing list section. We use mailman now, not majordomo.
20775         [b9a8ca45e6dc]
20776
20777 2001-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
20778
20779         * getspwuid.c, logging.c, sudo.c:
20780         Use setpwent()/endpwent() + all the shadow variants to make sure we
20781         don't inadvertantly leak an fd to the child. Apparently Linux's
20782         shadow routines leave the fd open even if you don't call setspent().
20783         Reported by mike@gistnet.com; different patch used.
20784         [d33792ef6c01]
20785
20786 2001-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20787
20788         * sudoers.pod:
20789         s/eg./e.g./
20790         [bd32a0acaf93]
20791
20792         * tgetpass.c:
20793         select() may return EAGAIN. If so, continue like we do for EINTR.
20794         [5f202c943818]
20795
20796         * logging.c:
20797         Fix a non-exploitable buffer overflow in the word splitting code.
20798         This should really be rewritten.
20799         [4c724363863a]
20800
20801         * Makefile.in:
20802         FAQ link goes away
20803         [1d26dd6c8972]
20804
20805         * INSTALL:
20806         Tell people to look in sample.syslog.conf for examples, not FAQ
20807         [affcae3f43ca]
20808
20809         * TROUBLESHOOTING:
20810         Update list of env vars that are cleared
20811         [234e56f1435a]
20812
20813         * sudo.c:
20814         remove struct env_table decl since that stuff has all moved to env.c
20815         [5dd923148777]
20816
20817 2001-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20818
20819         * fileops.c:
20820         Fix a pasto in flock-style unlocking and include <sys/file.h> for
20821         flock on older systems; twetzel@gwdg.de
20822         [d5420d9d2861]
20823
20824         * configure:
20825         regen to get NeXT lockf/flock fix
20826         [d3ba6ed70e15]
20827
20828         * configure.in:
20829         force NeXT to use flock since lockf is broken
20830         [bd5391dca1bb]
20831
20832 2001-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20833
20834         * check.c:
20835         Use stashed user_gid when checking against exempt gid since sudo
20836         sets its gid to a a value that makes sudoers readable. Previously
20837         if you used gid 0 as the exempt group everyone would be exempt. From
20838         Paul Kranenburg <pk@cs.few.eur.nl>
20839         [0b140cc3a817]
20840
20841 2001-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
20842
20843         * configure:
20844         regen
20845         [cc455408f32b]
20846
20847         * aclocal.m4:
20848         #include stdio.h in SUDO_CHECK_TYPE since IRIX 6 aparently defines
20849         some types (such as ssize_t) therein.
20850         [b6aee85ca331]
20851
20852 2001-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
20853
20854         * defaults.c:
20855         Fix negation of paths in a boolean context. Problem found by
20856         apt@UH.EDU
20857         [8aee217a7cdf]
20858
20859 2001-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
20860
20861         * visudo.c:
20862         pasto
20863         [ad32b277bf68]
20864
20865 2001-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20866
20867         * visudo.c:
20868         SA_RESETHAND means the opposite of what I was thinking--oops To
20869         block all signals in old-style signals use ~0, not 0xffffffff
20870         [6ecdd793590a]
20871
20872 2001-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
20873
20874         * defaults.c:
20875         coerce difference of pointers to int when used in a string length
20876         printf format; deraadt@openbsd.org
20877         [a9d10f07180d]
20878
20879 2001-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
20880
20881         * visudo.c:
20882         Block all signals in Exit() to avoid a signal race. There is still
20883         a tiny window but I'm not going to worry about it.
20884         [6661805c0458]
20885
20886 2001-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
20887
20888         * env.c:
20889         glibc uses the LANGUAGE env var so clear that too; Solar Designer
20890         [d4ba95628afb]
20891
20892         * lex.yy.c:
20893         Regenerate with a fix to flex.skl that preserves errno from
20894         clobbering by isatty().
20895         [607eec736e19]
20896
20897 2000-12-31  Todd C. Miller  <Todd.Miller@courtesan.com>
20898
20899         * auth/aix_auth.c, auth/bsdauth.c, auth/fwtk.c, auth/pam.c,
20900         auth/sia.c, auth/sudo_auth.c:
20901         Some defaults I_ defines got renamed.
20902         [ec19b23caaf3]
20903
20904         * Makefile.in, check.c, def_data.c, def_data.h, def_data.in,
20905         defaults.c, defaults.h, env.c, logging.c, mkdefaults, parse.yacc,
20906         set_perms.c, sudo.c, sudo.tab.c:
20907         Move defaults info into its own files from which we generate .h and
20908         .c files. This makes adding or rearranging variables much simpler.
20909         [e91b880b5043]
20910
20911 2000-12-30  Todd C. Miller  <Todd.Miller@courtesan.com>
20912
20913         * configure, configure.in:
20914         fix typo in last commit
20915         [10a6ee2bae71]
20916
20917         * compat.h, config.h.in, configure, configure.in:
20918         Add check + emulation for setegid (like seteuid).
20919         [29492092bd2f]
20920
20921         * env.c:
20922         Make env_keep override badenv_table as documented Fix traversal of
20923         badenv_table (broken in last commit)
20924         [37c9f0d22673]
20925
20926         * set_perms.c, sudo.c, sudo.h:
20927         Don't try and build saved uid version of set_perms on systems w/o
20928         them. Rename set_perms_saved_uid() -> set_perms_posix() Make
20929         set_perms_setreuid simply be set_perms_fallback() and simply include
20930         the appropriate function at compile time (setreuid() vs. setuid()).
20931         [3107333c062c]
20932
20933         * sudoers.cat, sudoers.man.in, sudoers.pod:
20934         PATH is also preserved when env_reset is in effect
20935         [90e45c5711ff]
20936
20937         * CHANGES, Makefile.in, check.c, compat.h, config.h.in, configure,
20938         configure.in, defaults.c, defaults.h, env.c, find_path.c,
20939         getspwuid.c, set_perms.c, sudo.c, sudo.cat, sudo.h, sudo.man.in,
20940         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, testsudoers.c,
20941         visudo.c, visudo.cat, visudo.man.in:
20942         New Defaults options: o stay_setuid - sudo will remain setuid if
20943         system has saved uids or setreuid(2) o env_reset - reset the
20944         environment to a sane default o env_keep - preserve environment
20945         variables that would otherwise be cleared
20946
20947         No longer use getenv/putenv/setenv functions--do environment munging
20948         by hand. Potentially dangerous environment variables can be cleared
20949         only if they contain '/' pr '%' characters to protect buggy
20950         programs. Moved environment routines into env.c (new file)
20951         [c2f97651db4c]
20952
20953         * INSTALL:
20954         Clear up --without-passwd description
20955         [2f336dab6733]
20956
20957         * putenv.c, sudo_setenv.c:
20958         We now build up a new environment from scratch and assign it to
20959         "environ".
20960         [6ae6152f2238]
20961
20962 2000-12-19  Todd C. Miller  <Todd.Miller@courtesan.com>
20963
20964         * sudo.pod, visudo.pod:
20965         Grammatical fixes from Paul Janzen
20966         [e03ead2e56f8]
20967
20968 2000-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
20969
20970         * visudo.c:
20971         If there was a syntax error and the user just wants to quit, unlink
20972         sudoers if it is zero length.
20973         [74ba7921f520]
20974
20975         * visudo.c:
20976         'Q' means ignore parse error, not 'q'
20977         [e8d0e4491fe6]
20978
20979         * visudo.c:
20980         Open sudoers for writing with mode SUDOERS_MODE From Dimitry Andric
20981         <dim@xs4all.nl>
20982         [b24990a72491]
20983
20984 2000-12-13  Todd C. Miller  <Todd.Miller@courtesan.com>
20985
20986         * set_perms.c:
20987         Add missing #ifdef HAVE_LOGIN_CAP_H; ayamura@ayamura.org
20988         [41a8db10e076]
20989
20990 2000-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
20991
20992         * config.guess, config.sub:
20993         Darwin / Mac OS X support from Wilfredo Sanchez <wsanchez@apple.com>
20994         [6052da895d2e]
20995
20996 2000-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
20997
20998         * sudo.c, visudo.c:
20999         Use exit(127), not exit(-1)
21000         [9ff0c3eada34]
21001
21002         * Makefile.in, defaults.c, defaults.h, set_perms.c, sudo.c:
21003         Move set_perms() to its own file and use POSIX saved uid or
21004         setreuid() if available.
21005
21006         Added stay_setuid option for systems that have libraries that
21007         perform extra paranoia checks in system libraries for setuid
21008         programs (ie: anything with issetugid(2)).
21009         [28960f842698]
21010
21011         * sudo.c:
21012         strip more bits from the environment and add a facility for
21013         stripping things only if they contain '/' or '%' to address printf
21014         format string vulnerabilities in other programs.
21015         [b98d6375f299]
21016
21017 2000-11-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21018
21019         * configure:
21020         regen
21021         [7e74e5c91049]
21022
21023         * configure.in:
21024         For NCR, add -lc89 to LIBS, not SUDO_LIBS and cache the existence of
21025         strcasecmp().
21026         [a418e9e70442]
21027
21028         * configure:
21029         regen
21030         [bbff244a52bc]
21031
21032         * configure.in:
21033         Check for strcasecmp(3) in -lc89 for NCR Unix
21034         [361c99576681]
21035
21036 2000-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21037
21038         * config.h.in:
21039         Define HAVE_INNETGR #ifdef HAVE__INNETGR
21040         [473cdb92b6db]
21041
21042         * configure:
21043         regen
21044         [4e6364a195e0]
21045
21046         * compat.h, config.h.in, configure.in:
21047         Add check for _innetgr(3) since NCR systems have that instead of
21048         innetgr(3).
21049         [25e6852e7494]
21050
21051 2000-10-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21052
21053         * auth/securid.c:
21054         check return value of creadcfg() call sd_close() after sd_auth()
21055         store username in sd->username so we don't rely on the USER env
21056         variable
21057         [d106b4f42722]
21058
21059 2000-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
21060
21061         * INSTALL:
21062         document --with-bsdauth
21063         [f1518ecc2ee9]
21064
21065         * configure:
21066         regen
21067         [dceb35071ea8]
21068
21069         * configure.in:
21070         --with-bsdauth assumes --with-logincap
21071         [4200778083fd]
21072
21073         * auth/bsdauth.c, auth/fwtk.c:
21074         When prompting for a response to a challenge, if the user just hits
21075         return then reprompt with echo turned on.
21076         [a539b6474a97]
21077
21078 2000-10-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21079
21080         * sudo.c:
21081         Remove debugging code that should not have been committed, oops.
21082         [9862607b77a7]
21083
21084         * auth/bsdauth.c:
21085         Use lower-level routines and get the password ourselves. Checks for
21086         a challenge and if there is one echo is not turned off.
21087         [2d8fcd166baa]
21088
21089         * auth/pam.c, auth/sudo_auth.h:
21090         minor housekeeping, no real code changes
21091         [d0074a277fb4]
21092
21093 2000-10-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21094
21095         * sudo.c:
21096         Fix a coredump in the logging functions if gethostname(2) fails by
21097         deferring the call to log_error() until things are better setup.
21098
21099         Fix return value of set_loginclass() in non-BSD-auth case.
21100
21101         Hard-code 'sudo' in the usage message so we can fit more options on
21102         a line
21103         [d9d1b7579818]
21104
21105         * logging.c:
21106         Fix errant ';' (typo) that broken MSG_ONLY
21107         [849b2276a470]
21108
21109 2000-10-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21110
21111         * sudo.cat, sudo.man.in:
21112         regen
21113         [bb3c8c6704d1]
21114
21115         * sudo.pod:
21116         Document -a flag
21117         [e18316cebaac]
21118
21119         * Makefile.in, auth/bsdauth.c, auth/sudo_auth.h, config.h.in,
21120         configure, configure.in, getspwuid.c, sudo.c:
21121         Add support for BSD authentication.
21122         [f374cfd9ca0d]
21123
21124 2000-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21125
21126         * sudoers.pod:
21127         Fix typo; from sato@complex.eng.hokudai.ac.jp
21128         [3085fee9766e]
21129
21130 2000-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21131
21132         * sudoers.pod:
21133         Mention negating umask
21134         [c9e410294dae]
21135
21136         * defaults.c:
21137         Allow user to specify umask of 0777 (same as !umask)
21138         [bb771daa96fe]
21139
21140 2000-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21141
21142         * sudo.pod, visudo.pod:
21143         Fix a typo and give a URL for the sudo history.
21144         [77f73199aedb]
21145
21146 2000-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
21147
21148         * defaults.c, sudo.pod:
21149         fix typos; pepper@reppep.com
21150         [5532c7421340]
21151
21152 2000-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21153
21154         * sudo.c, sudo.h, sudo_setenv.c:
21155         sudo_setenv() now exits on memory alloc failure instead of returning
21156         -1.
21157         [71f1cf18f47b]
21158
21159 2000-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21160
21161         * sudo.c:
21162         Strip out NLSPATH and PATH_LOCALE from the environment for FreeBSD
21163         and possibly others.
21164         [b69d985b0d22]
21165
21166         * logging.c:
21167         Don't use vsyslog(3) since HP-UX (and others?) lack it. This means
21168         that "%m" won't be expanded but we don't use that anyway since the
21169         logging routines may splat to stderr as well.
21170         [8d37a544d0c0]
21171
21172         * defaults.c, defaults.h, sudo.c, sudoers.cat, sudoers.man.in,
21173         sudoers.pod:
21174         Add always_set_home variable
21175         [dbcaff646e07]
21176
21177         * configure, configure.in:
21178         Have to hard code default values in help since the defaults are set
21179         _after_ the help stuff.
21180         [7b5d6d72f55c]
21181
21182 2000-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
21183
21184         * lex.yy.c, parse.lex:
21185         Allow special characters (including '#') to be embedded in pathnames
21186         if quoted by a '\\'. The quoted chars will be dealt with by
21187         fnmatch(). Unfortunately, 'sudo -l' still prints the '\\'.
21188         [3ed33cf09977]
21189
21190 2000-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21191
21192         * install-sh:
21193         Better path searching for programs we need.
21194         [60517cb1f0d6]
21195
21196         * TROUBLESHOOTING:
21197         Add section on "C compiler cannot create executables" errors.
21198         [e4ada6eaee59]
21199
21200         * Makefile.binary, Makefile.in, version.h:
21201         Crank version
21202         [93d1bd5b7f5e]
21203
21204         * aclocal.m4, configure, configure.in, sudo.cat, sudo.man.in,
21205         sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod, visudo.cat,
21206         visudo.man.in, visudo.pod:
21207         Substitute values from configure into man pages.
21208         [619854c356c1]
21209
21210 2000-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21211
21212         * parse.c, sudo.c:
21213         The listpw and verifypw sudoers options would not take effect
21214         because the value of the default was checked *before* sudoers was
21215         parsed. Instead of passing in the value of PWCHECK_* to
21216         sudoers_lookup(), pass in the arg for def_ival() so the check can be
21217         deferred until after sudoers is parsed.
21218         [4f596e358f72]
21219
21220 2000-08-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21221
21222         * tgetpass.c:
21223         When writing prompt, no need to write the NUL as well;
21224         hag@linnaean.org
21225         [fbcdd7b431ee]
21226
21227 2000-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21228
21229         * install-sh:
21230         When looking for chown, check in /sbin too
21231         [657ba6653f8c]
21232
21233 2000-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21234
21235         * visudo.c:
21236         Remove extraneous call to init_defaults() and set runas_user to NULL
21237         betweem parses so init_defaults will reset it each time, thus
21238         avoiding a reference to free()d data.
21239         [7421fcd692af]
21240
21241 2000-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21242
21243         * config.h.in, interfaces.c, interfaces.h, sudo.c:
21244         Add support for using getifaddrs() to get the list of ip addr /
21245         netmask pairs. Currently IPv4-only.
21246         [a35bc4f7306d]
21247
21248         * visudo.c:
21249         Add a missing check for UserEditor == NULL Add missing '+' before
21250         line number when invoking editor to fix a syntax error
21251         [f0d4635f6082]
21252
21253 2000-05-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21254
21255         * sudo.c:
21256         Call clean_env very early in main() for paranoia's sake. Idea from
21257         Marc Esipovich.
21258         [f8d72ebd0115]
21259
21260 2000-05-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21261
21262         * sudo.h:
21263         Update proto for evasprintf and easprintf
21264         [d147d6e58419]
21265
21266         * alloc.c:
21267         Make easprintf() and evasprintf() return an int.
21268         [b2ca5d089667]
21269
21270         * check.c:
21271         If the targetpw flag is set, use target username as part of the
21272         timestamp path. If tty tickets are in effect cat the tty and the
21273         target username with a ':' as the separator.
21274         [de11abc693c2]
21275
21276 2000-05-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21277
21278         * auth/pam.c:
21279         Backout part of last change; setting PAM_USER to the invoking user
21280         breaks things like targetpw.
21281         [427218a7387f]
21282
21283         * auth/pam.c:
21284         set tty and username via pam_set_item
21285         [85d1922dbcc9]
21286
21287         * auth/sudo_auth.c, check.c, getspwuid.c, sudo.c, sudo.h:
21288         Fix root, runas, and target authentication for non-passwd file auth
21289         methods.
21290         [a14535e7b30c]
21291
21292 2000-04-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21293
21294         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
21295         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
21296         Use B<-Z> not C<-Z> for command line flags in all places. This is
21297         more consistent and works around a bug in Pod::Man.
21298         [64b5a05f30c5]
21299
21300         * sudoers.cat, sudoers.man.in, sudoers.pod:
21301         Fix an occurence of 'semicolon' that should be 'colon'
21302         [4ea5aacae3fb]
21303
21304 2000-04-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21305
21306         * configure, configure.in:
21307         Fix --with-badpri help line
21308         [3cc40977c043]
21309
21310 2000-04-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21311
21312         * defaults.c, logging.c, sudo.c:
21313         Bracket calls to syslog with an openlog() and closelog() since some
21314         authentication methods (like PAM) may do their own logging via
21315         syslog. Since we don't use syslog much (usually just once per
21316         session) this doesn't really incur a performance penalty. It also
21317         Fixes a SEGV with pam_kafs.
21318         [fe1cc28529f6]
21319
21320 2000-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21321
21322         * sudo.c:
21323         Fix -H flag. runas_homedir is only valid after
21324         set_perms(PERM_RUNAS, mode)
21325         [ce9b1c6f68a6]
21326
21327 2000-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
21328
21329         * INSTALL:
21330         Clarify the fact that insults are not enabled just by including them
21331         in the binary.
21332         [d5a31d48320c]
21333
21334 2000-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21335
21336         * sudo.cat, sudo.man.in, sudoers.cat, sudoers.man.in, visudo.cat,
21337         visudo.man.in:
21338         Regenerated with perl 5.6.0 pod2man
21339         [21751433768b]
21340
21341         * Makefile.in:
21342         Give date string to pod2man since its default is ugly and it ain't
21343         got no alibi.
21344         [0080b2f6298f]
21345
21346         * Makefile.in:
21347         Do section substitution on the output of pod2man and remove hack
21348         needed for old pod2man.
21349         [1ef843d5c78b]
21350
21351         * sudo.pod, sudoers.pod, visudo.pod:
21352         Put back real man sections, we will do the substitution later.
21353         [f728c1abad7e]
21354
21355 2000-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21356
21357         * configure, configure.in:
21358         Don't bother checking for the path to vi if user specified --with-
21359         editor
21360         [bf698487e0d5]
21361
21362 2000-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
21363
21364         * CHANGES, visudo.c:
21365         Visudo now does its own fork/exec instead of calling system(3).
21366         [99bbcd88863b]
21367
21368         * CHANGES, INSTALL, Makefile.in, sudoers.cat, sudoers.man.in,
21369         sudoers.pod, visudo.c:
21370         Visudo now checks for the existence of an editor and gives a
21371         sensible error if it does not exist.
21372
21373         The path to the editor for visudo is now a colon-separated list of
21374         allowable editors. If the user has $EDITOR set and it matches one
21375         of the allowed editors that editor will be used. If not, the first
21376         editor in the list that actually exists is used.
21377         [cc86eb9f5440]
21378
21379         * sudo.cat, sudo.man.in, sudo.pod:
21380         Clear up confusion wrt sudo's return value.
21381         [9385b12d8e79]
21382
21383 2000-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21384
21385         * Makefile.in:
21386         Strip sudo and visudo for bindist target
21387         [a995ddd79177]
21388
21389         * sudo.cat, sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in,
21390         sudoers.pod, visudo.cat, visudo.man.in, visudo.pod:
21391         Use @mansectsu@ and @mansectform@ in the man page bodies as well.
21392         [5eb9e60a726f] [SUDO_1_6_3]
21393
21394         * visudo.cat, visudo.man.in, visudo.pod:
21395         Typo: @sysconf@ -> @sysconfdir@
21396         [f07f52fcd099]
21397
21398         * Makefile.in:
21399         'make dist' should not cause any files to be modified so remove its
21400         dependencies.
21401         [7f44a2666a9c]
21402
21403         * CHANGES:
21404         Whoops, forgot to add release marker
21405         [16c0f16b35b8]
21406
21407 2000-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21408
21409         * CHANGES:
21410         Final change for 1.6.3 (or so I hope)
21411         [473c89da6123]
21412
21413         * sudo.cat, sudoers.cat, visudo.cat:
21414         Use SYSV man sections since BSD systems will have nroff...
21415         [0a6bd154324e]
21416
21417 2000-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21418
21419         * parse.yacc, sudo.tab.c:
21420         When checking to see if the host/user matches in a defaults spec,
21421         check against TRUE, not just non-zero since it might be -1.
21422         [41f2b7ad3fdd]
21423
21424         * configure, configure.in:
21425         OSF/1 puts file formats in section 4, not 5.
21426         [d77c1301afa9]
21427
21428         * CHANGES, INSTALL, sudo.c:
21429         Make login class support work on BSD/OS
21430         [e9bbe3c08ade]
21431
21432         * RUNSON:
21433         Update for 1.6.3
21434         [c40ce1d76c4d]
21435
21436         * configure, configure.in:
21437         If there is no inet_addr but there *is* an __inet_addr that's ok
21438         since inet_addr is probably just a macro then. The better thing to
21439         do would be to look for the macro, but this is fine for now.
21440         [1b8865ae4d68]
21441
21442         * configure, configure.in:
21443         Don't use shlicc for BSD/OS 4.x
21444         [83fbf6dedd2c]
21445
21446         * Makefile.in, configure, configure.in:
21447         *.man lives in cwd, *.cat lives in $(srcdir), add a @mansrcdir@
21448         configure variable so we can deal with this. Also, only remove *.man
21449         for 'distclean' not 'clean'.
21450         [30d56e6de214]
21451
21452         * sudo.c:
21453         set_loginclass() should be static like the proto says
21454         [d570a2d55fb8]
21455
21456 2000-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
21457
21458         * fnmatch.c:
21459         Add #ifdef __STDC__ around the rangematch function header to avoid
21460         promotion of test to int, thus violating the prototype. Gcc handles
21461         this gracefully but more std ANSI compilers will complain.
21462         [7d98c3e332b2]
21463
21464         * emul/fnmatch.h:
21465         Pull in newer fnmatch(3) that supports FNM_CASEFOLD
21466         [4e1320852f8b]
21467
21468         * aclocal.m4, configure, fnmatch.3, fnmatch.c:
21469         Pull in newer fnmatch(3) that supports FNM_CASEFOLD Check for
21470         FNM_CASEFOLD in configure
21471         [9ef952bf1896]
21472
21473         * CHANGES, TODO:
21474         update for 1.6.3
21475         [e4ba6368a0c5]
21476
21477         * sudo.tab.c, sudo.tab.h, testsudoers.c, visudo.c:
21478         Fully qualified hosts w/ wildcards were not matching the FQHOST
21479         token type. There's really no need for a separate token for fully-
21480         qualified vs. unqualified anymore so FQHOST is now history and
21481         hostname_matches now decides which hostname (short or long) to check
21482         based on whether or not the pattern contains a '.'.
21483         [fbd2887d9811]
21484
21485         * parse.h:
21486         Fully qualified hosts w/ wildcards were not matching the FQHOST
21487         token type. There's really no need for a separate token for fully-
21488         qualified vs. unqualified anymore so FQHOST is now history and
21489         hostname_matches now decides which hostname (short or long) to check
21490         based on whether or not the pattern contains a '.'.
21491         [dd7bbe223461]
21492
21493         * lex.yy.c, parse.c, parse.lex, parse.yacc:
21494         Fully qualified hosts w/ wildcards were not matching the FQHOST
21495         token type. There's really no need for a separate token for fully-
21496         qualified vs. unqualified anymore so FQHOST is now history and
21497         hostname_matches now decides which hostname (short or long) to check
21498         based on whether or not the pattern contains a '.'.
21499         [630d9d205397]
21500
21501         * parse.c, parse.h, parse.yacc, sudo.tab.c, sudoers.cat,
21502         sudoers.man.in, sudoers.pod, testsudoers.c, visudo.c:
21503         Add support for wildcards in the hostname.
21504         [d8d821ed4238]
21505
21506         * Makefile.in:
21507         Add targets for *.man.in, using config.status to generate *.man from
21508         *.man.in
21509         [640e50ede485]
21510
21511         * sudoers.cat, sudoers.man.in, sudoers.pod:
21512         Document set_logname option and enbolden refs to sudo and visudo.
21513         [9622b3a48707]
21514
21515         * INSTALL, Makefile.in, aclocal.m4, configure, configure.in, sudo.cat,
21516         sudo.man.in, sudo.pod, sudoers.cat, sudoers.man.in, sudoers.pod,
21517         visudo.cat, visudo.man.in, visudo.pod:
21518         Add FreeBSD login.conf support (untested on BSD/OS) based on a patch
21519         from Michael D. Marchionna. configure now does substitution on the
21520         man pages, allowing us to fix up the paths and set the section
21521         correctly. Based on an idea from Michael D. Marchionna.
21522         [463e928a0a2f]
21523
21524         * auth/passwd.c:
21525         Better fix for handling HP-UX aging info.
21526         [3950f42d8549]
21527
21528         * sudo.c:
21529         Add support for set_logname run-time default
21530         [c6a7cc76b8b4]
21531
21532         * sudo.man.in, sudoers.man.in, visudo.man.in:
21533         configure does substitution on these to produce *.man
21534         [b83fc3c1bfc9]
21535
21536         * sudo.man, sudoers.man, visudo.man:
21537         These files now get generated from *.man.in at configure time.
21538         [c499061f79e0]
21539
21540 2000-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
21541
21542         * defaults.c, defaults.h:
21543         Add set_logname option so users can turn off setting of LOGNAME/USER
21544         environment variables.
21545         [6316869180b8]
21546
21547         * lsearch.c, parse.c, testsudoers.c:
21548         kill register
21549         [6e104e653748]
21550
21551 2000-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21552
21553         * auth/passwd.c:
21554         HP-UX adds extra info at the end for password aging so when
21555         comparing the result of crypt to pw_passwd we only compare the first
21556         len(epass) bytes *unless* the user entered an empty string for a
21557         password.
21558         [3d24d4e4e889]
21559
21560         * logging.c:
21561         Get rid of grandchild hack, it was causing problems and there is
21562         really no need for it. This fixes a bug where we spin eating up CPU
21563         when the user runs a long-running process like a shell.
21564         [5743b10b1e81]
21565
21566 2000-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
21567
21568         * sudo.c:
21569         User can always specify a login class if he/she is already root.
21570         [710d160cef9f]
21571
21572         * config.h.in, configure, configure.in, defaults.c, defaults.h,
21573         sudo.c, sudo.h:
21574         FreeBSD login class (login.conf) support.
21575         [026b981d6328]
21576
21577 2000-03-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21578
21579         * auth/sudo_auth.c:
21580         HAVE_SECUREWARE -> HAVE_GETPRPWNAM; fixes secureware support
21581         [9cd4929f1a78]
21582
21583 2000-03-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21584
21585         * auth/passwd.c:
21586         Truncate unencrypted password to 8 chars if encrypted password is
21587         exactly 13 characters (indicateing standard a DES password). Many
21588         versions of crypt() do this for you, but not all (like HP-UX's).
21589         [a9d0259cb193]
21590
21591 2000-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21592
21593         * INSTALL, RUNSON:
21594         Mention that gcc on dynix may have problems
21595         [77b97fa5bf1b]
21596
21597 2000-02-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21598
21599         * Makefile.in:
21600         Link visudo with NET_LIBS since we now call syslog via defaults.c
21601         [9e3830b277cc]
21602
21603         * defaults.c:
21604         Use Argv[0] as the first arg to openlog() since visudo uses this
21605         too.
21606         [e61078f328ec]
21607
21608 2000-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21609
21610         * sudo.c:
21611         Stash coredumpsize resource limit and retsore it before the exec()
21612         Otherwise the child ends up with a coredumpsize of 0.
21613         [f6a4783835a3]
21614
21615 2000-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21616
21617         * sudo.cat, sudo.man, sudo.pod:
21618         document -S flag
21619         [3ebd805b7142]
21620
21621         * sudo.c:
21622         fix usage string
21623         [66b2dfa47fe8]
21624
21625         * CHANGES, RUNSON, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
21626         auth/sudo_auth.c, sudo.c, sudo.h, tgetpass.c:
21627         Added -S flag (read passwd from stdin) and tgetpass_flags global
21628         that holds flags to be passed in to tgetpass(). Change echo_off
21629         param to tgetpass() into a flags field. There are currently 2
21630         possible flags for tgetpass(): TGP_ECHO and TGP_STDIN. In
21631         tgetpass(), abstract the echo set/clear via macros and if (flags &
21632         TGP_ECHO) but echo is not set on the terminal, but sure to set it.
21633         [a4fcbb712cd0]
21634
21635         * tgetpass.c:
21636         Fixed a bug that caused an infinite loop when the password timeout
21637         was disabled.
21638         [2be1ffc5a39f]
21639
21640 2000-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21641
21642         * CHANGES, defaults.c, defaults.h, getspwuid.c, sudo.c, sudo.h,
21643         sudoers.cat, sudoers.man, sudoers.pod, visudo.c:
21644         Add rootpw, runaspw, and targetpw options.
21645         [2d4563e46df7]
21646
21647         * CHANGES, defaults.c, sudoers.cat, sudoers.man, sudoers.pod,
21648         visudo.c:
21649         enveditor -> env_editor
21650         [ddc5f856e583]
21651
21652 2000-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21653
21654         * BUGS, INSTALL, Makefile.in, README, configure, configure.in,
21655         sudo.cat, sudo.man, sudoers.cat, sudoers.man, version.h, visudo.cat,
21656         visudo.man:
21657         crank versino to 1.6.3
21658         [a5f7d3e74360]
21659
21660         * INSTALL, TODO, defaults.c, defaults.h, sudoers.cat, sudoers.man,
21661         sudoers.pod, visudo.c:
21662         Add 'editor' and 'enveditor' sudoers defaults and make visudo honor
21663         them. This means that visudo will now parse the sudoers file
21664         *before* it is edited so a bogus sudoers file will cause a warning
21665         to go to stderr. Also, visudo checks the variables once--it does not
21666         check them after each editor run since that could be confusing.
21667         [9f5af18e9212]
21668
21669 2000-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
21670
21671         * RUNSON:
21672         1.6.2 -> 1.6.2p1
21673         [e25b74f1d1af]
21674
21675         * check.c, sudo.c, sudo.h:
21676         Move user_is_exempt prototype into sudo.h
21677         [daf26a6ded8a]
21678
21679 2000-02-13  Todd C. Miller  <Todd.Miller@courtesan.com>
21680
21681         * configure, configure.in:
21682         Fix thinko, some && should have been || in the last commit
21683         [4b9b2d487ded]
21684
21685         * configure, configure.in:
21686         Don't initialized Makefile variables to be NULL since the user may
21687         want to import variables from their environment.
21688         [7be019f4422c]
21689
21690 2000-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
21691
21692         * configure, configure.in:
21693         typo
21694         [38f4d8971f0a]
21695
21696 2000-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
21697
21698         * sudo.tab.c:
21699         fix a yacc (skeleton.c) warning
21700         [a2da228a937b]
21701
21702 2000-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
21703
21704         * INSTALL, RUNSON, configure, configure.in:
21705         Make pam work on HP-UX 11.0;jaearick@colby.edu
21706         [b94de0ff6f42]
21707
21708         * CHANGES:
21709         recent changes; prepare for 1.6.2p1
21710         [b291635ea141]
21711
21712         * find_path.c:
21713         Don't apply SECURE_PATH if user is example; jmknoble@pobox.com
21714         [4306285c4f6e]
21715
21716 2000-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
21717
21718         * sudo.tab.c:
21719         Regen with yacc that has a memory leak plugged.
21720         [e26383a04eb7]
21721
21722         * sudoers.cat, sudoers.man, sudoers.pod:
21723         Expanded docs on sudoers 'defaults' options based on INSTALL file
21724         info.
21725         [54c3d62d6c74]
21726
21727         * INSTALL:
21728         Fix some while lies
21729         [d15311782150]
21730
21731 2000-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
21732
21733         * Makefile.in:
21734         When making a bindist, link FAQ to TROUBLESHOOTING instead of
21735         copying.
21736         [2d88a6ac88cf]
21737
21738         * sudoers.cat, sudoers.man, sudoers.pod:
21739         Add netgroup caveat
21740         [28d119f466e3] [SUDO_1_6_2]
21741
21742         * RUNSON:
21743         Last minute updates
21744         [89fb4ed22d52]
21745
21746         * TROUBLESHOOTING:
21747         PAM entry
21748         [a9fd59f39457]
21749
21750         * auth/pam.c:
21751         correct a comment
21752         [a29627225ba9]
21753
21754         * CHANGES, RUNSON:
21755         update for 1.6.2
21756         [b7f1c40ea732]
21757
21758         * auth/pam.c:
21759         Better detection of PAM errors and fix custom prompts with PAM.
21760         Based on patches from "Cloyce D. Spradling" <cloyce@headgear.org>
21761         [ff69234b94a5]
21762
21763 2000-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
21764
21765         * snprintf.c:
21766         Cast ULONG_MAX to unsigned long long when comparing to an unsigned
21767         long long value.
21768         [9d918c3a2ecd]
21769
21770 2000-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
21771
21772         * CHANGES, config.h.in, configure, configure.in, visudo.c:
21773         Fix sudoers locking in visudo. We now lock the sudoers file itself,
21774         not the temp file (since locking the temp file can foul up editors).
21775         The previous locking scheme didn't work because the fd was closed
21776         too early.
21777         [de2011bb11ed]
21778
21779         * config.h.in, configure, configure.in:
21780         Don't need test for ftruncate() any more.
21781         [e5f71c848104]
21782
21783         * configure, configure.in:
21784         Add a test for the -Aa flag w/ HP-UX's cc. Fixes compilation with
21785         the unbundled HP-UX cc.
21786         [2c373612c644]
21787
21788 2000-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
21789
21790         * sudoers.cat, sudoers.man, sudoers.pod:
21791         "a a" -> "a"; Aaron Campbell <aaron@cs.dal.ca>
21792         [05360d2c314e]
21793
21794 2000-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
21795
21796         * LICENSE, Makefile.in, defaults.c, defaults.h, parse.c, parse.h,
21797         parse.yacc, sudo.c, sudo.h, sudoers.pod, testsudoers.c, tgetpass.c,
21798         version.h, visudo.c:
21799         update copyright year on changed files
21800         [5792a2a28a4c]
21801
21802         * RUNSON:
21803         updates
21804         [edf8f19aa403]
21805
21806         * CHANGES:
21807         aix fix
21808         [4d4a243b31e2]
21809
21810         * INSTALL:
21811         Crank version to 1.6.2
21812         [bcb5cb411624]
21813
21814         * configure:
21815         Crank version to 1.6.2
21816         [32a19f33427f]
21817
21818         * sudo.c:
21819         When using rlimit check for RLIM_INFINITY When computing the value
21820         of maxfd, use min(getdtablesize(), RLIMIT_NOFILE)
21821         [8c16166802e5]
21822
21823         * CHANGES:
21824         recent changes
21825         [09fc7112e44d]
21826
21827         * BUGS, Makefile.in, README, configure.in, sudo.cat, sudo.man,
21828         sudoers.cat, sudoers.man, version.h, visudo.cat, visudo.man:
21829         Crank version to 1.6.2
21830         [055fa61a7c61]
21831
21832         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.pod:
21833         Add 'shell_noargs' runtime option back in. We have to defer
21834         checking until after the sudoers file has been parsed but since
21835         there are now other options that operate that way this one can too.
21836         Based on a patch from bguillory@email.com.
21837         [231db7a007a6]
21838
21839         * defaults.c, defaults.h, parse.c, sudo.c, sudo.h:
21840         Add "listpw" and "verifypw" options.
21841         [190683bac878]
21842
21843         * sudoers.cat, sudoers.man, sudoers.pod:
21844         o Fix some typos/omissions o Add section on verifypw and listpw o
21845         Define how NOPASSWD interacts with the -v and -l flags
21846         [6feb7350eb79]
21847
21848 2000-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
21849
21850         * configure, configure.in:
21851         For HP-UX cc, add -Aa to CPPFLAGS. For HP-UX always add
21852         -D_HPUX_SOURCE to CPPFLAGS.
21853         [06cc35d89dc8]
21854
21855         * defaults.c, defaults.h:
21856         In struct sudo_defs_types, move the union to the end and don't
21857         initialize the union member since that only works with an ANSI
21858         compiler. We set the value of the union by hand in init_defaults()
21859         anyway. This allows sudo to compile on a K&R compiler again.
21860         [623487e1fcfa]
21861
21862 2000-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
21863
21864         * parse.c, parse.h, parse.yacc, sudo.tab.c, testsudoers.c, visudo.c:
21865         netgr_matches needs to check shost as well as host since they may be
21866         different.
21867         [3f43ace23d3e]
21868
21869         * tgetpass.c:
21870         End on \r as well as \n
21871         [cb7c6e6f4202]
21872
21873 2000-01-03  Todd C. Miller  <Todd.Miller@courtesan.com>
21874
21875         * sudo.c:
21876         Update statbuf.st_mode based on SUDOERS_MODE when we are chaning
21877         from 0400 to whatever SUDOERS_MODE is (converting from the old
21878         sudoers mode). Assumes that SUDOERS_MODE is less restrictive than
21879         0400 which should always be the case.
21880         [34cd83d49d20]
21881
21882         * parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
21883         Make treatment of -l and -v sane wrt NOPASSWD flags. Now allow -l
21884         w/o a passwd if there is *any* entry for the user on the host with a
21885         NOPASSWD flag. For -v, only allow w/o a passwd if *all* entries for
21886         the user on the host w/ the specified runas user have the NOPASSWD
21887         flag set.
21888         [4b3b85697653]
21889
21890         * Makefile.in:
21891         add check target
21892         [3d24d34a76fd]
21893
21894 1999-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
21895
21896         * visudo.c:
21897         Treat EOF at whatnow prompt like 'x' instead of looping.
21898         [5deffc27114c]
21899
21900 1999-12-10  Todd C. Miller  <Todd.Miller@courtesan.com>
21901
21902         * CHANGES:
21903         recent changes
21904         [5836a9452568] [SUDO_1_6_1]
21905
21906 1999-12-09  Todd C. Miller  <Todd.Miller@courtesan.com>
21907
21908         * config.h.in, configure, configure.in, sudo.c:
21909         Add check for initgroups() since old SYSV lacks this.
21910         [657a6005a569]
21911
21912         * CHANGES, RUNSON, aclocal.m4, config.h.in, configure, configure.in,
21913         parse.c, testsudoers.c:
21914         o Kill HAVE_FNMATCH_H o Only define HAVE_FNMATCH if <fnmatch.h>
21915         exists.
21916         [17d081e917d6]
21917
21918 1999-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
21919
21920         * auth/sudo_auth.c:
21921         Don't allow insults to be enabled if the insults[] array is empty.
21922         Otherwise there would be division by zero.
21923         [b20c14db6029]
21924
21925         * insults.h:
21926         Don't allow insults to be enabled if the insults[] array is empty.
21927         Otherwise there would be division by zero.
21928         [028f130204b0]
21929
21930         * CHANGES, RUNSON:
21931         Don't allow insults to be enabled if the insults[] array is empty.
21932         Otherwise there would be division by zero.
21933         [974f4780254b]
21934
21935         * insults.h:
21936         Don't care about USE_INSULTS #define since the insult stuff may be
21937         overridden at runtime.
21938         [b873df8b299c]
21939
21940         * auth/sudo_auth.c:
21941         Honor insults flag.
21942         [756111640fdc]
21943
21944         * CHANGES, parse.c:
21945         Don't ask the user for a password if the user is not allowed to run
21946         the command and the authenticate flag (in sudoers) is false.
21947         [cea9fdc09c76]
21948
21949         * CHANGES, RUNSON, lex.yy.c, parse.lex:
21950         o Whenever we get a bare newline we change to the INITIAL state. o
21951         Enter GOTRUNAS when we see Runas_Alias
21952
21953         This allows #uid to work in a RunasAlias.
21954         [a475513e7c7a]
21955
21956 1999-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
21957
21958         * CHANGES, parse.yacc, sudo.tab.c:
21959         fix parsing of runas lists: o oprunasuser and runaslist now return a
21960         value o in a runasspec, if a runaslist does not return TRUE, set
21961         runas_matches to FALSE. Normally, a runaslist only returns FALSE
21962         for explicitly denied users. o since runaslist does not modify the
21963         stack there is no need for a push/pop in runasalias.
21964         [82b305b34a8c]
21965
21966         * check.c, sudo.c:
21967         Don't kill the user's tickets until after sudoers has been parsed
21968         since tty_tickets and ticket_dir could be set in sudoers.
21969         [f43e25367f3a]
21970
21971         * BUGS, CHANGES, Makefile.binary, Makefile.in, README, RUNSON,
21972         configure, configure.in, sudo.cat, sudo.man, sudoers.cat,
21973         sudoers.man, tgetpass.c, version.h, visudo.cat, visudo.man:
21974         crank version to 1.6
21975         [95f8bdcf9bb2]
21976
21977         * testsudoers.c:
21978         add set_fqdn() stub
21979         [bbc81af5b41a]
21980
21981 1999-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
21982
21983         * INSTALL, defaults.c, defaults.h, sudo.c, sudo.h, sudoers.cat,
21984         sudoers.man, sudoers.pod, visudo.c:
21985         o Kill shell_noargs option, it cannot work since the command needs
21986         to be set before sudoers is parsed. o Fix the "set_home" sudoers
21987         option (only worked at compile time). o Fix "fqdn" sudoers option.
21988         We now set host/shost via set_fqdn which gets called when the
21989         "fqdn" option is set in sudoers. o Move the openlog() to
21990         store_syslogfac() so this gets overridden correctly from the
21991         sudoers file.
21992         [3dca861f0f5d]
21993
21994         * auth/securid.c:
21995         SecurID support should compile now.
21996         [a544e5c6ea34]
21997
21998 1999-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
21999
22000         * sudo.cat, sudo.man, sudo.pod, sudoers.cat, sudoers.man, visudo.cat,
22001         visudo.man, visudo.pod:
22002         fix some syntactic goofs
22003         [b3451f0d5239]
22004
22005 1999-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22006
22007         * Makefile.in, sudo.html, sudoers.html, visudo.html:
22008         No longer need the .html files as they are generated automatically
22009         on the web site.
22010         [1b4aa4204584]
22011
22012         * CHANGES, LICENSE:
22013         kill characters that made wml unhappy
22014         [b988fbc6da56]
22015
22016         * HISTORY:
22017         typo
22018         [a418963f7fce]
22019
22020 1999-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
22021
22022         * README:
22023         majordomo@cs.colorado.edu -> majordomo@courtesan.com
22024         [5d151e8ffd3b]
22025
22026         * Makefile.in, configure:
22027         Wrap script execution w/ /bin/sh for the benefit of ctm
22028         [3a9c4766b2c3]
22029
22030 1999-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22031
22032         * sudo.c:
22033         Make the -s flag be exclusive too. Also reorder the flags in the
22034         exclusive usage message so they are alphabetical.
22035         [4c7af200db34]
22036
22037 1999-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22038
22039         * auth/pam.c:
22040         make pam errors other than PAM_PERM_DENIED fatal
22041         [64bcb3fd2baf]
22042
22043         * auth/API:
22044         fix typo
22045         [f3134c88b12e]
22046
22047         * INSTALL:
22048         make it clear that /etc/pam.d/sudo is required on linux
22049         [213cc3eaad82]
22050
22051         * auth/pam.c:
22052         fix a warning on redhat and spew an error if pam_authenticate()
22053         returns an error other than AUTH_SUCCESS or PAM_PERM_DENIED
22054         [7e46dd19da89]
22055
22056         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22057         Be very clear that the password required is the user's not root's
22058         [a6da127347e5]
22059
22060 1999-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22061
22062         * Makefile.in:
22063         add sample.syslog.conf to DISTFILES and BINFILES
22064         [8661c27c007e]
22065
22066 1999-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22067
22068         * RUNSON:
22069         updates from Brian Jackson + some formatting
22070         [6d31c6fa63f8]
22071
22072 1999-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
22073
22074         * INSTALL.binary, Makefile.binary, README, RUNSON:
22075         o One RUNSon update o Changes for automating real binary releases
22076         [dd9585f4406c]
22077
22078         * Makefile.in:
22079         Add bindist target
22080         [546ed3fa94bb]
22081
22082 1999-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22083
22084         * TROUBLESHOOTING:
22085         talk about run-time options in addition to compile-time options
22086         [1eb813ff0a9a] [SUDO_1_6_0]
22087
22088         * CHANGES:
22089         fix typos
22090         [65e92bb70a7b]
22091
22092         * sudo.c:
22093         need sys/time.h if HAVE_SETRLIMIT
22094         [ce31655a8a60]
22095
22096         * PORTING, README, RUNSON, sudo.c, sudo.cat, sudo.html, sudo.man,
22097         sudo.pod, visudo.cat, visudo.html, visudo.man, visudo.pod:
22098         get rid of references to sudo-bugs. Now mention the web site or the
22099         sudo@ alias
22100         [a9db861fd8c6]
22101
22102         * sudoers.html:
22103         repair pod2html damage
22104         [62ece4277f1f]
22105
22106         * RUNSON, TODO:
22107         Update for 1.6 release
22108         [98569c57ba2a]
22109
22110         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22111         Add warning about using ALL in a command context.
22112         [6c77685ab280]
22113
22114 1999-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22115
22116         * visudo.c:
22117         Call yyrestart() on a parse error to reset the lexer state.
22118         [1370a27acdb2]
22119
22120         * lex.yy.c, parse.lex:
22121         Don't need YY_FLUSH_BUFFER after all Move yyrestart() into visudo.c
22122         since it might not get called in yywrap if we get a parse error
22123         (and we only reread the file on error anyway).
22124         [37f4b449e28e]
22125
22126         * lex.yy.c, parse.lex:
22127         Call YY_FLUSH_BUFFER macro in yywrap() to clean up any buffers that
22128         might still exist. Call yyrestart() instead of using the deprecated
22129         YY_NEW_FILE macro.
22130         [7d0d873046c6]
22131
22132         * lex.yy.c, parse.lex:
22133         flex doesn't need %N table size declarations
22134         [268b020fd60a]
22135
22136         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22137         Mention what characters need to be escaped in names.
22138         [72ccbb6b0f31]
22139
22140 1999-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22141
22142         * configure:
22143         regen
22144         [65827abb5c7b]
22145
22146         * INSTALL:
22147         clarify Mac OS X entry
22148         [8da1549a71f5]
22149
22150         * RUNSON:
22151         update
22152         [0cff8df7459f]
22153
22154         * configure.in:
22155         o Use AC_MSG_ERROR throughout o Check syslog configure options for
22156         danity
22157         [4cb81e642e5c]
22158
22159 1999-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22160
22161         * defaults.c:
22162         Fix printing of type T_MODE in dump_defaults()
22163         [a868bb6f5515]
22164
22165         * strcasecmp.c:
22166         missing sys/types.h
22167         [ca694ca325b6]
22168
22169         * INSTALL:
22170         Break out options that may be overridden at run time into their own
22171         section. Add a not about Max OS X and correct some lies.
22172         [d8bcfd120593]
22173
22174 1999-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22175
22176         * CHANGES, config.h.in, configure, configure.in, sudo.c:
22177         o Now use getrlimit to find the highest fd when closing all non-std
22178         fd's o Turn off core dumps via setrlimit for the sake of paranoia
22179         [dd9f651b6def]
22180
22181         * RUNSON:
22182         updates
22183         [f581841fe615]
22184
22185 1999-11-01  Todd C. Miller  <Todd.Miller@courtesan.com>
22186
22187         * CHANGES:
22188         updates
22189         [553baa1d44c7]
22190
22191         * tgetpass.c:
22192         When read()'ing, do a single character at a time to be sure we don't
22193         go oast the newline.
22194         [907d33f55bb4]
22195
22196         * sudo.c:
22197         For the sudo_root option, check against user_uid, not getuid() since
22198         at this point, ruid == euid == 0.
22199         [92d5c51939b4]
22200
22201         * RUNSON:
22202         some updates
22203         [e3ed0c1f312b]
22204
22205         * logging.h:
22206         Fix compilation problem when --with-logging=file was specified.
22207         This means that syslog is now required to build sudo but that should
22208         not be a problem. If it is it can be fixed trivially with a
22209         configure check for syslog() or syslog.h.
22210         [839a4b069190]
22211
22212         * tgetpass.c:
22213         Make this work again for things like "sudo echo hi | more" where the
22214         tty gets put into character at a time mode. We read until we read
22215         end of line or we run out of space (similar to fgets(3)).
22216         [c8f746df2e63]
22217
22218 1999-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22219
22220         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22221         change ital to bold
22222         [f860978e530a]
22223
22224         * RUNSON:
22225         update
22226         [9bcfbb405568]
22227
22228 1999-10-16  Todd C. Miller  <Todd.Miller@courtesan.com>
22229
22230         * defaults.c:
22231         Error out if syslog parameters are given without a value. For
22232         Ultrix or 4.2BSD "syslog" is allowed without a value since there are
22233         no facilities in the 4.2BSD syslog.
22234         [69e7a686f5f0]
22235
22236 1999-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22237
22238         * defaults.c:
22239         Ignore the syslog facility for systems w/ old syslog like Ultrix.
22240         [5c250adbbb84]
22241
22242         * TROUBLESHOOTING:
22243         people with "." early in their path can have problems running sudo
22244         from the build dir ;-)
22245         [20a1744a24a4]
22246
22247 1999-10-13  Todd C. Miller  <Todd.Miller@courtesan.com>
22248
22249         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22250         Remove -r realm option
22251         [127caa537f95]
22252
22253         * auth/kerb5.c, auth/sudo_auth.c, auth/sudo_auth.h, configure,
22254         configure.in, sudo.c:
22255         New krb5 code from Frank Cusack <fcusack@iconnet.net>.
22256         [7177a3893a62]
22257
22258         * CHANGES:
22259         update to reality
22260         [766cfbb512d6]
22261
22262 1999-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22263
22264         * auth/fwtk.c:
22265         include <auth.h> to get function prototypes.
22266         [d6c7c12d09fe]
22267
22268         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22269         document -L flag
22270         [dc803e1ce0d7]
22271
22272 1999-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
22273
22274         * sudo.c:
22275         in set_perms(), always call setuid(0) before changing the ruid/euid
22276         so we always know it will succeed.
22277         [8cced1b862bf]
22278
22279         * defaults.h:
22280         #undef T_FOO to avoid conflicts with system defines (like on
22281         ULTRIX).
22282         [d9f0aac092b0]
22283
22284         * TODO, sample.sudoers, sudoers.cat, sudoers.html, sudoers.man,
22285         sudoers.pod:
22286         Docuement "Defaults" lines in /etc/sudoers. Still needs some
22287         fleshing out but this is a start.
22288         [521a1e629bbc]
22289
22290 1999-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
22291
22292         * use strtol, not strtoul since not everyone has not strtoul
22293         [988462f093cc]
22294
22295         * defaults.c:
22296         use strtol, not strtoul since not everyone has not strtoul
22297         [fce835ce62e3]
22298
22299         * lex.yy.c, parse.lex:
22300         last {WORD} rule should only apply in the INITIAL state
22301         [9b57570bfa83]
22302
22303         * lex.yy.c, parse.lex:
22304         o Add support for escaped characters in the WORD macro o Modify
22305         fill() to squash escape chars
22306         [87572d59e4e0]
22307
22308         * defaults.c, defaults.h:
22309         o Add T_PATH flag to allow simple sanity checks for default values
22310         that are supposed to be pathnames. o Fix a duplicate free when
22311         visudo finds an error.
22312         [bdc6855a6c6d]
22313
22314 1999-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22315
22316         * defaults.c, defaults.h, logging.c:
22317         mail_if_foo -> mail_foo
22318         [cbee9415875d]
22319
22320 1999-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22321
22322         * compat.h, defaults.c, defaults.h, sudo.c, tgetpass.c:
22323         o Add requiretty option o Move O_NOCTTY to compat.h
22324         [65b8bf0e1795]
22325
22326         * logging.c:
22327         The exit() in log_error() was mistakenly removed in a previous
22328         version. Put it back...
22329         [9473449130a4]
22330
22331 1999-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22332
22333         * INSTALL, TODO, auth/aix_auth.c, auth/fwtk.c, auth/pam.c,
22334         auth/rfc1938.c, auth/sia.c, auth/sudo_auth.c, check.c, config.h.in,
22335         configure, configure.in, defaults.c, defaults.h, find_path.c,
22336         getspwuid.c, logging.c, parse.yacc, sudo.c, sudo.tab.c:
22337         o Change defaults stuff to put the value right in the struct. o
22338         Implement mailer_flags o Store syslog stuff both in int and string
22339         form. Setting the string form magically updates the int version.
22340         o Add boolean attribute to strings where it makes sense to say !foo
22341         [4698953f9a36]
22342
22343         * tgetpass.c:
22344         add O_NOCTTY when opening /dev/tty just in case
22345         [4c6d1d1bb300]
22346
22347 1999-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22348
22349         * auth/API:
22350         cleanup function no longer takes a status arg
22351         [0819edbfe7f8]
22352
22353         * INSTALL:
22354         the the
22355         [19aadb65ea28]
22356
22357 1999-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
22358
22359         * TODO, config.h.in, configure, configure.in, logging.c:
22360         Use strftime() instead of ctime() if it is available.
22361         [fb60ea63b514]
22362
22363 1999-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22364
22365         * defaults.c:
22366         fix copyright date
22367         [4a53b54aa72f]
22368
22369         * RUNSON:
22370         update ReliantUNIX entry
22371         [de618a4f67d9]
22372
22373         * defaults.c, defaults.h, logging.c:
22374         add log_year option
22375         [251a9e20568a]
22376
22377         * configure, configure.in:
22378         add --without-sendmail to help output
22379         [93162f199902]
22380
22381         * configure, configure.in:
22382         enforce an otctal arg for --with-suoders-mode
22383         [45e1b04ccad3]
22384
22385 1999-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
22386
22387         * BUGS, INSTALL, Makefile.in, TODO, aclocal.m4, auth/aix_auth.c,
22388         auth/fwtk.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c, auth/sia.c,
22389         auth/sudo_auth.c, check.c, config.h.in, configure, configure.in,
22390         defaults.c, defaults.h, find_path.c, lex.yy.c, logging.c, parse.h,
22391         parse.lex, parse.yacc, sudo.c, sudo.h, sudo.tab.c, sudo.tab.h,
22392         testsudoers.c, version.c, visudo.c:
22393         Add support for "Defaults" line in sudoers to make configuration
22394         variables changable at runtime (and on a global, per-host and per-
22395         user basis). Both the names and the internal representation are
22396         still subject to change. It was necessary to make sudo_user.runas
22397         but a char ** instead of a char * since this value can be changed by
22398         a Defaults line. There is a similar (but more complicated) issue
22399         with sudo_user.prompt but it is handled differently at the moment.
22400
22401         Add a "-L" flag to list the name of options with their descriptions.
22402         This may only be temporary.
22403
22404         Move some prototypes to parse.h
22405
22406         Be much less restrictive on what is allowed for a username.
22407         [f71abf7ba80c]
22408
22409         * sample.syslog.conf:
22410         Add more info
22411         [e952e6f42d4d]
22412
22413 1999-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22414
22415         * LICENSE, fnmatch.3, fnmatch.c, getcwd.c, lsearch.c, snprintf.c,
22416         strcasecmp.c:
22417         UCB has dropped the advertising clause from their license.
22418         [a5602b36a341]
22419
22420 1999-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
22421
22422         * auth/sudo_auth.h:
22423         move dce_verofy proto to correct section
22424         [972c815af558]
22425
22426         * auth/dce.c:
22427         remove XXX
22428         [820631855be0]
22429
22430 1999-08-28  Todd C. Miller  <Todd.Miller@courtesan.com>
22431
22432         * emul/fnmatch.h:
22433         Add fnmatch() prototype
22434         [79e84576d92a]
22435
22436         * fnmatch.c, parse.c, testsudoers.c:
22437         Move inclusion of emul/fnmatch.h to be after sudo.h for __P
22438         [1182c89fa811]
22439
22440         * sudo.h:
22441         add strcasecmp proto
22442         [512d1d8a6a0c]
22443
22444         * auth/sudo_auth.c:
22445         add check for case where there are no auth methods
22446         [e4af2b91b43e]
22447
22448         * configure, configure.in:
22449         Define _XOPEN_EXTENDED_SOURCE on AIX and __USE_FIXED_PROTOTYPES__ on
22450         SunOS4 w/ gcc
22451         [746ce8bcec23]
22452
22453         * getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c:
22454         include strings.h everywhere we include string.h
22455         [6f7d5d437e7b]
22456
22457         * version.c:
22458         nicer output when showing auth methods
22459         [0eac4b977f9d]
22460
22461         * version.c:
22462         Add support for SEND_MAIL_WHEN_NO_HOST
22463         [9f20a3a3fae6]
22464
22465         * config.h.in, configure, configure.in:
22466         Add _GNU_SOURCE for Linux
22467         [c7bd8c511847]
22468
22469         * lex.yy.c, parse.lex:
22470         fix definition of OCTECT
22471         [4af30e63244d]
22472
22473         * configure, configure.in:
22474         aix_auth.o not authenticate.o
22475         [fe95dfb08df4]
22476
22477 1999-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
22478
22479         * sudo.c:
22480         Only block SIGINT, SIGQUIT, SIGTSTP (which can be generated from the
22481         keyboard). Since we run with ruid/euid == 0 the user can't really
22482         signal us in nasty ways.
22483         [a7f6487c0f48]
22484
22485         * visudo.c:
22486         Don't need to worry about catching too many signals since we do
22487         locking on the tmp file. If a lockfile is really stale, it will be
22488         detected and overwritten.
22489         [28983db3e749]
22490
22491         * INSTALL, Makefile.in:
22492         include auth/API in tarball
22493         [014991600252]
22494
22495         * auth/sudo_auth.c:
22496         move memset() of plaintext pw outside of verify loop and only do the
22497         memset if we are *not* in standalone mode.
22498         [66f8e87567e2]
22499
22500         * auth/sudo_auth.c, auth/sudo_auth.h:
22501         DCE is not a standalone method
22502         [34963e2d8a1b]
22503
22504         * sudo.c:
22505         fix --enable-noargs-shell
22506         [4234062abbb0]
22507
22508         * snprintf.c:
22509         "#ifdef __STDC__" not "#if __STDC__" (I missed one)
22510         [c430b80454c6]
22511
22512         * auth/fwtk.c, auth/sia.c:
22513         _cleanup() function returns an int.
22514         [d1a1cc071ec1]
22515
22516         * auth/dce.c:
22517         there were still some return(0)'s hanging around, make them
22518         AUTH_FAILURE
22519         [1002aa1962c3]
22520
22521         * parse.c:
22522         typo in comment
22523         [5abc410dbfd2]
22524
22525         * version.c:
22526         add missing semicolon
22527         [a262283b52a5]
22528
22529         * auth/sudo_auth.h:
22530         missing backslash
22531         [bf89f6bd2900]
22532
22533 1999-08-26  Todd C. Miller  <Todd.Miller@courtesan.com>
22534
22535         * CHANGES, config.h.in, configure, configure.in:
22536         Kill _XOPEN_EXTENDED_SOURCE -- causes problems on some OSes
22537         [f1a9bca0cf67]
22538
22539         * Makefile.in:
22540         add parse.h to HDRS
22541         [a3d054987766]
22542
22543         * Makefile.in, configure, configure.in:
22544         Kill VISUDO_LIBS and VISUDO_LDFLAGS. Add LIBS, NET_LIBS, and
22545         LDFLAGS. Common libs go in LIBS, commong ld flags go in LDFLAGS and
22546         network libs like -lsocket, -lnsl go in NET_LIBS. This allows
22547         testsudoers to build on Solaris and is a bit cleaner in general.
22548         [4e6239e97002]
22549
22550         * UPGRADE:
22551         mention ptmp -> sudoers.tmp
22552         [ec3baa0fe8a1]
22553
22554         * config.h.in, configure, configure.in:
22555         Define _XOPEN_SOURCE_EXTENDED not _XOPEN_SOURCE
22556         [6f93dc7f39f5]
22557
22558         * RUNSON:
22559         add 2 reports
22560         [ce0fcc00ee4e]
22561
22562         * auth/kerb5.c:
22563         Minor changes, mostly cosmetic. verify_krb_v5_tgt() changed to
22564         return a value more like a system function
22565         [0dd56aa21424]
22566
22567         * auth/dce.c:
22568         Add an XXX
22569         [58fc8562c212]
22570
22571         * TODO:
22572         more things todo!
22573         [5a459d0cf339]
22574
22575         * sample.sudoers:
22576         update based on what is in the man page
22577         [1a0477db96fa]
22578
22579         * parse.yacc, sudo.tab.c:
22580         minor change to first line printed in -l mode
22581         [69eb57d96952]
22582
22583         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22584         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
22585         standard and add "EXAMPLES" section
22586         [7e543335ebe1]
22587
22588         * visudo.cat, visudo.html, visudo.man, visudo.pod:
22589         rename "ENVIRONMENT VARIABLES" section to "ENVIRONMENT" to be more
22590         standard
22591         [f82d87ed65c2]
22592
22593         * logging.c, parse.c, sudo.h:
22594         add FLAG_NO_CHECK
22595         [c7d69176a2d7]
22596
22597         * lex.yy.c, parse.lex:
22598         make an OCTET really be limited to 0-255
22599         [6ee568dd6a02]
22600
22601         * UPGRADE:
22602         mention timestamp changes
22603         [e44d5302bf60]
22604
22605         * PORTING:
22606         cosmetic cleanup
22607         [36fa3a2664dd]
22608
22609         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
22610         new sudoers(8) man page
22611         [e674d06283d0]
22612
22613 1999-08-24  Todd C. Miller  <Todd.Miller@courtesan.com>
22614
22615         * version.c:
22616         Update comments about syslog name tables
22617         [63830a782dcb]
22618
22619         * CHANGES, LICENSE, Makefile.in, configure, configure.in, parse.yacc,
22620         strcasecmp.c, sudo.tab.c:
22621         include strcasecmp() for those without it
22622         [a0d8e2488bbc]
22623
22624         * sample.sudoers:
22625         Use the : operator some more and fix a typo
22626         [18804c70da86]
22627
22628         * HISTORY:
22629         update the history of sudo
22630         [9d9b3d5279b3]
22631
22632         * parse.c, parse.lex, testsudoers.c:
22633         CIDR-style netmask support
22634         [768644467353]
22635
22636         * CHANGES:
22637         recent changes
22638         [a4319e9d07cb]
22639
22640         * sudo.tab.c, sudo.tab.h:
22641         these should be generated with byacc, not bison
22642         [f57b9489b752]
22643
22644         * lex.yy.c:
22645         regen
22646         [522461f95dfa]
22647
22648         * parse.h, parse.yacc, sudo.tab.c, sudo.tab.h:
22649         In "sudo -l" mode, the type of the stored (expanded) alias was not
22650         stored with the contents. This could lead to incorrect output if
22651         the sudoers file had different alias types with the same name.
22652         Normal parsing (ie: not in '-l' mode) is unaffected.
22653         [823fe2bc4b79]
22654
22655 1999-08-23  Todd C. Miller  <Todd.Miller@courtesan.com>
22656
22657         * configure, configure.in:
22658         define _XOPEN_SOURCE to get at crypt() proto on some systems
22659         [1b3769b86fb9]
22660
22661 1999-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
22662
22663         * snprintf.c:
22664         fix comment
22665         [fc1264df00f7]
22666
22667         * tgetpass.c:
22668         don't need limits.h
22669         [f1631829af45]
22670
22671         * snprintf.c:
22672         kill bogus reference to vfprintf
22673         [a0b99b25d389]
22674
22675         * sample.sudoers, sudoers:
22676         better examples
22677         [b4d87ea64cc8]
22678
22679         * snprintf.c:
22680         Add some const in the K&R defs. This is safe since we define const
22681         away if the compiler doesn't grok it.
22682         [614d6e83d45e]
22683
22684         * aclocal.m4, configure:
22685         Better test for working long long support. Ultrix compiler supports
22686         basic long long but not all operations on them.
22687         [5da1508710ed]
22688
22689         * aclocal.m4, auth/secureware.c, config.h.in, configure, getspwuid.c,
22690         snprintf.c, sudo.c:
22691         Add check for LONG_IS_QUAD #undef MAXINT before including
22692         hpsecurity.h to silence an HP-UX warning Check for U?LONG_LONG_MAX
22693         in snprintf.c and use LONG_IS_QUAD
22694         [a1f7993367fc]
22695
22696 1999-08-21  Todd C. Miller  <Todd.Miller@courtesan.com>
22697
22698         * LICENSE, aclocal.m4, config.h.in, configure, configure.in,
22699         snprintf.c:
22700         UCB-derived snprintf + asprintf support. Supports quads if the
22701         compiler does. No floating point yet, perhaps later...
22702         [0caf05aba945]
22703
22704 1999-08-20  Todd C. Miller  <Todd.Miller@courtesan.com>
22705
22706         * auth/API, auth/sudo_auth.c, auth/sudo_auth.h, check.c, find_path.c,
22707         goodpath.c, logging.c, parse.c, sudo.c:
22708         Run most of the code as root, not the invoking user. It doesn't
22709         really gain us anything to run as the user since an attacker can
22710         just have an setuid(0) in their egg. Running as root solves
22711         potential problems wrt signalling.
22712         [408e530dda01]
22713
22714         * sudo.tab.c:
22715         regen
22716         [f8cfb37e37de]
22717
22718 1999-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
22719
22720         * logging.c, sudo.c:
22721         Don't wait for child to finish in log_error(), let the signal
22722         handler get it if we are still running, else let init reap it for
22723         us. The extra time it takes to wait lets the user know that mail is
22724         being sent.
22725
22726         Install SIGCHLD handler in main() and for POSIX signals, block
22727         everything
22728         *except* SIGCHLD.
22729         [d2b6ab0ef3be]
22730
22731         * INSTALL, config.h.in, configure, configure.in, logging.c, parse.c,
22732         parse.yacc, sudo.c, sudo.h:
22733         sudoers_lookup() now returns a bitmap instead of an int. This makes
22734         it possible to express things like "failed to validate because user
22735         not listed for this host". Some thigns that were previously
22736         VALIDATE_FOO are now FLAG_FOO. This may change later on.
22737
22738         Reorganized code in log_auth() and sudo.c to deal with above
22739         changes.
22740
22741         Safer versions of push/pushcp with in the do { ... } while (0) style
22742
22743         parse.yacc now saves info on the stack to allow parse.c to determine
22744         if a user was listed, but not for the host he/she tried to run on.
22745
22746         Added --with-mail-if-no-host option
22747         [63326cb01efc]
22748
22749 1999-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
22750
22751         * parse.yacc, sudo.h, sudo.tab.c, visudo.c, visudo.cat, visudo.html,
22752         visudo.man, visudo.pod:
22753         o NewArgv and NewArgc don't need to be externally visible. o If
22754         pedantic > 1, it is a parse error. o Add -s (strict) option to
22755         visudo which sets pedantic to 2.
22756         [5d7d81b55cd5]
22757
22758         * HISTORY, INSTALL:
22759         Just have sudo-bugs contact info in one place
22760         [e7f6588ea683]
22761
22762         * sudo.cat, sudo.html, sudo.man, sudo.pod:
22763         Add BUGS section
22764         [6607d96ea510]
22765
22766         * Makefile.in, configure, configure.in:
22767         Add testsudoers to default build target if --with-devel Don't clean
22768         generated parser files unless "distclean".
22769         [5827b769dc57]
22770
22771         * parse.yacc, sudo.tab.c:
22772         In pedantic mode we need to save *all* the aliases, not just those
22773         that match, or we get spurious warnings.
22774         [24f5b1f0e1de]
22775
22776         * TROUBLESHOOTING:
22777         reference samples.sylog.conf
22778         [11841668380a]
22779
22780 1999-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
22781
22782         * sample.syslog.conf:
22783         Sample entries for syslog.conf
22784         [0f7697d878a1]
22785
22786         * CHANGES:
22787         recent changes
22788         [8bca8810c6bd]
22789
22790         * auth/API, auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c,
22791         auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/passwd.c,
22792         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sia.c,
22793         auth/sudo_auth.c, auth/sudo_auth.h:
22794         In struct sudo_auth, turn need_root and configured into flags and
22795         add a flag to specify an auth method is running alone (the only
22796         one). Pass auth methods their sudo_auth pointer, not the data
22797         pointer. This allows us to get at the flags and tell if we are the
22798         only auth method. That, in turn, allows the method to be able to
22799         decide what should/should not be a fatal error. Currently only
22800         rfc1938 uses it this way, which allows us to kill the OTP_ONLY
22801         define and te hackery that went with it. With access to the
22802         sudo_auth struct, methods can also get at a string holding their
22803         cannonical name (useful in error messages).
22804         [b7e320fc6511]
22805
22806         * INSTALL, Makefile.in, README, config.h.in, configure, configure.in,
22807         getspwuid.c, lex.yy.c, parse.lex, parse.yacc, sudo.tab.c,
22808         sudo.tab.h:
22809         o --with-otp deprecated, use --without-passwd instead o real
22810         dependencies in the Makefile o --with-devel option to enable yacc,
22811         lex, and -Wall o style -- "foo -> bar" becomes "foo->bar" o ALL goes
22812         back to being a token, not a string but don't leak memory o rename
22813         hsotspec -> host in parse.yacc
22814         [912c45226cb2]
22815
22816 1999-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
22817
22818         * BUGS, CHANGES:
22819         recent changes
22820         [801fa6e55687]
22821
22822         * auth/sudo_auth.c, configure, configure.in, interfaces.c, snprintf.c,
22823         sudo.c, sudo.h:
22824         o Digital UNIX needs to check for *snprintf() before -ldb is added
22825         to LIBS since -ldb includes a bogus snprintf(). o Add forward refs
22826         for struct mbuf and struct rtentry for Digital UNIX. o Reorder some
22827         functions in snprintf.c to fix -Wall o Add missing includes to fix
22828         more -Wall
22829         [8d207203e126]
22830
22831         * INSTALL, auth/sudo_auth.c, check.c, config.h.in, configure,
22832         configure.in, parse.yacc, sudo.tab.c, testsudoers.c, version.c,
22833         visudo.c:
22834         o Add a "pedentic" flag to the parser. This makes sudo warn in
22835         cases where an alias may be used before it is defined. Only turned
22836         on for visudo and testsudoers. o Add --disable-authentication option
22837         that makes sudo not require authentication by default. The PASSWD
22838         tag can be used to require authentication for an entry. We no
22839         longer overload --without-passwd.
22840         [f307e09adf98]
22841
22842         * lex.yy.c, parse.lex:
22843         Break 'WORD' regexp def into HOSTNAME and USERNAME. These days a
22844         username can contain just about anything so be very permissive. Also
22845         drop the unused \. punctuation.
22846         [06a50614ff89]
22847
22848 1999-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
22849
22850         * parse.yacc, sudo.tab.c:
22851         o add a 'val' element to aliasinfo struct and move -> parse.h o
22852         find_alias() now returns an aliasinfo * instead of boolean o
22853         add_alias() now takes a value parameter to store in the
22854         aliasinfo.val o The cmnd, hostspec, runasuser, and user rules now
22855         return: 1) positive match 0) negative match (due to '!')
22856         -1) no match This means setting $$ explicitly in all cases, which I
22857         should have done in the first place. It also means that we always
22858         store a value that is != -1 and when we see a '!' we can set
22859         *_matches to !rv if rv != -1. The upshot of all of this is that '!'
22860         now works the way it should in lists and some of the rules are more
22861         uniform and sensible.
22862         [ad8e73b5d581]
22863
22864         * Makefile.in:
22865         add parse.h dependency
22866         [4ccccd464d30]
22867
22868         * parse.h:
22869         kill unused *_matched macros
22870         [02cba6dcb732]
22871
22872         * parse.yacc:
22873         Allow a list of users as the first thing in a user spec, not just a
22874         single entry. This makes things more uniform, though it does allow
22875         you to write user specs that are hard to read.
22876         [3c4c91c508ca]
22877
22878         * sudo.tab.c:
22879         parse.yacc
22880         [feca81881bb6]
22881
22882         * configure:
22883         regen
22884         [6f247010bb3b]
22885
22886         * configure.in:
22887         fix check for crypt() in libufc
22888         [82770736f4b0]
22889
22890 1999-08-07  Todd C. Miller  <Todd.Miller@courtesan.com>
22891
22892         * README:
22893         sudo-users list now exists
22894         [4716d2bb0bbf]
22895
22896         * INSTALL, PORTING, README, TODO, TROUBLESHOOTING:
22897         Update to reality.
22898         [1eda2d57e42a]
22899
22900         * CHANGES, Makefile.in, TODO, TROUBLESHOOTING, check.c, compat.h,
22901         config.h.in, configure, configure.in, fileops.c, logging.c, sudo.h,
22902         version.c, visudo.c:
22903         o Move lock_file() and touch() into fileops.c so visudo can use them
22904         o Visudo now locks the sudoers temp file instead of bailing when the
22905         temp file already exists. This fixes the problem of stale temp
22906         files but it does *require* that you not try to put the temp file in
22907         a world-writable directory. This shoud not be an issue as the temp
22908         file should live in the same dir as sudoers. o Visudo now only
22909         installs the temp file as sudoers if it changed.
22910         [2517cd06c070]
22911
22912 1999-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
22913
22914         * logging.c:
22915         add fcntl locking
22916         [c304adeaf515]
22917
22918         * config.h.in, configure, configure.in, logging.c:
22919         Lock the log file.
22920         [d8652704fbdf]
22921
22922         * Makefile.in, TROUBLESHOOTING, parse.c, pathnames.h.in, sudo.c,
22923         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
22924         o /etc/stmp -> /etc/sudoers.tmp since solaris uses stmp as shadow
22925         temp file o _PATH_SUDO_SUDOERS -> _PATH_SUDOERS and _PATH_SUDO_STMP
22926         -> _PATH_SUDOERS_TMP
22927         [68cad8975807]
22928
22929 1999-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
22930
22931         * INSTALL, check.c, config.h.in, configure, configure.in, version.c:
22932         o Kill *_MESSAGE and replace with NO_LECTURE o Add more things to
22933         root sudo -V config reporting
22934         [cdd2613a9dcf]
22935
22936         * configure, configure.in:
22937         aix_auth.o not authenticate.o
22938         [d972e35f6730]
22939
22940         * config.h.in:
22941         Add --with-goodpri and --with-badpri configure options to specify
22942         the syslog priority to use.
22943         [2595ae50ab86]
22944
22945         * INSTALL, configure, configure.in, logging.h:
22946         Add --with-goodpri and --with-badpri configure options to specify
22947         the syslog priority to use.
22948         [8276ee9b2b49]
22949
22950         * compat.h:
22951         kill crufty AIX stuff
22952         [a4f35ef9854e]
22953
22954         * Makefile.in:
22955         Sigh, some versions of make (like Solaris's) don't deal with $< like
22956         I would expect. Both GNU and BSD makes get this right but... So, we
22957         just expand $< inline at the cost of some ugliness.
22958         [b1b456f8801f]
22959
22960         * version.c:
22961         If the invoking user is root, sudo will now print configure info in
22962         -V mode. Currently just prints logging info, to be expanded later.
22963         [392f7ed99267]
22964
22965         * logging.c, logging.h, sudo.c, sudo.h:
22966         o new defines for syslog facility and priority o use new
22967         print_version() functino for -V mode
22968         [78abc5142985]
22969
22970         * check.c:
22971         Don't need version.c
22972         [db9a830ad893]
22973
22974         * aclocal.m4, config.h.in, configure, configure.in:
22975         Add check for syslog facilities and priorities tables in syslog.h
22976         [b86213e5fc5c]
22977
22978         * Makefile.in:
22979         o authenticate -> aix_auth o add version.c
22980         [44b6b9a8d0f5]
22981
22982         * auth/sudo_auth.c:
22983         Missed a prompt -> user_prompt conversion
22984         [e4c60b1f210c]
22985
22986 1999-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
22987
22988         * TODO:
22989         sudo should lock its logfile
22990         [6d2830b28b07]
22991
22992         * parse.yacc, sudo.tab.c:
22993         o Add '!' correctly when expanding Aliases. o Add shortcut macros
22994         for append() to make things more readable. o The separator in
22995         append() is now a string instead of a char. o In append(), only
22996         prepend the separator if the last char is not a '!'. This is a
22997         hack but it greatly simplifies '!' handling. o In -l mode, Runas
22998         lists and NOPASSWD/PASSWD tags are now inherited across entries in
22999         a list (matches current behavior). o Fix formatting in -l mode such
23000         that items in a list are separated by a space. Greatlt improves
23001         readability. o Space for name field in struct aliasinfo is now
23002         allocated dyanically instead of using a (big) buffer. o In
23003         add_alias(), only search the list once (lsearch instead of lfind +
23004         lsearch)
23005         [51f7e07addb9]
23006
23007         * lex.yy.c, sudo.tab.c, sudo.tab.h:
23008         regen
23009         [5c19bb05dc21]
23010
23011         * configure, configure.in:
23012         Solais pam doesn't require anye xtra setup
23013         [a25ba03d91d1]
23014
23015         * parse.yacc:
23016         o Simpler '!' support now that the lexer deals with multiple !'s for
23017         us. o In the case of opFOO, have FOO give a boolean return value and
23018         set foo_matches in opFOO, not FOO. o Treat 'ALL' as a string since
23019         it gets fill()'d in parse.lex--fixes a small memory leak. In the
23020         long run it may be better to just fix parse.lex and make ALL back
23021         into a token. However, having it be a string is useful since it
23022         can be easily passed back to the parent rule if we so desire.
23023         [b3c64b443018]
23024
23025         * parse.lex:
23026         o Remove some unnecessary backslashes o collapse multiple !'s by
23027         using !+ and checking if yyleng is even or odd. this allows us to
23028         simplify ! handling in parse.yacc
23029         [76330e8da8e3]
23030
23031         * sudo.c:
23032         -u flag was being ignored
23033         [e30283207585]
23034
23035 1999-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
23036
23037         * Makefile.in:
23038         correct fix
23039         [a0e2377dec8f]
23040
23041         * Makefile.in:
23042         work around pod2man stupididy
23043         [7c755640b67f]
23044
23045         * Makefile.in:
23046         correct dependencies for .cat
23047         [5ed7b0653b68]
23048
23049         * sudo.cat, sudo.man, visudo.cat, visudo.man:
23050         regen
23051         [b74510dd6a0a]
23052
23053         * sudo.pod, visudo.pod:
23054         Add copyright Update to reality
23055         [188e9b046c15]
23056
23057         * parse.c, sudo.c, sudo.h:
23058         rename validate() to the more descriptive sudoers_lookup()
23059         [7a1cb652f379]
23060
23061         * auth/aix_auth.c:
23062         use tgetpass
23063         [b8ba5daec40a]
23064
23065 1999-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
23066
23067         * CHANGES:
23068         updates
23069         [e61460cdf4a0]
23070
23071         * HISTORY, INSTALL, Makefile.in, README, RUNSON, TROUBLESHOOTING,
23072         configure, configure.in, sudo.c:
23073         Sudo, not CU Sudo
23074         [9061b3573c0c]
23075
23076         * LICENSE:
23077         add 4th term to license similar to term 5 in the apache license
23078         [92712e895afb]
23079
23080         * emul/search.h, emul/utime.h:
23081         add 4th term to license similar to term 5 in the apache license
23082         [4f93a8b9396e]
23083
23084         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/fwtk.c, auth/kerb4.c,
23085         auth/kerb5.c, auth/pam.c, auth/passwd.c, auth/rfc1938.c,
23086         auth/secureware.c, auth/securid.c, auth/sia.c, auth/sudo_auth.c,
23087         auth/sudo_auth.h, insults.h, interfaces.c, interfaces.h, lex.yy.c,
23088         logging.c, logging.h, parse.c, parse.h, parse.lex, parse.yacc,
23089         pathnames.h.in, putenv.c, strerror.c, sudo.c, sudo.h, sudo.tab.c,
23090         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
23091         visudo.c:
23092         add 4th term to license similar to term 5 in the apache license
23093         [afae9f2bf9ec]
23094
23095         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
23096         add 4th term to license similar to term 5 in the apache license
23097         [c389d3fdafac]
23098
23099         * Makefile.in, alloc.c, check.c, compat.h, config.h.in, find_path.c,
23100         getspwuid.c, goodpath.c:
23101         add 4th term to license similar to term 5 in the apache license
23102         [969e63dbd38e]
23103
23104         * LICENSE, aclocal.m4, auth/rfc1938.c, check.c, configure.in,
23105         insults.h, logging.c, sudo.c, sudo.h:
23106         there was a 1995 release too
23107         [5963fd89457a]
23108
23109 1999-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23110
23111         * CHANGES:
23112         updates
23113         [254b794f16ab]
23114
23115         * check.c:
23116         Use dirs instead of files for timestamp. This allows tty and non-
23117         tty schemes to coexist reasonably. Note, however, that when you
23118         update a tty ticket, the mtime on the user dir gets updated as well.
23119         [44bfac32f799]
23120
23121         * configure, configure.in:
23122         Fix getprpwnam() checking on SCO. Need to link with "-lprot -lx"
23123         when linking test program, not just -lprot. Also add check for
23124         getspnam(). The SCO docs indicate that /etc/shadow can be used but
23125         this may be a lie.
23126         [2ba21d36cc1e]
23127
23128 1999-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23129
23130         * auth/API:
23131         first cut at auth API description
23132         [3d10df021eb8]
23133
23134 1999-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23135
23136         * auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/pam.c, auth/rfc1938.c,
23137         auth/secureware.c, auth/securid.c, auth/sudo_auth.c,
23138         auth/sudo_auth.h:
23139         auth API change. There is now an init method that gets run before
23140         the main loop. This allows auth routines to differentiate between
23141         initialization that happens once vs. setup that needs to run each
23142         time through the loop.
23143         [76df1c0d3478]
23144
23145         * auth/kerb5.c, logging.c:
23146         use easprintf() and evasprintf()
23147         [fd97d96dc12f]
23148
23149         * alloc.c, sudo.h:
23150         add easprintf() and evasprintf(), error checking versions of
23151         asprintf() and vasprintf()
23152         [f54385de20b7]
23153
23154         * TODO:
23155         remove 2 items. One done, one won't do.
23156         [64513b47bc7a]
23157
23158         * lex.yy.c, sudo.tab.c:
23159         regen
23160         [4aa299de2752]
23161
23162         * configure, sudo.cat, sudo.html, sudo.man, sudoers.html, visudo.cat,
23163         visudo.html, visudo.man:
23164         regen
23165         [553c0d1209be]
23166
23167         * CHANGES:
23168         new changes
23169         [d7be00b7e36b]
23170
23171         * sudo.pod:
23172         o Document -K flag and update meaning of -k flag. o BSD-style
23173         copyright o Document clearing of BIND resolver environment variables
23174         o Clarify bit about shared libs o suggest rc files create /tmp/.odus
23175         if your OS gives away files
23176         [4a4092be1455]
23177
23178         * visudo.pod:
23179         BSD license
23180         [ad0bfd0a4630]
23181
23182         * version.h:
23183         BSD-style copyright
23184         [ecc6479325be]
23185
23186         * tgetpass.c:
23187         o BSD copyright o no need to block signals, we now do that in main()
23188         o cosmetic changes
23189         [61958beda7ab]
23190
23191         * testsudoers.c, visudo.c:
23192         o BSD-style copyright o Use "struct sudo_user" instead of old
23193         globals. o some cometic cleanup
23194         [88c0c6924082]
23195
23196         * sudo_setenv.c:
23197         BSD-style copyright
23198         [df20290129a0]
23199
23200         * sudo.h:
23201         o BSD copyright o logging and parser bits moved to their own .h
23202         files o new "struct sudo_user" to encapsulate many of the old
23203         globals.
23204         [50fc86bf25cb]
23205
23206         * sudo.c:
23207         o no longer contains sudo 1.1/1.2 code o BSD copyright o use new
23208         logging routines o simplified flow of control o BIND resolver
23209         additions to badenv_table
23210         [8c53f15bfcb0]
23211
23212         * strerror.c:
23213         BSD-style copyright
23214         [7c906c3a82ac]
23215
23216         * snprintf.c:
23217         Now compiles on more K&R compilers
23218         [07ab1d3231c7]
23219
23220         * putenv.c:
23221         BSD-style copyright, cosmetic changes
23222         [c42371295881]
23223
23224         * pathnames.h.in:
23225         BSD-style copyright
23226         [e5c34ebd4cf1]
23227
23228         * parse.c, parse.h, parse.lex, parse.yacc:
23229         BSD-style copyright. Move parser-specific defines and structs into
23230         parse.h + other cosmetic changes
23231         [d3088efb6228]
23232
23233         * logging.h:
23234         defines for logging routines
23235         [13147941c02d]
23236
23237         * find_path.c, getspwuid.c, goodpath.c, interfaces.c:
23238         BSD-style copyright, cosmetic changes
23239         [e8205e91a4fa]
23240
23241         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23242         interfaces.h:
23243         BSD-style copyright
23244         [b9499da7cdce]
23245
23246         * configure.in:
23247         o tgetpass.c is no longer optional o kill DCE_OBJS, add AUTH_OBJS o
23248         kill --disable-tgetpass o add --without-passwd o changes to fill in
23249         AUTH_OBJS for new auth api o check for strerror(), v?snprintf() and
23250         v?asprintf() o replace --with-AuthSRV with --with-fwtk
23251         [9a3f39b9c128]
23252
23253         * config.h.in:
23254         BSD-style copyright. Remove USE_GETPASS and HAVE_UTIME_NULL. Add
23255         HAVE_FWTK, HAVE_STRERROR, HAVE_SNPRINTF, HAVE_VSNPRINTF,
23256         HAVE_ASPRINTF, HAVE_VASPRINTF, WITHOUT_PASSWD and NO_PASSWD
23257         [9a09054db53a]
23258
23259         * compat.h:
23260         BSD-style copyright; Add S_IFLNK and MIN/MAX id they are missing.
23261         [25509c566975]
23262
23263         * alloc.c:
23264         BSD-style copyright
23265         [4967be892363]
23266
23267         * TROUBLESHOOTING:
23268         no more --with-getpass
23269         [afd5b670c196]
23270
23271         * TODO:
23272         Take out things I've done...
23273         [375420c8270e]
23274
23275         * README:
23276         Refer to LICENSE
23277         [c486c8db30f6]
23278
23279         * PORTING:
23280         --with-getpass no longer exists
23281         [db48202df1bb]
23282
23283         * Makefile.in:
23284         BSD-style copyright. Update to reflect reality wrt new files and
23285         new auth modules.
23286         [61a2ca7940fb]
23287
23288         * INSTALL:
23289         Remove --with-AuthSRV and --disable-tgetpass. Add --with-fwtk and
23290         --without-passwd.
23291         [64e8f9e1c05e]
23292
23293         * HISTORY:
23294         Update history a bit
23295         [df60c0a871b8]
23296
23297         * COPYING, LICENSE:
23298         Now distributed under a BSD-style license
23299         [d1a184ccabe1]
23300
23301         * auth/sudo_auth.c:
23302         o BSD-style copyright o Add support for NO_PASSWD/WITHOUT_PASSWD
23303         options. o skey/opie replaced by rfc1938 code o new struct sudo_user
23304         global
23305         [891b57060868]
23306
23307         * auth/pam.c, auth/sia.c:
23308         BSD-style copyright and use new log functions
23309         [65c44445ea84]
23310
23311         * auth/kerb5.c:
23312         o BSD-style copyright o Use new log functiongs o Use asprintf() and
23313         snprintf() where sensible.
23314         [1ff0feaacf95]
23315
23316         * check.c:
23317         Rewrote all the old sudo 1.1/1.2 code. Timestamp handling is now
23318         done more reasonably--better sanity checks and tty-based stamps are
23319         now done as files in a directory with the same name as the invoking
23320         user, eg. /var/run/sudo/millert/ttyp1. It is not currently possible
23321         to mix tty and non-tty based ticket schemes but this may change in
23322         the future (it requires sudo to use a directory instead of a file in
23323         the non-tty case). Also, ``sudo -k'' now sets the ticket back to
23324         the epoch and ``sudo -K'' really deletes the file. That way you
23325         don't get the lecture again just because you killed your ticket in
23326         .logout. BSD-style copyright now.
23327         [ec3460f85be8]
23328
23329         * logging.c:
23330         o rewritten logging routines. log_error() now takes printf-style
23331         varargs and log_auth() for the return value of validate(). o BSD-
23332         style copyright
23333         [438292025c4e]
23334
23335         * auth.c, check_sia.c, dce_pwent.c, secureware.c:
23336         superceded by new auth API
23337         [412060590da7]
23338
23339         * auth/kerb4.c:
23340         BSD-style copyright
23341         [cc4e800833c7]
23342
23343         * auth/fwtk.c:
23344         Use snprintf() where it makes sense and add a BSD-style copyright
23345         [1b7502388a74]
23346
23347         * auth/afs.c, auth/aix_auth.c, auth/dce.c, auth/passwd.c,
23348         auth/rfc1938.c, auth/secureware.c, auth/securid.c, auth/sudo_auth.h:
23349         BSD-style copyright
23350         [42583bedae5c]
23351
23352         * emul/utime.h, utime.c:
23353         BSD-style copyright
23354         [3985c90aba47]
23355
23356         * emul/search.h:
23357         this has been rewritten so use my BSD-style copyright
23358         [176df1b0de6f]
23359
23360 1999-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23361
23362         * snprintf.c:
23363         include malloc.h if no stdlib.h
23364         [7b123f1d1d03]
23365
23366         * snprintf.c:
23367         KTH snprintf()/asprintf() for systems w/o them
23368         [3ca9aefb9d01]
23369
23370         * strerror.c:
23371         strerror() for systems w/o it
23372         [7f0bd8a1c1b4]
23373
23374 1999-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
23375
23376         * visudo.c:
23377         stylistic changes
23378         [6f99aceb7170]
23379
23380         * parse.c, parse.lex, parse.yacc:
23381         Add contribution info in the main comment
23382         [e50cec10acd6]
23383
23384 1999-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23385
23386         * auth/pam.c:
23387         remove missed ref to PAM_nullpw
23388         [a43e59692cdb]
23389
23390         * auth/sudo_auth.h:
23391         pasto
23392         [891ff138ab89]
23393
23394         * auth/kerb5.c:
23395         more or less complete now--still untested
23396         [21036732faa0]
23397
23398         * auth/afs.c, auth/pam.c:
23399         don't use user_name macro, it will go away
23400         [def7cf727349]
23401
23402         * auth/opie.c, auth/rfc1938.c, auth/skey.c, auth/sudo_auth.h:
23403         combine skey/opie code into rfc1938.c
23404         [44d88ca93d3e]
23405
23406         * auth/dce.c, auth/sudo_auth.h:
23407         DCE authentication method; basically unchanged from dce_pwent.c
23408         [4d468473dd6f]
23409
23410         * auth/aix_auth.c, auth/sudo_auth.h:
23411         AIX authenticate() support. Could probably be much better
23412         [000013321a33]
23413
23414         * auth/sia.c:
23415         Fix an uninitialized variable and some cleanup. Now works (tested)
23416         [fd6ad88ff055]
23417
23418         * auth/sia.c, auth/sudo_auth.h:
23419         SIA support for digital unix
23420         [5335f3e70eab]
23421
23422         * auth/pam.c:
23423         don't use prompt global, it will go away
23424         [fadd22dd6ce4]
23425
23426         * auth/secureware.c:
23427         correct copyright years
23428         [6aa07c49f51b]
23429
23430         * auth/afs.c, auth/fwtk.c, auth/kerb4.c, auth/kerb5.c, auth/opie.c,
23431         auth/pam.c, auth/passwd.c, auth/secureware.c, auth/securid.c,
23432         auth/skey.c, auth/sudo_auth.c, auth/sudo_auth.h:
23433         New authentication API and methods
23434         [9debe9b59c79]
23435
23436 1999-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23437
23438         * sudo.tab.c:
23439         regen
23440         [84578e82c1a6]
23441
23442         * parse.yacc:
23443         only save an entry if user_matches && host_matches, even if the
23444         stack is empty (fix for previous commit)
23445         [00984b078d8a]
23446
23447         * sudo.tab.c:
23448         regen
23449         [66acf160b4b7]
23450
23451         * parse.yacc:
23452         1) Always save an entry on the stack if it is empty. This fixes the
23453         -l and -v flags that were broken by earlier parser changes.
23454
23455         2) In a Runas list, don't negate FALSE -> TRUE since that would make
23456         !foo match any time the user specified a runas user (via -u) other
23457         than foo.
23458         [f322eb54b015]
23459
23460         * testsudoers.c:
23461         interfaces and num_interfaces are now auto, not extern
23462         [113add5c6518]
23463
23464 1999-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23465
23466         * auth.c:
23467         use a static global to keep stae about empty passwords
23468         [bc02e30807d8]
23469
23470         * check_sia.c:
23471         make PASSWORD_NOT_CORRECT logging consistent with other modules
23472         [21962549d5fd]
23473
23474 1999-07-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23475
23476         * auth.c:
23477         PAM prompt code was wrong, looks like we have to kludge it after
23478         all.
23479         [91f246155ead]
23480
23481         * auth.c:
23482         In the PAM code, when a user hits return at the first password
23483         prompt, exit without a warning just like the normal auth code
23484         [918f59bacdb7]
23485
23486         * configure, configure.in:
23487         kludge around cross-compiler false positives
23488         [5e5fc8356400]
23489
23490         * auth.c, check.c, check_sia.c, logging.c, sudo.h, tgetpass.c:
23491         New (correct) PAM code Tgetpass now takes an echo flag for use with
23492         PAM_PROMPT_ECHO_ON Block SIGINT and SIGTSTP during auth remove a
23493         useless umask setting Change error from BAD_ALLOCATION ->
23494         BAD_AUTH_INIT (for use with sia/PAM) Some cosmetic changes to auth.c
23495         for consistency
23496         [e71397f09dd8]
23497
23498         * sudo.c:
23499         Some -Wall and kill some trailing spaces
23500         [8229b43d5c4e]
23501
23502         * configure.in:
23503         define -D__EXTENSIONS__ for solaris so we get crypt() proto
23504         [7533e4436cab]
23505
23506 1999-06-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23507
23508         * RUNSON:
23509         add Dynix 4.4.4
23510         [b69f773efbce]
23511
23512         * INSTALL, config.h.in, configure, configure.in:
23513         for kerberos V < version, fall back on old kerb4 auth code
23514         [d685ed3a1d8e]
23515
23516         * INSTALL:
23517         clarify some things
23518         [2f5ba2e8e53a]
23519
23520         * UPGRADE, sudoers.cat, sudoers.man, sudoers.pod:
23521         typos
23522         [8925a109c093]
23523
23524 1999-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23525
23526         * sudo.c:
23527         mention why DONT_LEAK_PATH_INFO is not the default
23528         [0346260cb4ec]
23529
23530 1999-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23531
23532         * tgetpass.c:
23533         Fix open(2) return value checking, was NULL for fopen, should be -1
23534         for open
23535         [355878bf6d8a]
23536
23537         * configure:
23538         regen
23539         [68bf82871862]
23540
23541         * configure.in:
23542         better wording for solaris pam notice
23543         [04e88c7a6c42]
23544
23545         * CHANGES:
23546         document recent changes
23547         [7c922c5622ef]
23548
23549         * TROUBLESHOOTING:
23550         Update shadow password section
23551         [e8448bae7d66]
23552
23553         * auth.c:
23554         move authentication code from check.c to auth.c
23555         [e9f6ecae2399]
23556
23557         * Makefile.in, check.c, sudo.h:
23558         move authentication code to auth.c
23559         [124cded85f46]
23560
23561 1999-05-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23562
23563         * Makefile.in, check.c, check_sia.c, compat.h, find_path.c,
23564         getspwuid.c, goodpath.c, interfaces.c, interfaces.h, lex.yy.c,
23565         logging.c, parse.c, parse.lex, parse.yacc, secureware.c, sudo.c,
23566         sudo.h, sudo.tab.c, sudo_setenv.c, testsudoers.c, tgetpass.c,
23567         visudo.c:
23568         Move interface-related defines to interfaces.h so we don't have to
23569         include <netinet/in.h> everywhere.
23570         [e7599d8ea0bf]
23571
23572 1999-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
23573
23574         * CHANGES, INSTALL, TODO, check.c, compat.h, getspwuid.c, logging.c,
23575         parse.yacc, sudo.c, sudo.tab.c, tgetpass.c:
23576         o Replace _PASSWD_LEN braindeath with our own SUDO_MAX_PASS. It
23577         turns out the old DES crypt does the right thing with passwords
23578         longert than 8 characters. o Fix common typo (necesary ->
23579         necessary) o Update TODO list
23580         [ad75007a6f13]
23581
23582 1999-05-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23583
23584         * sudo.c:
23585         set $LOGNAME when we set $USER
23586         [391596210fd7]
23587
23588 1999-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
23589
23590         * INSTALL:
23591         add comment about digital unix and interfaces.c warning with gcc
23592         [e20f815901cc]
23593
23594 1999-04-15  Todd C. Miller  <Todd.Miller@courtesan.com>
23595
23596         * sample.sudoers:
23597         use modern paths and give examples for some of the new parser
23598         features
23599         [e7b2e507c695]
23600
23601 1999-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
23602
23603         * parse.c:
23604         fix comment
23605         [5eb0d005a65f]
23606
23607         * alloc.c, check.c, check_sia.c, dce_pwent.c, find_path.c,
23608         getspwuid.c, goodpath.c, interfaces.c, lex.yy.c, logging.c, parse.c,
23609         parse.lex, parse.yacc, putenv.c, secureware.c, sudo.c, sudo.tab.c,
23610         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
23611         Function names should be flush with the start of the line so they
23612         can be found trivially in an editor and with grep
23613         [3c400abde574]
23614
23615         * find_path.c, interfaces.c, lex.yy.c, parse.c, parse.lex, parse.yacc,
23616         sudo.c, sudo.tab.c, testsudoers.c, tgetpass.c, visudo.c:
23617         free(3) is already void, no need to cast it
23618         [6981e1ebda0f]
23619
23620         * logging.c, sudo.c, sudo.h:
23621         catch case where cmnd_safe is not set (this should not be possible)
23622         [3e1e3038546c]
23623
23624         * CHANGES, logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c,
23625         testsudoers.c, visudo.c:
23626         Stash the "safe" path (ie: the one listed in sudoers) to the command
23627         instead of stashing the struct stat. Should be safer.
23628         [aa2883fcf57e]
23629
23630 1999-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
23631
23632         * INSTALL, Makefile.in, UPGRADE:
23633         notes on updating from an earlier release
23634         [df9fffa4ab2c]
23635
23636         * CHANGES:
23637         updated
23638         [574f5065d15a]
23639
23640 1999-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23641
23642         * parse.yacc, sudo.tab.c, sudo.tab.h, sudoers.cat, sudoers.html,
23643         sudoers.man, sudoers.pod:
23644         You can now specifiy a host list instead of just a host or alias.
23645         Ie: user = host1,host2,ALIAS,!host3 my_command now works.
23646         [e3942bb78021]
23647
23648         * testsudoers.c:
23649         Quiet -Wall
23650         [a3edc8b08c3a]
23651
23652         * parse.yacc, sudo.tab.c:
23653         Move the push from the beginning of cmndspec to the end. This means
23654         we no longer have to do a push at the end of privilege, just reset
23655         some values.
23656         [8ea66e5860c6]
23657
23658         * sudoers.cat, sudoers.html, sudoers.man, sudoers.pod:
23659         runas-lists and NOPASSWD/PASSWD modifiers are now sticky and you can
23660         use "!" most everywhere
23661         [aadae4d1c9d5]
23662
23663 1999-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
23664
23665         * sudoers.pod:
23666         modernize paths and update su example based on sample.sudoers one
23667         [3f6a37e16c83]
23668
23669         * sample.sudoers:
23670         New runas semantics
23671         [756ee92865b7]
23672
23673         * CHANGES, Makefile.in, alloc.c, config.h.in, configure, configure.in,
23674         strdup.c, sudo.h:
23675         In estrdup(), do the malloc ourselves so we don't need to rely on
23676         the system strdup(3) which may or may not exist. There is now no
23677         need to provide strdup() for those w/o it. Also, the prototype for
23678         estrdup() was wrong, it returns char * and its param is const.
23679         [5f1f984da8e3]
23680
23681         * getcwd.c:
23682         $Sudo tag
23683         [e4188a35e68c]
23684
23685         * check.c:
23686         buf should be prompt; Michael Robokoff <mrobo@networkcs.com>
23687         [2aec87c86cde]
23688
23689         * CHANGES, TODO, parse.yacc, sudo.tab.c:
23690         It is now possible to use the '!' operator in a runas list as well
23691         as in a Cmnd_Alias, Host_Alias and User_Alias.
23692         [a4fdaabda990]
23693
23694         * logging.c, sudo.h:
23695         Kill GLOBAL_NO_SPW_ENT (not used) and crank GLOBAL_PROBLEM
23696         [73d0376785ae]
23697
23698         * sudo.h:
23699         Definitions of *_matched were wrong--user top, not top-2 as
23700         subscript.
23701         [5f8350a57362]
23702
23703         * logging.c, parse.c, parse.yacc, sudo.c, sudo.h, sudo.tab.c:
23704         Add VALIDATE_NOT_OK_NOPASS for when user is not allowed to run a
23705         command but the NOPASSWD flag was set. Make runasspec, runaslist,
23706         runasuser, and nopasswd typeless in parse.yacc Add support for '!'
23707         in the runas list Fix double printing of '%' and '+' for groups and
23708         netgroups respectively Add *_matched macros (no need for local stack
23709         variable). Should only be used directly after a pop (since top must
23710         be >= 2).
23711         [392b1400c4e6]
23712
23713         * aclocal.m4, configure.in:
23714         Add copyright, somewhat silly
23715         [55c2cdd82dca]
23716
23717 1999-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
23718
23719         * BUGS, INSTALL, Makefile.in, README, alloc.c, check.c, check_sia.c,
23720         compat.h, config.h.in, configure, configure.in, dce_pwent.c,
23721         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
23722         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
23723         lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in,
23724         putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h,
23725         sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat, sudoers.man,
23726         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c, visudo.cat,
23727         visudo.man:
23728         Crank version to 1.6 and combine copyright statements
23729         [0e1c791658ae]
23730
23731         * sample.sudoers:
23732         Use ! not ^ to do negation
23733         [1480a0761730]
23734
23735         * lex.yy.c, sudo.tab.c:
23736         regen
23737         [89ca5a46684b]
23738
23739         * parse.lex, parse.yacc:
23740         Make runas and NOPASSWD tags persistent across entris in a command
23741         list. Add a PASSWD tag to reverse NOPASSWD. When you override a
23742         runas or *PASSWD tag the value given becomes the new default for the
23743         rest of the command list.
23744         [f1bbb4066542]
23745
23746 1999-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
23747
23748         * CHANGES, RUNSON:
23749         update for 1.5.9
23750         [a1ae9d4a7d54] [SUDO_1_5_9]
23751
23752         * visudo.c:
23753         Shift return value of system(3) by 8 to get real exit value and if
23754         it is not 1 or 0 print the retval along with the error message.
23755         [c1ff50d743fb]
23756
23757 1999-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
23758
23759         * Makefile.in:
23760         testsudoers needs LIBOBJS too
23761         [972571b4e4bf]
23762
23763         * parse.c, parse.yacc, sudo.tab.c:
23764         Fix another parser bug. For a sudoers entry like this: millert
23765         ALL=/bin/ls,(daemon) !/bin/ls sudo would not allow millert to run ls
23766         as root.
23767         [51968e1eb33d]
23768
23769         * CHANGES:
23770         new change
23771         [271c6110bb62]
23772
23773         * parse.yacc, sudo.tab.c:
23774         Save entries that match a ! command on the matching stack too
23775         [5afb5107116c]
23776
23777         * sudo.c:
23778         Make sudo's usage info better when mutually exclusive args are given
23779         and don't rely on argument order to detect this; nick@zeta.org.au
23780         [2422753c88fd]
23781
23782 1999-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
23783
23784         * CHANGES, Makefile.in, RUNSON:
23785         updates from CU
23786         [b37381e3dafb]
23787
23788         * Makefile.in:
23789         use gzip
23790         [94a64e52a166]
23791
23792         * parse.yacc, sudo.tab.c:
23793         Fix off by one error introduced in *alloc changes
23794         [95ede581153a]
23795
23796         * BUGS, CHANGES, INSTALL, Makefile.in, README, alloc.c, check.c,
23797         check_sia.c, compat.h, config.h.in, configure, configure.in,
23798         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
23799         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23800         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
23801         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.cat,
23802         sudo.h, sudo.man, sudo.tab.c, sudo_setenv.c, sudoers.cat,
23803         sudoers.man, testsudoers.c, tgetpass.c, utime.c, version.h,
23804         visudo.c, visudo.cat, visudo.html, visudo.man, visudo.pod:
23805         ++version
23806         [c6d88f024e37]
23807
23808         * Makefile.in, check.c, find_path.c, getspwuid.c, goodpath.c,
23809         interfaces.c, lex.yy.c, logging.c, parse.c, parse.lex, parse.yacc,
23810         putenv.c, secureware.c, strdup.c, sudo.c, sudo.h, sudo.tab.c,
23811         sudo_setenv.c, testsudoers.c, utime.c, visudo.c:
23812         Use emalloc/erealloc/estrdup
23813         [44221d97361a]
23814
23815         * alloc.c:
23816         error checking memory allocation routines
23817         [5f8c1e7bbc71]
23818
23819         * parse.yacc, sudo.tab.c:
23820         Still not right, this fixes it for real
23821         [ad553b6f5339]
23822
23823         * parse.yacc, sudo.tab.c:
23824         Fix for previous commit
23825         [4d6f989f9bf2]
23826
23827         * CHANGES, INSTALL, parse.yacc:
23828         Fix a parser bug that was exposed when mixing different runas specs
23829         and ! commands. For example: millert ALL=(daemon)
23830         /usr/bin/whoami,!/bin/ls would allow millert to run whoami as root
23831         as well as daemon when it should just allow daemon. The problem was
23832         that comma-separated commands in a list shared the same entry on the
23833         matching stack. Now they get their own entry iff there is a full
23834         match. It may be better to just make the runas spec persistent
23835         across all commands in a list like the user and host entries of the
23836         matching stack. However, since that is a fairly major change it
23837         should gets its own minor rev increase.
23838         [c4b939cdcc8e]
23839
23840 1999-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
23841
23842         * check.c, config.h.in:
23843         Simplify PAM code and fix a PAM-related warning on Linux
23844         [2468399523b6]
23845
23846 1999-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23847
23848         * CHANGES:
23849         updates
23850         [29d4a997769c]
23851
23852         * sample.sudoers:
23853         better su entry
23854         [76d8285a72ba]
23855
23856         * configure:
23857         regen
23858         [b7450cc6975d]
23859
23860         * check.c, configure.in:
23861         new pam code that works on solaris, should work on linux too;
23862         aelberg@home.com
23863         [84c16c0ff259]
23864
23865 1999-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
23866
23867         * RUNSON:
23868         more entries
23869         [b6bef8660759]
23870
23871         * config.h.in:
23872         only include strings.h if there is no string.h
23873         [b66054a32b00]
23874
23875 1999-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23876
23877         * config.guess:
23878         Sinix is now being called ReliantUNIX; bjjackso@us.oracle.com
23879         [c086d2fe63af]
23880
23881 1999-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
23882
23883         * sudo.c:
23884         shost must be set before log functions are called #ifdef HOST_IN_LOG
23885         [d49a7944358f]
23886
23887 1999-03-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23888
23889         * CHANGES, lex.yy.c, parse.lex:
23890         Fix a bug wrt quoting characters in command args. Stop processing
23891         an arg when you hit a backslash so the quoted-character detection
23892         can catch it.
23893         [2281438d7f41]
23894
23895 1999-02-26  Todd C. Miller  <Todd.Miller@courtesan.com>
23896
23897         * interfaces.c:
23898         include sys/time.h; aparently AIX needs it. ppz@cdu.elektra.ru
23899         [31118a9e9916]
23900
23901 1999-02-24  Todd C. Miller  <Todd.Miller@courtesan.com>
23902
23903         * configure, configure.in:
23904         add missing case statement so --without-sendmail works
23905         [ca25614f7dd9]
23906
23907 1999-02-23  Todd C. Miller  <Todd.Miller@courtesan.com>
23908
23909         * CHANGES:
23910         more
23911         [4d70e44f7f93]
23912
23913 1999-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
23914
23915         * configure, configure.in:
23916         only search for -lsun in irix <= 4.x
23917         [e604238317b1]
23918
23919         * configure, configure.in:
23920         back out last configure.in change now that I've hacked autoconf to
23921         fix the real problem and add a missing newline
23922         [2dabf59a79b5]
23923
23924         * CHANGES:
23925         updated
23926         [bb35d526552f]
23927
23928         * getcwd.c:
23929         add def of dirfd() for those without it
23930         [95f0173d8441]
23931
23932         * configure, configure.in:
23933         When falling back to checking for socket() when linking with
23934         "-lsocket -lnsl" check for main() instead since autoconf has already
23935         cached the results of checking for socket() in -lsocket. This is
23936         really an autoconf bug as it should use the extra libs as part of
23937         the cache variable name.
23938         [a845f8b710ad]
23939
23940         * configure.in:
23941         typo
23942         [a7d62f62a478]
23943
23944 1999-02-21  Todd C. Miller  <Todd.Miller@courtesan.com>
23945
23946         * configure.in:
23947         fix occurrence of $with_timeout that should be
23948         $with_password_timeout; Michael.Neef@neuroinformatik.ruhr-uni-
23949         bochum.de
23950         [8c4da2cf73d1]
23951
23952 1999-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
23953
23954         * sudo.cat, sudo.html, sudo.man, sudo.pod:
23955         fix grammar; espie@openbsd.org
23956         [7031d9dfbc3e] [SUDO_1_5_8]
23957
23958 1999-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
23959
23960         * parse.yacc, sudo.c, testsudoers.c:
23961         add cast for strdup in places it does not have it
23962         [7ce4478d3b0f]
23963
23964 1999-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
23965
23966         * configure, configure.in:
23967         define for_BSD_TYPES irix
23968         [858337ff4af8]
23969
23970 1999-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
23971
23972         * Makefile.in, sudo.cat, sudo.html, sudo.man, sudo.pod:
23973         Make it clear that it is the user's password, not root's, that we
23974         want.
23975         [ae0f51b35ee4]
23976
23977         * check.c, sudo.h:
23978         If the user enters an empty password and really has no password,
23979         accept the empty password they entered. Perviously, they could
23980         enter anything
23981         *but* an empty password. Also, add GETPASS macro that calls either
23982         tgetpass() or getpass() depending on how sudo was configured.
23983         Problem noted by jdg@maths.qmw.ac.uk
23984         [2fde21ce94c1]
23985
23986 1999-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
23987
23988         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
23989         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, goodpath.c,
23990         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
23991         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc,
23992         pathnames.h.in, putenv.c, secureware.c, strdup.c, sudo.c, sudo.h,
23993         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
23994         visudo.c:
23995         add explicate copyright
23996         [d3b4449834a5]
23997
23998         * CHANGES:
23999         mention -lsocket, -lnsl configure changes
24000         [9140af4ad8ae]
24001
24002 1999-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
24003
24004         * sudo.c:
24005         Don't clobber errno after calling check_sudoers().
24006         [59bd581b2654]
24007
24008 1999-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
24009
24010         * configure, configure.in:
24011         When linking with both -lsocket and -lnsl be sure to do so in that
24012         order. Also, when we can't find socket() or inet_addr() and have to
24013         try linking with both libs, issue a warning.
24014         [0ee547163067]
24015
24016         * sudo.cat, sudo.man, sudo.pod:
24017         clarify bad timestamp and fmt
24018         [70e42cf56c75]
24019
24020 1999-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
24021
24022         * INSTALL, RUNSON:
24023         be clear that pam is linux-only and add a RUNSON entry
24024         [7fdeab875e0d]
24025
24026 1999-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24027
24028         * CHANGES, INSTALL, configure, configure.in:
24029         fix and correctly document --with-umask; problem noted by
24030         adap@adap.org
24031         [11cd0481d63a]
24032
24033 1999-01-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24034
24035         * configure, configure.in:
24036         only use /usr/{man,catman}/local to store man pages if suer didn't
24037         override prefix or mandir
24038         [781ad2cbe9be]
24039
24040         * INSTALL, configure, configure.in:
24041         fix typo, make --with-SecurID take an arg
24042         [026a9b4014fc]
24043
24044 1999-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24045
24046         * RUNSON:
24047         updates from users
24048         [2286982b31e6]
24049
24050         * CHANGES, INSTALL, check.c, configure, configure.in:
24051         FWTK 'authsrv' support from Kevin Kadow <kadow@MSG.NET>
24052         [23aa4e5c6b02]
24053
24054         * configure, configure.in:
24055         better fix for the problem of unresolved symbols in -lnsl or
24056         -lsocket
24057         [82fe70fc287f]
24058
24059         * configure, configure.in:
24060         when checking for functions in -lnsl and -lsocket link with both of
24061         them to avoid unresolved symbols on some weirdo systems
24062         [1734a591808e]
24063
24064 1999-01-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24065
24066         * BUGS, CHANGES, RUNSON, TODO:
24067         old changes that didn't make it into RCS before the RCS->CVS switch
24068         [846eb2b8f9aa]
24069
24070 1999-01-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24071
24072         * Makefile.in, check.c, check_sia.c, compat.h, config.h.in,
24073         configure.in, dce_pwent.c, emul/search.h, emul/utime.h, find_path.c,
24074         getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
24075         ins_goons.h, insults.h, interfaces.c, lex.yy.c, logging.c,
24076         lsearch.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
24077         secureware.c, strdup.c, sudo.c, sudo.pod, sudo_setenv.c,
24078         sudoers.pod, testsudoers.c, tgetpass.c, utime.c, visudo.c,
24079         visudo.pod:
24080         add sudo tags
24081         [962f81eaa5ab]
24082
24083         * sudo.h:
24084         testing Sudo tag
24085         [e84cbc521129]
24086
24087         * version.h:
24088         testing Sudo tag
24089         [a8c3a3998b88]
24090
24091         * BUGS, INSTALL, Makefile.in, README, check.c, check_sia.c, compat.h,
24092         config.h.in, configure, configure.in, dce_pwent.c, emul/utime.h,
24093         find_path.c, getspwuid.c, goodpath.c, ins_2001.h, ins_classic.h,
24094         ins_csops.h, ins_goons.h, insults.h, interfaces.c, lex.yy.c,
24095         logging.c, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
24096         secureware.c, strdup.c, sudo.c, sudo.cat, sudo.h, sudo.man,
24097         sudo_setenv.c, sudoers.cat, sudoers.man, testsudoers.c, tgetpass.c,
24098         utime.c, version.h, visudo.c, visudo.cat, visudo.man:
24099         crank version and regen files
24100         [23eacf00a1a4]
24101
24102         * Makefile.in:
24103         kill rcs goop in update_version and fix now that version is a const
24104         [e6e50bd8d1e1]
24105
24106         * INSTALL, check.c, config.h.in, configure, configure.in, logging.c,
24107         sudo.c, sudo.h, sudo.pod:
24108         kerb5 support from fcusack@iconnet.net
24109         [8134027986e2]
24110
24111         * realpath.c, sudo_realpath.c:
24112         we no longer use realpath
24113         [0f5f64abc646]
24114
24115         * qualify.c:
24116         replaced by find_path.c
24117         [9e32a87e09c4]
24118
24119         * options.h:
24120         all options are now configure flags
24121         [ee6bd9610102]
24122
24123         * lex.yy.c:
24124         regen
24125         [bdbf8a18161f]
24126
24127         * getwd.c:
24128         superceded by getcwd.c
24129         [1e54ee0990b4]
24130
24131         * getpass.c:
24132         superceded by tgetpass.c
24133         [4e0d1edc30e3]
24134
24135         * SUPPORTED:
24136         superceded by RUNSON
24137         [854c5a21cb53]
24138
24139         * OPTIONS:
24140         No longer used now that we have configure options for everything.
24141         [9b1ae1c89259]
24142
24143         * configure:
24144         regen based on configure.in
24145         [3a4d73936973]
24146
24147         * sudo.cat, sudo.html, sudo.man, sudoers.cat, sudoers.html,
24148         sudoers.man, visudo.cat, visudo.html, visudo.man:
24149         regen based on sudo.pod, sudoers.pod, and visudo.pod
24150         [c267beb90778]
24151
24152 1998-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24153
24154         * check.c:
24155         fix tty tickets in remove_timestamp (didn't use ':')
24156         [fd964a74a32b]
24157
24158 1998-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24159
24160         * interfaces.c:
24161         close sock when we are done with it
24162         [95de0380f8a4]
24163
24164 1998-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
24165
24166         * parse.yacc:
24167         never say "error on line -1"
24168         [361db1491121]
24169
24170 1998-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24171
24172         * configure.in:
24173         check for -lnsl before -lsocket
24174         [8e966d6bbcb5]
24175
24176         * configure.in:
24177         quote '[', ']' used in ranges correctly
24178         [fa4f9c6ff651]
24179
24180 1998-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24181
24182         * config.h.in:
24183         add missing NO_ROOT_SUDO noted by drno@tsd.edu
24184         [c969f25d1667]
24185
24186 1998-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24187
24188         * version.h:
24189         1.5.7
24190         [7a22de0bc148]
24191
24192         * INSTALL:
24193         more info for 1.5.7
24194         [30ad9e784799]
24195
24196         * README:
24197         update for 1.5.7
24198         [cd03a0a27cd2]
24199
24200         * parse.yacc:
24201         make increases of cm_list_size and ga_list_size be similar to
24202         increases of stacksize (ie: >= not > in initial compare).
24203         [6bd450a896c7]
24204
24205         * parse.yacc:
24206         when we get a syntax error, report it for the previous line since
24207         that's generally where the error occurred.
24208         [c4ac84058f0b]
24209
24210 1998-11-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24211
24212         * config.h.in, configure.in, interfaces.c:
24213         add back check for sys/sockio.h but only use it if SIOCGIFCONF is
24214         not defined
24215         [d197f31fd1e4] [SUDO_1_5_7]
24216
24217         * config.h.in:
24218         define BSD_COMP for svr4
24219         [87ac1147ff79]
24220
24221         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
24222         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
24223         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
24224         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24225         more -Wall
24226         [d98e2d32db2a]
24227
24228         * configure.in:
24229         kill check for sockio,h
24230         [4399779014c1]
24231
24232         * config.h.in:
24233         no more HAVE_SYS_SOCKIO_H
24234         [67484528e347]
24235
24236         * check.c, check_sia.c, find_path.c, getcwd.c, getspwuid.c,
24237         goodpath.c, interfaces.c, logging.c, lsearch.c, parse.c, parse.lex,
24238         parse.yacc, putenv.c, secureware.c, strdup.c, sudo.c, sudo_setenv.c,
24239         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24240         -Wall
24241         [2b7e83976788]
24242
24243 1998-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24244
24245         * sudo.c:
24246         add missing inform_user()
24247         [8689528c6d55]
24248
24249 1998-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24250
24251         * find_path.c:
24252         return NOT_FOUND if given fully qualified path and it does not exist
24253         previously it would perror(ENOENT) which bypasses the option to not
24254         leak path info
24255         [ccbc3d0130ae]
24256
24257         * configure.in:
24258         for kerb5, check for -lkerb4, fall back on -lkrb for kerb, check for
24259         -ldes
24260         [c77d3b484ece]
24261
24262 1998-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24263
24264         * INSTALL:
24265         tty tickets are user:tty now
24266         [a53a303a614d]
24267
24268         * check.c:
24269         when using tty tickets make it user:tty not user.tty as a username
24270         could have a '.' in it
24271         [3160b3f5c890]
24272
24273 1998-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24274
24275         * sudo.c:
24276         add "ignoring foo found in ." for auth successful case
24277         [24257169e0bd]
24278
24279 1998-11-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24280
24281         * sudo.c:
24282         add missing printf param
24283         [8c905124f777]
24284
24285 1998-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24286
24287         * INSTALL, config.h.in, configure.in, find_path.c, sudo.c, sudo.h:
24288         go back to printing "command not found" unless --disable-path-info
24289         specified. Also, tell user when we ignore '.' in their path and it
24290         would have been used but for --with-ignore-dot.
24291         [066e118c11e4]
24292
24293         * check.c, sudo.c:
24294         Only one space after a colon, not two, in printf's
24295         [38452f4c8007]
24296
24297 1998-11-05  Todd C. Miller  <Todd.Miller@courtesan.com>
24298
24299         * sudo.pod:
24300         document setting $USER
24301         [80557fe6aede]
24302
24303         * check.c:
24304         fix bugs with prompt expansion
24305         [44c4fca5f009]
24306
24307         * sudo.c:
24308         set $USER for root too
24309         [4b525e1c6269]
24310
24311 1998-11-04  Todd C. Miller  <Todd.Miller@courtesan.com>
24312
24313         * getspwuid.c:
24314         typo
24315         [5107446f43e0]
24316
24317         * configure.in:
24318         HP-UX's iscomsec is in -lsec, not libc
24319         [03c9f700b795]
24320
24321         * configure.in:
24322         remove some entries in the OS case statement that did nothing
24323         [ea96e7e0f624]
24324
24325         * TROUBLESHOOTING:
24326         add "cd" section and flush out syslog section
24327         [5107f7363b78]
24328
24329         * Makefile.in:
24330         no more sudo-lex.yy.c
24331         [ed50826efbbc]
24332
24333         * check_sia.c:
24334         add custom prompt support
24335         [6a285cea10b7]
24336
24337         * testsudoers.c:
24338         kill perror("malloc") since we already have a good error messages
24339         pw_ent -> pw for brevity
24340         [eee31052921e]
24341
24342         * sudo.c:
24343         kill perror("malloc") since we already have a good error messages
24344         pw_ent -> pw for brevity set $USER if -u specified
24345         [9f3753461f8a]
24346
24347         * parse.yacc:
24348         kill perror("malloc") since we already have a good error messages
24349         [849459088ac3]
24350
24351         * parse.c:
24352         kill perror("malloc") since we already have a good error messages
24353         pw_ent -> pw for brevity when checking if %group matches, look up
24354         user in password file so that %groups works in a RunAs spec.
24355         [0489b4ecc59a]
24356
24357         * logging.c:
24358         kill perror("malloc") since we already have a good error messages
24359         [3191a18b3526]
24360
24361         * check.c, getspwuid.c, interfaces.c:
24362         kill perror("malloc") since we already have a good error messages
24363         pw_ent -> pw for brevity
24364         [7193fdb38cf9]
24365
24366 1998-11-03  Todd C. Miller  <Todd.Miller@courtesan.com>
24367
24368         * tgetpass.c:
24369         the prompt is expanded before tgetpass is called
24370         [0f408f508041]
24371
24372         * sudo.h:
24373         tgetpass now has the same args as getpass again
24374         [b6778cd9d79f]
24375
24376         * getspwuid.c:
24377         add iscomsec, issecure support
24378         [007be7ec7ae7]
24379
24380         * check.c:
24381         we now expand any %h or %u in the prompt before passing to tgetpass
24382         [f3db8c9ee387]
24383
24384         * configure.in:
24385         add check for syslog(3) in -lsocket, -lnsl, -linet
24386         [5a96f902ce00]
24387
24388         * config.h.in:
24389         add HAVE_ISCOMSEC and HAVE_ISSECURE
24390         [f640b0d4cf05]
24391
24392         * configure.in:
24393         add check for iscomsec in HP-UX
24394         [b28b249040f0]
24395
24396         * configure.in:
24397         check for issecure if we have getpwanam on SunOS some options are
24398         incompatible with DUNIX SIA check for dispcrypt on DUNIX
24399         [a49d05d9c913]
24400
24401 1998-10-25  Todd C. Miller  <Todd.Miller@courtesan.com>
24402
24403         * config.h.in:
24404         add HAVE_DISPCRYPT
24405         [7376d543d8d6]
24406
24407         * secureware.c:
24408         add back support for non-dispcrypt based checking for older DUNIX
24409         [977b98e936be]
24410
24411         * INSTALL:
24412         sia changes
24413         [c5387c06e30f]
24414
24415         * configure.in:
24416         SIA becomes the default on Digital UNIX now havbe --disable-sia to
24417         turn it off...
24418         [3b647558ea13]
24419
24420         * check.c:
24421         move local includes after system ones
24422         [b2abad4c4aef]
24423
24424 1998-10-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24425
24426         * check.c, check_sia.c, sudo.h:
24427         add pass_warn() which prints out INCORRECT_PASSWORD or an insult to
24428         stderr
24429         [547cbf299661]
24430
24431         * check_sia.c:
24432         fix while loop in sia_attempt_auth() that checks the password. Only
24433         the first iteration was working.
24434         [1886fd1ac831]
24435
24436 1998-10-22  Todd C. Miller  <Todd.Miller@courtesan.com>
24437
24438         * aclocal.m4:
24439         don't trust UID_MAX or MAXUID
24440         [2aeddb1654d8]
24441
24442         * configure.in:
24443         fix two pastos
24444         [c18f0a10b75d]
24445
24446         * configure.in:
24447         fix typo
24448         [1eb3190ef12d]
24449
24450         * getspwuid.c, secureware.c:
24451         init crypt_type to INT_MAX since it is legal to be negative in DUNX
24452         5.0
24453         [cefbde04822d]
24454
24455         * configure.in:
24456         for secureware on dunix, use -lsecurity -ldb -laud -lm but check for
24457         -ldb since DUNX < 4.0 lacks it
24458         [e6b11d971068]
24459
24460 1998-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24461
24462         * check.c, compat.h, config.h.in, configure.in, getspwuid.c,
24463         secureware.c, sudo.c, tgetpass.c:
24464         getprpwuid is broken in HP-UX 10.20 at least (it sleeps for 2
24465         minutes if the shadow files don't exist).
24466         [2f297d095004]
24467
24468 1998-10-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24469
24470         * INSTALL:
24471         updated --with-editor blurb
24472         [77d8a3ea7328]
24473
24474         * TROUBLESHOOTING:
24475         tell how to put sudoers in a different dir
24476         [456cd20eb1d0]
24477
24478         * configure.in:
24479         add missing quotes around $with_editor
24480         [22881748ab1b]
24481
24482         * configure.in:
24483         typo in --with-editor bits
24484         [ab6964580681]
24485
24486         * INSTALL:
24487         I don't expect it to work on Solaris
24488         [1c2fceaaf56e]
24489
24490         * check.c:
24491         add back security/pam_misc.h
24492         [6ffd30033c1e]
24493
24494 1998-10-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24495
24496         * INSTALL:
24497         remove dunix note since configure checks for this now
24498         [e9904512b8e8]
24499
24500         * configure.in:
24501         add check for broken dunix prot.h (4.0 < 4.0D is bad)
24502         [8a4c1e6aef3b]
24503
24504         * getspwuid.c, secureware.c, tgetpass.c:
24505         new dunix shadow code, use dispcrypt(3)
24506         [1b936bc7268c]
24507
24508         * config.h.in:
24509         add HAVE_INITPRIVS
24510         [4369f4c4f914]
24511
24512         * sudo.c:
24513         call initprivs() if we have it for getprpwuid later on
24514         [11cf5915d826]
24515
24516         * Makefile.in:
24517         clean pathnames.h too
24518         [5f1df3262613]
24519
24520         * configure.in:
24521         quote "Sorry, try again." with [] since it has a comma in it set
24522         LIBS when we add stuff to SUDO_LIBS set SECUREWARE when we find
24523         getprpwuid() so we can check for bigcrypt, set_auth_parameters, and
24524         initprivs later.
24525         [e226b0a3f250]
24526
24527         * INSTALL:
24528         update Digital UNIX note about acl.h
24529         [80132b71d73a]
24530
24531         * INSTALL:
24532         add --with-sia
24533         --without-root-sudo -> --disable-root-sudo some reordering
24534         [198386358818]
24535
24536         * secureware.c:
24537         add whitespace
24538         [4aadaf1a54b0]
24539
24540         * Makefile.in, check.c, config.h.in, configure.in, logging.c, sudo.h:
24541         add SIA support
24542         [fa3ddbb9cc51]
24543
24544         * check_sia.c:
24545         Initial revision
24546         [2968551d40e4]
24547
24548 1998-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24549
24550         * configure.in:
24551         when checking for -lsocket, -lnsl, and -linet, check for the
24552         specific functions we need from them.
24553         [8d33e64362a3]
24554
24555         * config.h.in, sudo.h:
24556         move Syslog_* defs into sudo.h
24557         [03d1774f25c7]
24558
24559         * Makefile.in, sudo.h:
24560         added check_secureware
24561         [e46e3cbb9a97]
24562
24563         * configure.in:
24564         finished adding AC_MSG_CHECKING and AC_MSG_RESULT bits
24565         [dbefe1856503]
24566
24567         * insults.h:
24568         don't define CLASSIC_INSULTS and CSOPS_INSULTS if no other sets
24569         defined. configure now does that for us
24570         [e4520ea0581f]
24571
24572         * configure.in:
24573         move some --with options around change a bunch of echo's to
24574         AC_MSG_CHECKING, AC_MSG_RESULT pairs
24575         [ffdf6869fdd7]
24576
24577         * configure.in:
24578         change $with_foo-bar -> $with_foo_bar kill extra " that caused a
24579         syntax error add some echo verbage
24580         [3278c49bf74b]
24581
24582 1998-10-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24583
24584         * check.c:
24585         moved SecureWare stuff into secureware.c
24586         [42d3d3ac35dc]
24587
24588         * secureware.c:
24589         Initial revision
24590         [aa7f72a249cf]
24591
24592         * INSTALL:
24593         update url to solaris gcc bins
24594         [36a3eb668777]
24595
24596         * INSTALL:
24597         change option formatter and flesh out someentries
24598         [6fbd1db4a8ad]
24599
24600         * TROUBLESHOOTING, sudo.pod, visudo.pod:
24601         environmental variable -> environment variable
24602         [6f14d708e32d]
24603
24604         * BUGS:
24605         everything is now done via configure
24606         [c217858f58ab]
24607
24608         * README:
24609         prev rev was 1.5.6
24610         [7b4177103c35]
24611
24612         * Makefile.in:
24613         passing SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID correctly
24614         [31c6b0a5e0e2]
24615
24616         * config.h.in:
24617         SUDOERS_MODE, SUDOERS_UID, SUDOERS_GID now come from the Makefile
24618         [d406a1ef6d25]
24619
24620         * Makefile.in:
24621         merge OSDEFS and OPTIONS into DEFS get sudoers_uid, sudoers_gid,
24622         sudoers_mode from configure
24623         [1c509500655a]
24624
24625         * configure.in:
24626         SUDOERS_MODE, SUDOERS_UID, and SUDOERS_GID now get substituted into
24627         the Makefile, not config.h
24628         [d4482f1492fe]
24629
24630         * INSTALL:
24631         document all --with/--enable options
24632         [22d81b312d7f]
24633
24634 1998-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24635
24636         * insults.h:
24637         options.h is no more
24638         [560946a33f7f]
24639
24640         * config.h.in:
24641         assimilated options.h
24642         [dd8ce74613c1]
24643
24644         * configure.in:
24645         moved options from options.h to configure
24646         [d39662f71b4e]
24647
24648         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
24649         logging.c, parse.c, parse.lex, parse.yacc, sudo.c, sudo.pod,
24650         sudo_setenv.c, visudo.c:
24651         no more options.h
24652         [43924bf0858d]
24653
24654         * INSTALL, Makefile.in, PORTING, TROUBLESHOOTING:
24655         remove references to options.h
24656         [ef3474295395]
24657
24658         * dce_pwent.c, interfaces.c, sudo.c:
24659         kill sys/time.h
24660         [4d833f0034e4]
24661
24662         * tgetpass.c:
24663         if select return < -1 still prompt for pw
24664         [e0009e5c93a2]
24665
24666         * options.h:
24667         convert LOGGING, LOGFAC, MAXLOGFILELEN, IGNORE_DOT_PATH into
24668         configure options
24669         [e60a1e546516]
24670
24671         * parse.c:
24672         FAST_MATCH is no longer an optino
24673         [c448dbb3464b]
24674
24675         * check.c:
24676         remove_timestamp() if timestamp is preposterous
24677         [70d9a86c6ecd]
24678
24679         * options.h:
24680         convert more options to --with/--enable
24681         [34646d9b09dc]
24682
24683         * INSTALL, aclocal.m4:
24684         logfile -> logpath
24685         [42de502bc637]
24686
24687         * configure.in:
24688         convert more options into --with and --enable
24689         [92d0898c9844]
24690
24691         * tgetpass.c:
24692         catch EINTR in select and restart
24693         [f045d2f234d7]
24694
24695         * logging.c:
24696         sys/errno -> errno
24697         [7f0c5beab6f2]
24698
24699 1998-09-24  Todd C. Miller  <Todd.Miller@courtesan.com>
24700
24701         * sudo.c:
24702         UMASK -> SUDO_UMASK.
24703         [48f308661514]
24704
24705         * check.c, logging.c:
24706         time.h, not sys/time.h
24707         [91de049c79e4]
24708
24709 1998-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
24710
24711         * logging.c:
24712         MAILER -> _PATH_SENDMAIL
24713         [df65d6896639]
24714
24715         * INSTALL, configure.in:
24716         no more --with-C2, now it is --disable-shadow
24717         [18bfcab3b9ab]
24718
24719         * aclocal.m4, check.c, compat.h, config.h.in, configure.in,
24720         getspwuid.c, sudo.c, tgetpass.c:
24721         new shadow password scheme. Always include shadow support if the
24722         platform supports it and the user did not disable it via configure
24723         [2135d93bb4a9]
24724
24725 1998-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
24726
24727         * configure.in:
24728         --with-getpass -> --{enable,disable}-tgetpass
24729         [451b33fdd4c7]
24730
24731         * Makefile.in:
24732         pathnames.h -> pathnames.h.in
24733         [b109022eca69]
24734
24735         * check.c:
24736         fix version string
24737         [761b25c314ea]
24738
24739         * check.c:
24740         move pam_conv to be static to auth function remove pam_misc.h
24741         (solaris doesn't have one)
24742         [a682e4da987a]
24743
24744         * aclocal.m4:
24745         _CONFIG_PATH_* -> _PATH_* or _PATH_SUDO_* kill SUDO_PROG_PWD
24746         [e6005d0599b5]
24747
24748         * configure.in:
24749         munge pathnames.h.in -> pathnames.h kill SUDO_PROG_PWD
24750         [24c0ac2155ef]
24751
24752         * pathnames.h.in:
24753         convert to pathnames.h.in
24754         [013bddf7f684]
24755
24756 1998-09-19  Todd C. Miller  <Todd.Miller@courtesan.com>
24757
24758         * configure.in:
24759         fix typo in sysv4 matching case /.
24760         [2994c4f88cf5]
24761
24762 1998-09-18  Todd C. Miller  <Todd.Miller@courtesan.com>
24763
24764         * check.c:
24765         pam stuff needs to run as root, not user, for shadow passwords
24766         [d94ff75de503]
24767
24768 1998-09-17  Todd C. Miller  <Todd.Miller@courtesan.com>
24769
24770         * BUGS, INSTALL, README, configure.in:
24771         updated version
24772         [775adc7de7ac]
24773
24774         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
24775         emul/utime.h, find_path.c, getspwuid.c, goodpath.c, ins_2001.h,
24776         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
24777         logging.c, options.h, parse.c, parse.lex, parse.yacc,
24778         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
24779         testsudoers.c, tgetpass.c, utime.c, visudo.c:
24780         updated version
24781         [5ca599fb6b93]
24782
24783         * check.c:
24784         user version.h for long message
24785         [47a52ac7e542]
24786
24787         * check.c:
24788         this is version 1.5.6
24789         [8451ac79eee2]
24790
24791 1998-09-16  Todd C. Miller  <Todd.Miller@courtesan.com>
24792
24793         * Makefile.in:
24794         remove errant backslash
24795         [0222a8a650ff]
24796
24797 1998-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
24798
24799         * options.h, parse.yacc, pathnames.h.in:
24800         fix version string
24801         [fdee73255d64] [SUDO_1_5_6]
24802
24803         * BUGS, CHANGES, TODO:
24804         updtaed for 1.5.6
24805         [752443bf7f26]
24806
24807         * RUNSON:
24808         updated for 1.5.6
24809         [0f878123fe6a]
24810
24811 1998-09-14  Todd C. Miller  <Todd.Miller@courtesan.com>
24812
24813         * interfaces.c:
24814         kill unused localhost_mask var copy if name to ifr_tmp after we zero
24815         it
24816         [8e89c364cef2]
24817
24818 1998-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
24819
24820         * INSTALL:
24821         Better description of new vs. old sudoers modes fix some typos
24822         better description of /usr/ucb/cc gotchas on slowaris
24823         [c00b2a6fc1e8]
24824
24825         * Makefile.in:
24826         add sample.pam
24827         [ec7f6cc19b00]
24828
24829         * sudo.c:
24830         set NewArgv[0] to user_shell, not basename(user_shell)
24831         [1e907cbc9f7b]
24832
24833 1998-09-12  Todd C. Miller  <Todd.Miller@courtesan.com>
24834
24835         * README:
24836         mention TROUBLESHOOTING more fix some typos
24837         [2c2e6907d4a4]
24838
24839         * configure.in:
24840         move --enable/--disable to be after --with
24841         [9b30097f76c1]
24842
24843         * INSTALL:
24844         document --enable/--disable
24845         [c522362e38a8]
24846
24847         * INSTALL:
24848         document --with-pam
24849         [7e38932c78ac]
24850
24851 1998-09-11  Todd C. Miller  <Todd.Miller@courtesan.com>
24852
24853         * configure.in:
24854         Add message for pam users
24855         [d224f277e3cd]
24856
24857         * sample.pam:
24858         Initial revision
24859         [3a84d7045f54]
24860
24861         * config.h.in:
24862         fix HAVE_PAM
24863         [2f0f303ebd88]
24864
24865         * check.c, config.h.in, configure.in:
24866         pam support, from Gary Calvin <GCalvin@kenwoodusa.com>
24867         [ea3e0a72d707]
24868
24869 1998-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
24870
24871         * config.h.in:
24872         add HOST_IN_LOG and WRAP_LOG
24873         [822c36eeb6a8]
24874
24875         * logging.c:
24876         add WRAP_LOG and HOST_IN_LOG
24877         [3cf6052bd27e]
24878
24879         * configure.in:
24880         add --enable-log-host and --enable-log-wrap
24881         [c968cc12b353]
24882
24883         * aclocal.m4:
24884         use AC_DEFINE_UNQUOTED for --with-logfile and --with-timedir
24885         [915fef7e11a1]
24886
24887 1998-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
24888
24889         * compat.h:
24890         add howmany macro
24891         [9107a057a7c8]
24892
24893         * tgetpass.c:
24894         include sys/param.h to get howmany macro
24895         [7e908b5e1f32]
24896
24897 1998-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
24898
24899         * OPTIONS, options.h, parse.yacc, sudo.c, testsudoers.c, visudo.c:
24900         add RUNAS_DEFAULT
24901         [1e76398ea3fd]
24902
24903 1998-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
24904
24905         * fnmatch.c:
24906         bring in stdio.h for NULL
24907         [69c016610cbb]
24908
24909         * aclocal.m4:
24910         allow /bin/{ksh,bach} and /usr/bin/{ksh,bash} as sh
24911         [15ab2972f8d0]
24912
24913         * sudo.c:
24914         use HAVE_SET_AUTH_PARAMETERS
24915         [8abfdc8c80f7]
24916
24917         * config.h.in:
24918         add HAVE_SET_AUTH_PARAMETERS
24919         [673a5ebd5539]
24920
24921         * configure.in:
24922         add *-*-hiuxmpp* add test for set_auth_parameters() if secureware
24923         [a401f5a7469a]
24924
24925         * config.sub:
24926         add support for HI-UX/MPP SR220001 02-03 0 SR2201
24927         [cb657b7acaae]
24928
24929         * interfaces.c:
24930         initialize previfname
24931         [26a1902f56dc]
24932
24933         * interfaces.c:
24934         Don't use SIOCGIFADDR, we don't need it Use SIOCGIFFLAGS if we have
24935         it check ifr_flags against IFF_UP and IFF_LOOPBACK instead of
24936         kludging it
24937         [fa5c890c313b]
24938
24939         * configure.in:
24940         typo
24941         [bff579fbe95c]
24942
24943         * Makefile.in:
24944         don't need special build line for sudo.tab.o
24945         [10c0a0a912e4]
24946
24947         * Makefile.in:
24948         don't clean sudo.tab.[ch]
24949         [c40d5968efbb]
24950
24951         * sudo.c:
24952         Sudo should prompt for a password before telling the user that a
24953         command could not be found.
24954         [d718c85a0047]
24955
24956         * BUGS:
24957         for 1.5.6
24958         [0cc1fe5b9129]
24959
24960         * INSTALL, README:
24961         no longer require yacc
24962         [d9096fc5b8b6]
24963
24964         * Makefile.in:
24965         typo
24966         [70feb1aefbd5]
24967
24968         * Makefile.in:
24969         y.tab -> sudo.tab include pre-yacc'd parse.yacc
24970         [cc802025fd44]
24971
24972         * parse.lex:
24973         include sudo.tab.h, not y.tab.h don't break out of command args if
24974         you get a '='
24975         [728ad26dbda5]
24976
24977         * insults.h:
24978         fix version ,
24979         [242bbce1b2d4]
24980
24981         * ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h:
24982         fix version
24983         [2bb9086fea1e]
24984
24985         * compat.h:
24986         fix version
24987         [7e634d498ce6]
24988
24989         * getcwd.c:
24990         getcwd(3) from OpenBSD for those without it.
24991         [6c68d0df8f6c]
24992
24993         * sudo.h:
24994         HAVE_GETWD -> HAVE_GETCWD
24995         [2ad1e64d60c0]
24996
24997         * configure.in:
24998         pretend sunos doesn't have getcwd(3) since it opens a pipe to
24999         getpwd!
25000         [677992ba5a6a]
25001
25002         * parse.c:
25003         use NAMLEN() macro
25004         [8f5685aa3165]
25005
25006         * fnmatch.c:
25007         remove duplicate include of string.h
25008         [6024f3051ac3]
25009
25010         * configure.in:
25011         call SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
25012         [3d82a9c22cc2]
25013
25014         * aclocal.m4:
25015         add SUDO_TYPE_DEV_T and SUDO_TYPE_INO_T
25016         [53fbc47282f9]
25017
25018         * config.h.in:
25019         add dev_t and ino_t
25020         [5929bb0c7e1a]
25021
25022 1998-07-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25023
25024         * check.c:
25025         fix OTP_ONLY for opie
25026         [7edcfa78f2ec]
25027
25028 1998-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25029
25030         * testsudoers.c, tgetpass.c:
25031         include stdlib.h for malloc proto
25032         [c9f4b99a2fe9]
25033
25034 1998-05-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25035
25036         * Makefile.in:
25037         make update_version saner
25038         [d522f93ee04a]
25039
25040         * config.h.in:
25041         add HAVE_WAITPID, HAVE_WAIT3, and sudo_waitpid()
25042         [c9a2d21dc608]
25043
25044         * configure.in:
25045         check for waitpid and wait3 or no waitpid
25046         [1f18c3224184]
25047
25048         * logging.c:
25049         used waitpid or wait3 if we have 'em
25050         [391c3279ee65]
25051
25052 1998-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
25053
25054         * visudo.c:
25055         fix some fprintf args, ariel@oz.engr.sgi.com (Ariel Faigon)
25056         [fbf53b18178f]
25057
25058 1998-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25059
25060         * configure.in:
25061         don't need to explicately mention -lsocket -lnsl for sequent
25062         [1898dc055352]
25063
25064 1998-04-25  Todd C. Miller  <Todd.Miller@courtesan.com>
25065
25066         * configure.in:
25067         dynix should not link with -linet
25068         [278a4b9cfe2a]
25069
25070 1998-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25071
25072         * INSTALL:
25073         mention that HP-UX doesn't ship with yacc
25074         [bde5147198c0]
25075
25076 1998-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25077
25078         * check.c:
25079         ignore kerberos if we can't get the local realm
25080         [1e311a091a27]
25081
25082 1998-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25083
25084         * BUGS, INSTALL, README, configure.in:
25085         ++version
25086         [499ffc746018]
25087
25088         * version.h:
25089         ++
25090         [35ba1ee01bd3]
25091
25092         * Makefile.in, check.c, config.h.in, dce_pwent.c, emul/utime.h,
25093         find_path.c, getcwd.c, getspwuid.c, goodpath.c, interfaces.c,
25094         logging.c, parse.c, parse.lex, putenv.c, strdup.c, sudo.c, sudo.h,
25095         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, visudo.c:
25096         updated version
25097         [b4990a513f31]
25098
25099         * check.c, sudo.h:
25100         fix version
25101         [5710795834e8]
25102
25103         * getcwd.c:
25104         don't use popen/pclose. Do it inline.
25105         [29e57b0646a4]
25106
25107         * lsearch.c:
25108         add rcsid
25109         [b2b55c39858d]
25110
25111         * sudo.c:
25112         typo
25113         [d381ac39ed0f]
25114
25115         * check.c, compat.h, ins_2001.h, ins_classic.h, ins_csops.h,
25116         ins_goons.h, insults.h, options.h, parse.yacc, pathnames.h.in,
25117         sudo.h:
25118         updated version
25119         [462d6e1a2d75]
25120
25121         * check.c, find_path.c, parse.c, sudo.c, testsudoers.c:
25122         MAX* + 1 -> MAX*
25123         [2c2eeb78d34f]
25124
25125         * Makefile.in:
25126         getwd.c -> getcwd.c
25127         [7d718c32fc02]
25128
25129         * config.h.in:
25130         kill HAVE_GETWD
25131         [6ad3d702343f]
25132
25133         * configure.in:
25134         getcwd, not getwd
25135         [33e5b9841f58]
25136
25137         * getcwd.c:
25138         use MAX* not MAX* + 1 always run pwd as using getwd() defeats the
25139         purpose
25140         [24e58d340161]
25141
25142 1998-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25143
25144         * OPTIONS, options.h:
25145         add STUB_LOAD_INTERFACES
25146         [d747cb23ca83]
25147
25148         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25149         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25150         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25151         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25152         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25153         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25154         updated version
25155         [0798229312cc]
25156
25157         * configure.in:
25158         support *-ccur-sysv4 and fix two typos
25159         [24a823ad7cc9]
25160
25161 1998-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
25162
25163         * configure.in:
25164         don't echo about with_logfile and with_timedir
25165         [31e4a1e2d9ad]
25166
25167         * INSTALL:
25168         document --with-logfile and --with-timedir
25169         [674f811a40e0]
25170
25171         * aclocal.m4:
25172         support --with-logfile and --with-timedir
25173         [2fc36b35db12]
25174
25175         * configure.in:
25176         Add --with-logfile and --with-timedir
25177         [09045bf07e29]
25178
25179         * sudo.c:
25180         change size computation of NewArgv for UNICOS
25181         [b50df07da3a1]
25182
25183 1998-02-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25184
25185         * configure.in:
25186         treate -*-sysv4* like *-*-svr4
25187         [471b7ef4dbf2]
25188
25189 1998-02-18  Todd C. Miller  <Todd.Miller@courtesan.com>
25190
25191         * configure.in:
25192         fix spacing for --with-authenticate help
25193         [8321cb37c410]
25194
25195         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25196         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25197         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25198         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25199         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25200         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25201         updated version
25202         [dc1ab97312eb]
25203
25204         * parse.yacc:
25205         fix off by one error in push macro
25206         [bece59c8c3a9]
25207
25208 1998-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
25209
25210         * configure.in:
25211         removed bogus alloca hack
25212         [a68dd720462d]
25213
25214         * check.c:
25215         added AIX 4.x authenticate() support
25216         [12985eb448a0]
25217
25218         * parse.yacc:
25219         include alloca.h if using bison and not gcc and it exists. fixes an
25220         alloca problem on hpux 10.x
25221         [e3b5c4f26072]
25222
25223         * INSTALL:
25224         mention --with-authenticate
25225         [78a1c96820e7]
25226
25227         * configure.in:
25228         added AIX authenticate() support
25229         [c983193ec252]
25230
25231         * config.h.in:
25232         add HAVE_AUTHENTICATE
25233         [7b0e5f5db5d9]
25234
25235         * interfaces.c:
25236         dynamically size ifconf buffer
25237         [10afb0e9b2f9]
25238
25239         * configure.in:
25240         quote '[' and ']'
25241         [8fc38a4defad]
25242
25243         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25244         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25245         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25246         logging.c, options.h, parse.c, parse.lex, parse.yacc,
25247         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25248         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25249         updated version
25250         [5f66de71ec61]
25251
25252         * visudo.pod:
25253         add ERRORS section
25254         [3df3edb73cf6]
25255
25256 1998-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25257
25258         * TROUBLESHOOTING:
25259         add busy stmp file explanation
25260         [6c555d469b6f]
25261
25262 1998-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
25263
25264         * configure.in:
25265         the name of the cached var that signals whether or not you are cross
25266         compiling changed. It is now ac_cv_prog_cc_cross
25267         [123911c0658c]
25268
25269 1998-02-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25270
25271         * INSTALL:
25272         mention glibc 2.07 is fixed wrt lsearch()\.
25273         [ded758524582]
25274
25275 1998-02-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25276
25277         * sample.sudoers, sudoers.pod:
25278         better example of su but not root su
25279         [b3199610be21]
25280
25281 1998-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25282
25283         * Makefile.in, check.c, compat.h, config.h.in, dce_pwent.c,
25284         emul/utime.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25285         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25286         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25287         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25288         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25289         updated version
25290         [46922b84e86b]
25291
25292         * Makefile.in:
25293         correct regexp for updating version
25294         [8032728b2a8a]
25295
25296         * tgetpass.c:
25297         remove bogus flush of stderr spew prompt before turning off echo.
25298         Seems to fix a weird problem where if sudo complained about a bogus
25299         stamp file the user would sometimes not have a chance to enter a
25300         password
25301         [7aa1493cc141]
25302
25303         * check.c:
25304         fix bogus flush of stderr
25305         [6d047871c5e8]
25306
25307         * sudo.c:
25308         close fd's <=2 not <=3 and move that chunk of code up
25309         [553e4faac195]
25310
25311         * configure.in:
25312         support hpux1[0-9] not just hpux10
25313         [5a34a000ff8a]
25314
25315 1998-01-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25316
25317         * parse.c:
25318         set sudoers_fp to nil after closing
25319         [221a8b4bbf34]
25320
25321 1998-01-24  Todd C. Miller  <Todd.Miller@courtesan.com>
25322
25323         * config.guess, config.sub:
25324         updated from autoconf 2.12
25325         [6fc86a0fc61b]
25326
25327         * configure.in:
25328         add *-*-svr4 rule
25329         [38f0427f7c9d]
25330
25331 1998-01-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25332
25333         * tgetpass.c:
25334         fix select usage for high fd's (dynamically allocate readfds)
25335         [c2d1f76e0321]
25336
25337         * check.c:
25338         kill extra whitespace
25339         [d784b6c9c514]
25340
25341         * sudo.c:
25342         do an initgroups() before running a command, unless the target user
25343         is root.
25344         [4ca561287480]
25345
25346 1998-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
25347
25348         * TROUBLESHOOTING:
25349         tell people to use tabs, not spaces, in syslog.conf
25350         [8ae90a205134]
25351
25352 1998-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25353
25354         * Makefile.in, config.h.in, dce_pwent.c, emul/utime.h, getwd.c,
25355         parse.lex, putenv.c, strdup.c, testsudoers.c, utime.c:
25356         updated version
25357         [4d855ff5de26]
25358
25359         * check.c, find_path.c, getspwuid.c, goodpath.c, interfaces.c,
25360         logging.c, parse.c, sudo.c, sudo_setenv.c, tgetpass.c, visudo.c:
25361         updated version
25362         [8e007e178b33]
25363
25364         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25365         insults.h, options.h, parse.yacc, pathnames.h.in, sudo.h:
25366         updated version
25367         [9ddea5c8814d]
25368
25369         * Makefile.in:
25370         more tweaks to update_version
25371         [047698752855]
25372
25373         * Makefile.in:
25374         fixed up update_version rule
25375         [47b6fa34b77f]
25376
25377         * configure.in:
25378         ++version
25379         [c1ca664e30b7]
25380
25381         * Makefile.in:
25382         removed supe of check.c
25383         [8f340a05296a]
25384
25385         * INSTALL:
25386         ++version I missed
25387         [a298e6c17491]
25388
25389         * RUNSON:
25390         updated
25391         [a14f6057bc15]
25392
25393         * BUGS, INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
25394         dce_pwent.c, emul/utime.h, find_path.c, getspwuid.c, getwd.c,
25395         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25396         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
25397         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
25398         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
25399         visudo.c:
25400         updated version
25401         [02231b1a3ab3]
25402
25403         * CHANGES:
25404         updated for 1.5.5
25405         [634e5fcaf40b]
25406
25407         * Makefile.in:
25408         add rules to update version stuff in files so I don't need to do it
25409         by hand
25410         [3620ad60485a]
25411
25412         * sudo.h:
25413         sudoers_fp is now extern
25414         [88c6e9b9ea84]
25415
25416         * sudo.c:
25417         in check_sudoers, cache the sudoers file handle in sudoers_fp so we
25418         don't have to open it again in the parse. This may help with weird
25419         solaris problems where EAGAIN sometime occurrs.
25420         [d3c26451ed1d]
25421
25422         * parse.c:
25423         sudoers file open is now done only in check_sudoers() so we just do
25424         a rewind() instead of an open. May help people on solaris who were
25425         getting EAGAIN.
25426         [c8b8c7722fa5]
25427
25428 1998-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25429
25430         * INSTALL:
25431         mention that newer glibc is fixed
25432         [20f06f5d3ef3]
25433
25434 1998-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
25435
25436         * sudo.c:
25437         newer irix uses _RLDN32_* envariables for 32-bit binaries so ignore
25438         _RLD* instead of _RLD_*
25439         [1e22c588d602]
25440
25441         * parse.c:
25442         typo
25443         [d0b7cb85f08a]
25444
25445         * parse.c:
25446         fix that bug for real
25447         [5a6eeca6d04b]
25448
25449         * INSTALL:
25450         document Linux's libc6 brokenness.
25451         [0246c1aa64ee]
25452
25453         * parse.yacc:
25454         -Wall
25455         [d0e452fb1e2d]
25456
25457         * RUNSON:
25458         updated
25459         [4949a1bbd0a9] [SUDO_1_5_4]
25460
25461         * TROUBLESHOOTING:
25462         remind people to HUP syslogd
25463         [590962faa4f0]
25464
25465         * Makefile.in:
25466         add -O flag to tar
25467         [622d02de339d]
25468
25469         * RUNSON:
25470         updated
25471         [a72930d6e615]
25472
25473         * TODO:
25474         updated
25475         [4a51bd458390]
25476
25477         * sudo.pod:
25478         remove author's email addr. people should mail sudo-bugs
25479         [9b6bbdb3a6d9]
25480
25481         * INSTALL:
25482         fix version
25483         [246274c6c8af]
25484
25485         * README, check.c, compat.h, config.h.in, configure.in, dce_pwent.c,
25486         find_path.c, getspwuid.c, getwd.c, goodpath.c, ins_2001.h,
25487         ins_classic.h, ins_csops.h, ins_goons.h, insults.h, interfaces.c,
25488         logging.c, options.h, parse.c, parse.lex, parse.yacc,
25489         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25490         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
25491         ++version
25492         [f532ff4ee766]
25493
25494         * RUNSON:
25495         updated
25496         [62d5c71358b5]
25497
25498         * INSTALL, Makefile.in:
25499         ++version
25500         [1a7c7628edfc]
25501
25502         * CHANGES:
25503         updated fort 1.5.4
25504         [7e4873508c99]
25505
25506         * check.c:
25507         exit(1) if user enters no passwd
25508         [f382c0e35e4e]
25509
25510         * BUGS:
25511         ++version
25512         [fab6a867ab67]
25513
25514         * parse.c:
25515         commands can start with ./* not just /* -- fixes a serious security
25516         hole.
25517         [244d2fe35ee3]
25518
25519 1997-12-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25520
25521         * sudo.c:
25522         Don't set the tty variable to NULL when we lack a tty, leave it as
25523         "unknown".
25524         [193b26daba03]
25525
25526 1997-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25527
25528         * sample.sudoers:
25529         fix usage of (username) in conjunction with , and !
25530         [7ae68607f68f]
25531
25532         * visudo.c:
25533         catch the case where the user is not in the passwd file
25534         [31650258deb0]
25535
25536         * tgetpass.c:
25537         use fileno(input) + 1 instead of getdtablesize() as the nfds arg to
25538         select(2)
25539         [60ab2d9a9ee8]
25540
25541         * sudo.c:
25542         define tty global to an initial value to avoid dumping core in
25543         logging functions when passwd file is unavailable.
25544         [77056c7bc908]
25545
25546         * sudo.c:
25547         do the set_perms(PERM_USER, sudo_mode) after we have gotten the
25548         passwd entry
25549         [1fdb8e579a5a]
25550
25551         * sudo.pod:
25552         talk about problem of ALL
25553         [1cd1905c9f6f]
25554
25555 1997-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25556
25557         * README:
25558         new web location
25559         [d24dc26f6da5]
25560
25561         * INSTALL:
25562         fdesc bug is fixed in Open/Net BSD
25563         [7d4d81b08ac3]
25564
25565         * HISTORY:
25566         updates from Nieusma
25567         [3a43769a1b78]
25568
25569 1997-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25570
25571         * dce_pwent.c:
25572         move compat.h after the system includes
25573         [5ea43a5968ac]
25574
25575 1997-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25576
25577         * logging.c:
25578         save errno from being clobbered by wait(). From Theo
25579         [f2d1c48cd592]
25580
25581 1997-05-21  Todd C. Miller  <Todd.Miller@courtesan.com>
25582
25583         * compat.h:
25584         fix an occurence of setresuid -> setreuid (typo)
25585         [394de35c9b1c]
25586
25587 1997-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
25588
25589         * install-sh:
25590         check for path to strip
25591         [2b7ef824bd55]
25592
25593 1997-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25594
25595         * logging.c:
25596         deal with maxfilelen < 0 case
25597         [f0af095178d7]
25598
25599         * OPTIONS:
25600         fixed descriptin
25601         [629f60bd4b5f]
25602
25603 1996-12-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25604
25605         * sudo.c:
25606         correct error message if mode/owner wrong and not statable by owner
25607         but is statable by root.
25608         [cb631ce2e85e]
25609
25610 1996-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
25611
25612         * config.guess, config.sub:
25613         autoconf 2.11
25614         [f3cbe59e0756]
25615
25616 1996-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
25617
25618         * CHANGES, RUNSON, TODO:
25619         sudo 1.5.3.
25620         [2be3229b8626]
25621
25622 1996-11-14  Todd C. Miller  <Todd.Miller@courtesan.com>
25623
25624         * parse.yacc, sudo.h:
25625         command_alias -> generic_alias
25626         [c404ca8c510d] [SUDO_1_5_3]
25627
25628         * sample.sudoers:
25629         added Runas_Alias example and fixed syntax errors
25630         [c304053f4a8a]
25631
25632         * OPTIONS, options.h:
25633         updated MAILSUBJECT
25634         [18d1573fcd2a]
25635
25636         * logging.c:
25637         added %h expansion
25638         [a4bff9b284fd]
25639
25640         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
25641         configure.in, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
25642         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
25643         insults.h, interfaces.c, logging.c, options.h, parse.c, parse.lex,
25644         parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h,
25645         sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c, version.h,
25646         visudo.c:
25647         ++version
25648         [211ff20f956f]
25649
25650         * BUGS, emul/utime.h:
25651         ++version
25652         [cde5376579e3]
25653
25654         * sudoers.pod:
25655         document Runas_Alias
25656         [b1a58f28fb2c]
25657
25658         * visudo.pod:
25659         q (uid) -> Q
25660         [d256649a0e6b]
25661
25662         * visudo.c:
25663         buffer oflow checking q (uit) -> Q if yyparse() fails drop into
25664         whatnow
25665         [1cb183d15626]
25666
25667         * parse.yacc:
25668         add size params to sprintf
25669         [9228f698921f]
25670
25671         * parse.lex:
25672         allow trailing space after '\\' but before '\n'
25673         [f51dbbf69fdf]
25674
25675         * find_path.c:
25676         off by one error in path size check
25677         [a6d75ccd7632]
25678
25679         * check.c:
25680         sprintf paranoia
25681         [3ffb12d198dd]
25682
25683 1996-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25684
25685         * parse.yacc:
25686         fixed more_aliases
25687         [aab12f2a50af]
25688
25689         * visudo.c:
25690         now warns if killed by signal ./
25691         [310c186a0fd7]
25692
25693 1996-11-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25694
25695         * parse.yacc:
25696         fix Runas_Alias stuff Alias's in runas list now get expanded (but it
25697         is gross)
25698         [45590b83120f]
25699
25700         * sudo.c:
25701         Can now deal with SUDOERS_UID == 0 and SUDOERS_MODE == 0400
25702         [d53e01c14c58]
25703
25704         * parse.yacc:
25705         add Runas_Alias support change FOO to FOO_ALIAS (ie: USER_ALIAS)
25706         [7a4a040aae2d]
25707
25708         * parse.lex:
25709         Add Runas_Alias and simplify a rule.
25710         [6f794a769a37]
25711
25712         * parse.yacc:
25713         always store User_Alias's since they can be used inside of a runas
25714         list. Sigh. Really need a Runas_Alias instead.
25715         [3bab058a873e]
25716
25717 1996-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25718
25719         * visudo.c:
25720         deal with case where there is no sudoers file
25721         [fa38b3bb244d]
25722
25723 1996-10-12  Todd C. Miller  <Todd.Miller@courtesan.com>
25724
25725         * TROUBLESHOOTING:
25726         added one
25727         [e61346d06725]
25728
25729 1996-10-11  Todd C. Miller  <Todd.Miller@courtesan.com>
25730
25731         * HISTORY, testsudoers.c:
25732         developement -> development
25733         [4df55e293941]
25734
25735         * INSTALL:
25736         added a note
25737         [3845fb83dbc0]
25738
25739         * RUNSON:
25740         for 1.5.2
25741         [5489b7298942]
25742
25743         * CHANGES:
25744         updated
25745         [0741834929e6]
25746
25747 1996-10-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25748
25749         * PORTING:
25750         removed seteuid() notes
25751         [1010a60f281d] [SUDO_1_5_2]
25752
25753 1996-10-09  Todd C. Miller  <Todd.Miller@courtesan.com>
25754
25755         * compat.h:
25756         better seteuid() emulatino
25757         [e807623b662c]
25758
25759         * configure.in:
25760         added check for seteuid
25761         [8cf9fabc6f4f]
25762
25763         * config.h.in:
25764         added HAVE_SETEUID
25765         [596db46aa828]
25766
25767 1996-10-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25768
25769         * configure.in:
25770         first stab at sequent support
25771         [b85a7bfcac76]
25772
25773         * config.h.in:
25774         added HAVE_SYS_SELECT_H
25775         [93ecdd042463]
25776
25777         * compat.h:
25778         sequent -> _SEQUENT_
25779         [63a38b6da98c]
25780
25781         * compat.h:
25782         added seteuid() macro for DYNIX
25783         [695bd63c5ea6]
25784
25785         * tgetpass.c:
25786         _AIX -> HAVE_SYS_SELECT_H
25787         [b31221211bc2]
25788
25789 1996-10-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25790
25791         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in, logging.c,
25792         parse.c, parse.lex, parse.yacc, putenv.c, strdup.c, sudo_setenv.c,
25793         testsudoers.c, tgetpass.c, utime.c, visudo.c:
25794         ++version
25795         [8052992fd453]
25796
25797         * check.c, compat.h, dce_pwent.c, emul/utime.h, find_path.c,
25798         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
25799         ins_csops.h, ins_goons.h, insults.h, interfaces.c, options.h,
25800         pathnames.h.in, version.h:
25801         ++version
25802         [f7ad15e1598a]
25803
25804         * sudo.pod:
25805         added -H and SUDO_PS1
25806         [bb965241e30c]
25807
25808         * configure.in:
25809         use SUDO_FUNC_FNMATCH
25810         [6a8350d85fb2]
25811
25812         * aclocal.m4:
25813         added SUDO_FUNC_FNMATCH
25814         [45b32c91c4ba]
25815
25816         * sudo.c:
25817         added -H flag
25818         [11ebc6872fd6]
25819
25820         * sudo.h:
25821         added MODE_RESET_HOME /
25822         [67a7f8bcbbd6]
25823
25824 1996-10-05  Todd C. Miller  <Todd.Miller@courtesan.com>
25825
25826         * INSTALL:
25827         mention OPIE
25828         [5723515d5bbd]
25829
25830         * options.h:
25831         SKEY -> OTP
25832         [c1d268130bc4]
25833
25834         * configure.in:
25835         added opie support
25836         [123872b41b20]
25837
25838         * compat.h, config.h.in:
25839         added HAVE_OPIE
25840         [528c71afc1e5]
25841
25842         * check.c:
25843         added HAVE_OPIE and changed to *_OTP_*
25844         [4c62f5db872a]
25845
25846         * OPTIONS:
25847         SKEY -> OTP
25848         [bd858e5e9652]
25849
25850 1996-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25851
25852         * check.c:
25853         moved fclose() in skey stuff.
25854         [11f7dc8431a6]
25855
25856 1996-10-03  Todd C. Miller  <Todd.Miller@courtesan.com>
25857
25858         * putenv.c:
25859         index -> strchr remove unnecesary stuff
25860         [af2d05238062]
25861
25862         * check.c:
25863         now call skeychallenge() to get challenge instead of making one up
25864         ourselves. this way, we get extra goodies in the prompt.
25865         [49b770d98d3a]
25866
25867 1996-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
25868
25869         * CHANGES:
25870         added one
25871         [3f5149357e2a] [SUDO_1_5_1]
25872
25873         * parse.lex:
25874         allow logins to start with a number (YUCK!)
25875         [7ed7ef324741]
25876
25877 1996-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
25878
25879         * TROUBLESHOOTING:
25880         added soalris 2.5 vs 2.4 note
25881         [16160a251aae]
25882
25883         * configure.in:
25884         DUNIX doesn't need -lnsl
25885         [be924cc322c3]
25886
25887         * CHANGES:
25888         *** empty log message ***
25889         [1b2937521981]
25890
25891         * check.c, compat.h, config.h.in, dce_pwent.c, find_path.c,
25892         getspwuid.c, getwd.c, goodpath.c, ins_2001.h, ins_classic.h,
25893         ins_csops.h, ins_goons.h, insults.h, interfaces.c, logging.c,
25894         options.h, parse.c, parse.lex, parse.yacc, pathnames.h.in, putenv.c,
25895         strdup.c, sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c,
25896         utime.c, version.h, visudo.c:
25897         courtesan
25898         [5f203589bbfe]
25899
25900         * PORTING, README, RUNSON:
25901         courtesan
25902         [d72517f4937e]
25903
25904         * INSTALL, Makefile.in, TROUBLESHOOTING:
25905         courtesan
25906         [5c007e3c7a71]
25907
25908         * visudo.pod:
25909         *** empty log message ***
25910         [37ebe85bd4e1]
25911
25912         * sudo.pod, visudo.pod:
25913         courtesan
25914         [37f02e2130ea]
25915
25916 1996-09-07  Todd C. Miller  <Todd.Miller@courtesan.com>
25917
25918         * HISTORY:
25919         added courtesan ./
25920         [b01435226276]
25921
25922 1996-09-06  Todd C. Miller  <Todd.Miller@courtesan.com>
25923
25924         * sudo.c:
25925         added $SUDO_PROMPT support
25926         [cb1fa72c093d]
25927
25928 1996-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
25929
25930         * check.c:
25931         print long skey challemged to stderr, not stdout
25932         [750fc775b3b2]
25933
25934 1996-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
25935
25936         * CHANGES:
25937         updated for 1.5.1
25938         [9b615f393057]
25939
25940         * emul/utime.h:
25941         ++version
25942         [a94de18deafb]
25943
25944 1996-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
25945
25946         * RUNSON:
25947         updated for 1.5.1
25948         [4092f20ab634]
25949
25950 1996-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
25951
25952         * check.c:
25953         use shost, not host for tgetpass
25954         [6061c49ff9be]
25955
25956         * sudo.pod:
25957         documented %u and %h
25958         [6d2922d29897]
25959
25960         * OPTIONS:
25961         documented %u and %h
25962         [1a71da13a864]
25963
25964         * configure.in:
25965         fixed typo
25966         [1230dec2b062]
25967
25968         * INSTALL, Makefile.in, README, check.c, compat.h, config.h.in,
25969         dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
25970         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
25971         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
25972         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
25973         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
25974         ++version
25975         [65ce8eabf77a]
25976
25977         * BUGS:
25978         ++version
25979         [afecab53aab7]
25980
25981 1996-08-29  Todd C. Miller  <Todd.Miller@courtesan.com>
25982
25983         * Makefile.in, configure.in, version.h:
25984         ++version
25985         [fb3ff940d672]
25986
25987         * sudo.h:
25988         new tgetpass() params
25989         [9eccc5b0f8ae]
25990
25991         * check.c:
25992         pass use and host to tgetpass
25993         [c56d9d13c401]
25994
25995         * tgetpass.c:
25996         added %u and %h escapes
25997         [04ae775d3e5d]
25998
25999         * OPTIONS, check.c, options.h:
26000         added NO_MESSAGE
26001         [3927dad19057]
26002
26003         * configure.in:
26004         added cray (unicos) support
26005         [1122210c5fb1]
26006
26007 1996-08-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26008
26009         * OPTIONS, options.h, sudo.c:
26010         added SHELL_SETS_HOME
26011         [0b26909b0929]
26012
26013 1996-08-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26014
26015         * INSTALL:
26016         added note about "make install"
26017         [7e56ea76d4b4]
26018
26019         * parse.yacc:
26020         changed length/size params from int to size_t
26021         [5654e5ceb1b3]
26022
26023         * OPTIONS:
26024         now get CSOPS insults as well by default
26025         [297323d0179a]
26026
26027         * insults.h:
26028         use csops insults too by default
26029         [07fafc136169]
26030
26031         * INSTALL, Makefile.in, README, config.h.in, configure.in, version.h:
26032         version = 1.5
26033         [4b8772b11e3b]
26034
26035         * sudo.c:
26036         added runas_homedir
26037         [b0e0d4417a15]
26038
26039         * TODO:
26040         updated for 1.5
26041         [66259df825d5]
26042
26043         * RUNSON:
26044         updated for 1.5
26045         [e08bc9ebfe95]
26046
26047         * CHANGES:
26048         1.5 release
26049         [8c16942fea41]
26050
26051         * INSTALL:
26052         added "upgrading" notes
26053         [210d968964ff]
26054
26055 1996-08-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26056
26057         * visudo.c:
26058         now do chmod and chown after edit of temp file and before rename
26059         [de174e34faa7] [SUDO_1_5_0]
26060
26061 1996-08-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26062
26063         * Makefile.in:
26064         ++version added INSTALL.configure
26065         [c9e9214f52ae]
26066
26067         * configure.in, version.h:
26068         ++version
26069         [5985abed3eb2]
26070
26071         * TROUBLESHOOTING:
26072         *** empty log message ***
26073         [d65c540ec52e]
26074
26075         * parse.yacc:
26076         added missing cast
26077         [e7247319a7d5]
26078
26079         * sudo.c:
26080         sets $HOME to pw_dir of runas user
26081         [d3f7f4d05752]
26082
26083         * sudo.pod:
26084         document $HOME change
26085         [854454d458c4]
26086
26087 1996-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26088
26089         * sudo.pod:
26090         fixed up some wording
26091         [b0c8582f2c97]
26092
26093         * check.c, dce_pwent.c, find_path.c, getspwuid.c, getwd.c, goodpath.c,
26094         interfaces.c, logging.c, parse.c, parse.lex, parse.yacc, putenv.c,
26095         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
26096         visudo.c:
26097         ++version
26098         [748be723fd8b]
26099
26100         * compat.h, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
26101         insults.h, options.h, pathnames.h.in, sudo.h:
26102         ++version
26103         [acdf8b1b2a1b]
26104
26105         * emul/utime.h:
26106         ++version
26107         [b3f35298ab8d]
26108
26109         * sudo.h:
26110         name nad type changes
26111         [db24ab3da141]
26112
26113         * testsudoers.c:
26114         now works with new sudo
26115         [379346c42cc2]
26116
26117         * parse.yacc:
26118         fixed some XXX
26119         [f5fe4c990052]
26120
26121         * parse.yacc:
26122         some variable name changes + comment headers for functions.
26123         [3dc3bd9aa73d]
26124
26125         * tgetpass.c:
26126         added extra paren's to make compilers happy
26127         [9e4968a34d56]
26128
26129         * sudo.c:
26130         *** empty log message ***
26131         [70c924c1ed69]
26132
26133         * parse.c:
26134         now uses init_parser() if not in sudoers and tries "list" or
26135         "validate" scold but don't be nasty.
26136         [c0d8fb3f8c9e]
26137
26138         * TROUBLESHOOTING:
26139         now can use upper case login names
26140         [c772fffcefe5]
26141
26142         * visudo.c:
26143         now uses init_parser()
26144         [b9efae7243fd]
26145
26146         * INSTALL, README:
26147         updated
26148         [27dc8283fdc8]
26149
26150         * PORTING:
26151         added info about PASSWORD_TIMEOUT
26152         [980e15d892f8]
26153
26154         * INSTALL.configure:
26155         Initial revision
26156         [8292e89a08d3]
26157
26158         * BUGS:
26159         fixed a bug ,
26160         [c6e46f5624f9]
26161
26162         * parse.yacc:
26163         now dynamically allocates memory for the stacks -- no more
26164         overflows!
26165         [8615c35b6ad3]
26166
26167         * sudo.pod:
26168         -l now explands command aliases
26169         [39f45605935d]
26170
26171         * parse.yacc:
26172         hacks to expand command aliases for `sudo -l'
26173         [e4eb752608f9]
26174
26175         * sudo.c:
26176         remove $ENV and $BASH_ENV (dangerous in ksh, posix sh, and bash)
26177         [01327ca5084b]
26178
26179         * sudo.h:
26180         added struct command_alias
26181         [dd2f32764082]
26182
26183         * sudo.pod:
26184         fixed a bug
26185         [e708ff08d2eb]
26186
26187         * lsearch.c:
26188         in compar() key should be first arg
26189         [fc14c3fa62ee]
26190
26191 1996-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26192
26193         * BUGS:
26194         fixed some bugs
26195         [639dfe425bd5]
26196
26197         * parse.yacc:
26198         can now deal with upcase HOST and USER names
26199         [c6aa7bcfb00d]
26200
26201         * sudo.c:
26202         don't yell too loudly at non-sudoers if they do "sudo -l"
26203         [4ef146128d89]
26204
26205         * sudo.pod:
26206         fixed thinko
26207         [830f2f0f22e7]
26208
26209         * parse.c:
26210         fix comment
26211         [d20ce9e17ddc]
26212
26213 1996-08-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26214
26215         * parse.c, parse.yacc:
26216         added support for new `sudo -l' stuff
26217         [7dceaef3c733]
26218
26219         * sudo.c:
26220         now uses list_matches()
26221         [293364821b61]
26222
26223         * sudo.h:
26224         added struct sudo_match
26225         [b2684179d179]
26226
26227         * configure.in:
26228         now more -lgnumalloc
26229         [4f8ae42617d8]
26230
26231 1996-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
26232
26233         * install-sh:
26234         added more paths for chown and whoami
26235         [6e685a19426c]
26236
26237 1996-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
26238
26239         * check.c:
26240         typo
26241         [3adfa01c04bc]
26242
26243 1996-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
26244
26245         * aclocal.m4:
26246         fixed DUNIX check for shadow pw
26247         [c25324bcd27b]
26248
26249         * tgetpass.c:
26250         now only turn off echo if it is already on. this fixes a race when
26251         you use sudo in a pipelin
26252         [28388c2de21c]
26253
26254         * INSTALL:
26255         updated
26256         [b45ac9366b7e]
26257
26258         * configure.in:
26259         changed "test -z $foo && do_this" to if; then construct
26260         [2183c4426bca]
26261
26262 1996-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26263
26264         * configure.in:
26265         added missing defines of SHADOW_TYPE
26266         [be89ea68a7f3]
26267
26268 1996-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26269
26270         * check.c:
26271         protect AUTH_CRYPT_OLDCRYPT and AUTH_CRYPT_C1CRYPT since they are
26272         only in dunix 4.x
26273         [1e7c1c677263]
26274
26275         * getspwuid.c:
26276         added AUTH_CRYPT_C1CRYPT support
26277         [88d6b0058b20]
26278
26279         * parse.c:
26280         no longer return VALIDATE_NOT_OK if there was a runas that didn't
26281         match. Now we can have runas stuff on more than one line.
26282         [52b68920d7b7]
26283
26284         * getspwuid.c, sudo.c, tgetpass.c:
26285         use SHADOW_TYPE instead of HAVE_C2_SECURITY
26286         [cf401dfcbc06]
26287
26288         * configure.in:
26289         got rid of HAVE_C2_SECURITY SHADOW_TYPE is always defined to
26290         something
26291         [c7a233c4dd93]
26292
26293         * config.h.in:
26294         removed HAVE_C2_SECURITY added SPW_BSD
26295         [8314405e9754]
26296
26297         * compat.h:
26298         use SHADOW_TYPE instead of HAVE_C2_SECURITY
26299         [6f94870df17f]
26300
26301         * check.c:
26302         SHADOW_TYPE is always defined so just against its value
26303         [72c69a55d02f]
26304
26305         * aclocal.m4:
26306         added SUDO_CHECK_SHADOW_DUNIX
26307         [ef025ae9d496]
26308
26309 1996-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26310
26311         * sudoers.pod:
26312         * -> ?* in one example added another instance of (runas) and one of
26313         NOPASSWD:
26314         [d74fe1dcbe7d]
26315
26316 1996-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
26317
26318         * configure.in:
26319         added back check for config.cache from other host type
26320         [0ba87871f585]
26321
26322         * parse.lex:
26323         removed an instance of \"
26324         [1e008d3709f6]
26325
26326         * sample.sudoers:
26327         added an example
26328         [dbfcf68ee330]
26329
26330         * sudoers.pod:
26331         updated wrt new wildcard matching
26332         [193fa44a475b]
26333
26334         * configure.in:
26335         new check for shadow passwords if we don't know anything
26336         [67465df7dc9a]
26337
26338         * aclocal.m4:
26339         new SUDO_CHECK_SHADOW_GENERIC
26340         [3563b16a41b8]
26341
26342         * configure.in:
26343         added back check for -lsocket (oops)
26344         [a80882ee1cb6]
26345
26346         * configure.in:
26347         better (working) check for shadow passwd type if we know to use C2.
26348         [3cdd2a59a641]
26349
26350         * configure.in:
26351         now uses AC_CANONICAL_HOST to figure out os type
26352         [80db7fe6e704]
26353
26354         * Makefile.in:
26355         added config.{guess,sub}
26356         [c6be7e3ca384]
26357
26358         * aclocal.m4:
26359         removed unused stuff to figure out os type
26360         [c9a0f3b57123]
26361
26362         * config.sub:
26363         added openbsd
26364         [bfc6bfec3668]
26365
26366         * config.sub:
26367         Initial revision
26368         [e6e06ce0d17d]
26369
26370         * config.guess:
26371         Initial revision
26372         [99dd06f79199]
26373
26374         * testsudoers.c:
26375         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
26376         pathname. need to check against sudoers_args even if user_args is
26377         nil
26378         [66e6cf77f5d6]
26379
26380         * parse.c:
26381         don't call fnmatch() with FNM_PATHNAME flag unless it can only be a
26382         pathname need to check against sudoers_args even if user_args is nil
26383         [74374df17311]
26384
26385 1996-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
26386
26387         * check.c:
26388         added support for AUTH_CRYPT_OLDCRYPT w/ DUNIX C2
26389         [cbb00261c415]
26390
26391         * testsudoers.c:
26392         now takes command line args and uses cmnd_args
26393         [f0c2fd35a527]
26394
26395         * parse.lex:
26396         fill_args was adding an extra leading space
26397         [692fc999b2e8]
26398
26399 1996-07-22  Todd C. Miller  <Todd.Miller@courtesan.com>
26400
26401         * visudo.c:
26402         fixed dummy command_matches()
26403         [93d9543db6e2]
26404
26405         * parse.yacc:
26406         fixed prototype
26407         [7b0addfbd429]
26408
26409         * sudo.h:
26410         added cmnd_args
26411         [8f47c4ae65ef]
26412
26413         * parse.yacc:
26414         now uses flat args string
26415         [016e65877da3]
26416
26417         * parse.c, parse.lex:
26418         now uses flat arg string
26419         [5b5f2e3f4c09]
26420
26421         * visudo.c:
26422         added cmnd_args def
26423         [876867134775]
26424
26425         * sudo.c:
26426         now sets cmnd_args global
26427         [e6fee70cb59b]
26428
26429         * logging.c:
26430         cmnd_args is now exported from sudo.[ch]
26431         [7a9cd36e356f]
26432
26433 1996-07-21  Todd C. Miller  <Todd.Miller@courtesan.com>
26434
26435         * parse.yacc:
26436         can't rely on cmnd_matches as much as I thought -- added some $$
26437         stuff back in to prevent namespace pollution problems.
26438         [3c45fedb5af3]
26439
26440         * parse.yacc:
26441         Simplified parse rules wrt runas and NOPASSWD (more consistent).
26442         [e6d838c8a4c7]
26443
26444 1996-07-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26445
26446         * parse.lex:
26447         NOPASSWD may now have blanks before the ':' '(' only starts a
26448         'runas' if in the initial state to avoid collision with command args
26449         [c5c01172f499]
26450
26451         * configure.in:
26452         added checks for specific shadow passwd schemes
26453         [b7e3d1f7b84f]
26454
26455         * aclocal.m4:
26456         added routines to check for specific shadow passwd types
26457         [e5e1d19960a6]
26458
26459 1996-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
26460
26461         * configure.in:
26462         added support for ncr boxen
26463         [bea9dc5aae7f]
26464
26465         * aclocal.m4:
26466         added support for detecting ncr boxen
26467         [8653a158a924]
26468
26469 1996-07-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26470
26471         * configure.in:
26472         added sinix support
26473         [5de2b2173ee1]
26474
26475 1996-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
26476
26477         * TROUBLESHOOTING:
26478         added info about "config.cache from other other" error.
26479         [845b10198e0b]
26480
26481         * aclocal.m4:
26482         now makes sure you don't have a config.cache file from another OS
26483         [4fe32571c021]
26484
26485         * configure.in:
26486         now sets $LIBS when needed to configure links with libs when doing
26487         tests hpux10 now uses SPW_SECUREWARE for C2 added check for
26488         bigcrypt(3) if SPW_SECUREWARE
26489         [2df6b8ca538f]
26490
26491         * getspwuid.c:
26492         fixed typo
26493         [fe1cb1d792d6]
26494
26495         * tgetpass.c:
26496         now include stuff for SPW_SECUREWARE to get AUTH_MAX_PASSWD_LENGTH
26497         [f71138372c07]
26498
26499         * getspwuid.c:
26500         no more SPW_HPUX10
26501         [cfdeb18bc16b]
26502
26503         * config.h.in:
26504         no more SPW_HPUX10 added HAVE_BIGCRYPT
26505         [00d296479a61]
26506
26507         * compat.h:
26508         now uses AUTH_MAX_PASSWD_LENGTH if SPW_SECUREWARE
26509         [6c6d9e680417]
26510
26511         * check.c:
26512         SPW_SECUREWARE now uses bigcrypt
26513         [be71fc66690f]
26514
26515 1996-07-13  Todd C. Miller  <Todd.Miller@courtesan.com>
26516
26517         * sample.sudoers:
26518         fixed 2 syntax errors
26519         [45eee19ef4ac]
26520
26521         * sudoers:
26522         root may now run ALL as ALL
26523         [1b54c6b9b212]
26524
26525 1996-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
26526
26527         * interfaces.c:
26528         fixed a typo/thinko that broke BSD's with sa_len
26529         [603438360126]
26530
26531 1996-07-08  Todd C. Miller  <Todd.Miller@courtesan.com>
26532
26533         * check.c, configure.in:
26534         updated AFS support
26535         [e572eb8d177a]
26536
26537         * TROUBLESHOOTING:
26538         added entry about /usr/ucb/cc
26539         [025b353aa9d3]
26540
26541         * INSTALL:
26542         prep no longer holds gcc binaries
26543         [8b0942958049]
26544
26545         * INSTALL:
26546         updated AFS note
26547         [7af6efd5abe4]
26548
26549         * Makefile.in:
26550         added @AFS_LIBS@
26551         [97b6fe6ad7d6]
26552
26553         * compat.h:
26554         AFS allows long passwords
26555         [5fb17122c302]
26556
26557         * testsudoers.c:
26558         fixed -u user support
26559         [b1a0c1648639]
26560
26561         * parse.c:
26562         sudo -v now groks VALIDATE_OK_NOPASS
26563         [74fc03fffe7e]
26564
26565         * parse.yacc:
26566         fixed no_passwd vs. runas_matched
26567         [549a9b791a6a]
26568
26569         * TROUBLESHOOTING:
26570         took out stuff about NFS-mounting since it is no longer an issue
26571         [d95ab7fbbc61]
26572
26573         * INSTALL:
26574         added --with-libraries > --with-libpath --with-incpath
26575         [d5d15a7a0f4c]
26576
26577         * parse.yacc:
26578         was setting runas_matches to -1 in wrong place
26579         [db2b1deb8d33]
26580
26581         * check.c:
26582         removed usersec.h which is not present in new AFS versions
26583         [618b016dd17f]
26584
26585         * tgetpass.c:
26586         now deals with timeout <= 0
26587         [ba53a1257255]
26588
26589         * OPTIONS:
26590         updated
26591         [75093bd8fdca]
26592
26593         * configure.in:
26594         BSD/OS >= 2.0 now uses shlicc instead of just gcc
26595         [ff6dbf7825c2]
26596
26597         * sudo.c:
26598         fixed backwards compatibility with sudo 1.4 sudoers mode for root
26599         readable/writable filesystems
26600         [2694ed627221]
26601
26602         * Makefile.in:
26603         now gives INSTALL -c flag
26604         [63db055a2fd1]
26605
26606         * parse.yacc:
26607         slightly simpler initialization of no_passwd and runas_matches
26608         [463a1b5fa323]
26609
26610         * testsudoers.c:
26611         added -u username support
26612         [38b072fcd6b3]
26613
26614         * configure.in:
26615         improved --with-libraries support
26616         [047dbc5f0af2]
26617
26618 1996-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26619
26620         * configure.in:
26621         added --with-incpath, --with-libpath, --with-libraries
26622         [20f20d6c718c]
26623
26624         * parse.yacc:
26625         now initializes some fields that weren't getting set to -1 pretty
26626         gross -- need a rewrite.
26627         [021c160390c6]
26628
26629 1996-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
26630
26631         * alloca.c:
26632         removed emacs'isms
26633         [9d4ec2efe057]
26634
26635         * configure.in:
26636         no longer add -lPW to *_LIBS since we include alloca.c
26637         [a626d1bbea80]
26638
26639         * config.h.in:
26640         added HAVE_ALLOCA_H
26641         [15491e2a6cff]
26642
26643         * Makefile.in:
26644         added alloca.c
26645         [0400f25e1fe4]
26646
26647         * alloca.c:
26648         Initial revision
26649         [06d033aa4882]
26650
26651         * configure.in:
26652         ++version
26653         [f52c0fb98f90]
26654
26655 1996-06-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26656
26657         * sudo.c:
26658         now set uid to 1 instead of nobody for PERM_SUDOERS since nobody is
26659         not always set to a valid uid.
26660         [c2669f77704d]
26661
26662         * OPTIONS:
26663         fixed entry for SUDO_MODE
26664         [d7272f6035b8]
26665
26666         * sudo.c:
26667         Fixed NFS-mounted sudoers file under solaris both uid *and* gid were
26668         being set to -2. Now beat NFS to the punch and set uid to "nobody"
26669         ourselves, preserving group 0 to read sudoers.
26670         [b1fbc5dd1e34]
26671
26672         * parse.c:
26673         moved set_perms(PERM_ROOT) to be before yyparse()
26674         [7619d8080735]
26675
26676         * logging.c:
26677         fixed a typo
26678         [318acc48cde0]
26679
26680         * configure.in:
26681         no longer need AC_PROG_INSTALL
26682         [de01b1336dc8]
26683
26684         * Makefile.in:
26685         always use install-sh to avoid install(1)'s that use get{pw,gr}nam
26686         [ea2351986406]
26687
26688         * INSTALL:
26689         make clean -> make distclean
26690         [704a98e8ba10]
26691
26692 1996-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
26693
26694         * parse.yacc:
26695         removed some unnecsary if's
26696         [f00db6508132]
26697
26698         * Makefile.in, version.h:
26699         ++version
26700         [bdb6740b24c8]
26701
26702         * parse.c, testsudoers.c:
26703         now includes netgroup.h
26704         [93f5a06352bc]
26705
26706         * interfaces.c:
26707         removed cats of ioctl to int since they didn't shut up -Wall
26708         [83e9f912cd7a]
26709
26710         * interfaces.c:
26711         explicately cast ioctl() to int since it it not always declared
26712         [2ff9294e469e]
26713
26714         * sudo.h:
26715         added declarations for yyparse() and yylex()
26716         [6071321ab771]
26717
26718         * parse.yacc:
26719         fixed an occurence of '==' -> '='
26720         [2c46d2e11d57]
26721
26722         * config.h.in, configure.in:
26723         added check for netgroup.h
26724         [73403050f4e3]
26725
26726         * sudo.c:
26727         fixed 2 compiler warnings
26728         [680929b0bd97]
26729
26730         * sudo.c:
26731         SHELL_IF_NO_ARGS caused core dump since NewArg[cv] weren't being
26732         initialized
26733         [18707ecd07c2]
26734
26735 1996-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
26736
26737         * sudo.pod:
26738         fixed a typo
26739         [e4b5c12aa130]
26740
26741 1996-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
26742
26743         * parse.yacc:
26744         fixed a formatting thingie
26745         [c79327b6f19b]
26746
26747         * parse.c, parse.yacc:
26748         fixed -u support with multiple user lists on a line
26749         [e4d1066adca2]
26750
26751         * configure.in:
26752         unixware needs -lgen
26753         [b5bf9bca63cc]
26754
26755         * README:
26756         updated ftp location
26757         [b25a033f7921]
26758
26759         * sudoers.pod:
26760         add net_addr/netmask support
26761         [674e83516d1e]
26762
26763         * sample.sudoers:
26764         added net_addr/mask example
26765         [774878e89b28]
26766
26767         * parse.c, parse.lex:
26768         added support for net_addr/netmask
26769         [e33de27325d8]
26770
26771 1996-06-16  Todd C. Miller  <Todd.Miller@courtesan.com>
26772
26773         * sudoers.pod:
26774         ^ -> !
26775         [1a084950d6ef]
26776
26777 1996-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
26778
26779         * RUNSON:
26780         updated for 1.4.3
26781         [c82019025d09]
26782
26783         * CHANGES:
26784         udpated for 1.4.3
26785         [ceaa81adb8f0]
26786
26787         * BUGS, TODO, TROUBLESHOOTING:
26788         updated
26789         [ff94fae4b853]
26790
26791         * sample.sudoers:
26792         updated with examples of new stuff
26793         [99d0b4cb4c9c]
26794
26795         * INSTALL, README:
26796         ++version
26797         [b763b80fe836]
26798
26799         * sudoers.pod:
26800         updated wrt -u and NOPASSWD
26801         [0b5b722ea0f4]
26802
26803         * sudo.pod:
26804         updated wrt -u and CAVEATS
26805         [71d5d53b5d18]
26806
26807 1996-06-09  Todd C. Miller  <Todd.Miller@courtesan.com>
26808
26809         * sudo.c:
26810         fixed usage()
26811         [114c7d09b550]
26812
26813         * parse.lex:
26814         now use :foo: character classes (makes no diff for generated lexer)
26815         [7b0aeb737a02]
26816
26817 1996-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
26818
26819         * check.c:
26820         fixed LONG_SKEY_PROMPT stuff
26821         [0efe78b4bdda]
26822
26823 1996-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
26824
26825         * visudo.c:
26826         fixed a comment
26827         [3d289017104b]
26828
26829         * lsearch.c:
26830         make more like NetBSD one -- now compiles w/o warnings
26831         [932206296a54]
26832
26833         * emul/search.h:
26834         fixed decls of lsearch()
26835         [c58cf4584c45]
26836
26837         * config.h.in, configure.in, getspwuid.c:
26838         added SPW_HPUX10
26839         [d74e5eaa5f17]
26840
26841         * check.c:
26842         hpux 10 uses bigcrypt() if C2
26843         [359eb63f4021]
26844
26845 1996-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
26846
26847         * parse.c:
26848         now always uses fnmatch to match args
26849         [a9d91f35256a]
26850
26851         * tgetpass.c:
26852         back to using stdio instead of raw i/o since that caused some
26853         problems
26854         [e7ce2bc92974]
26855
26856 1996-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26857
26858         * sudo.c:
26859         now give usage warning if use -l,-v,-k with args
26860         [6b48180c4fea]
26861
26862 1996-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26863
26864         * sudo.c:
26865         NewArgc is now set to 1 for -l, -v, -k
26866         [7497cb1416a8]
26867
26868         * sudo.c:
26869         now sets sudoers to correct group if mode is 0400
26870         [484c43d99718]
26871
26872         * install-sh:
26873         updated to version used by inn and bind
26874         [28683ad8725a]
26875
26876         * configure.in:
26877         now uses -lgnumalloc if it exists
26878         [3651ca4415a2]
26879
26880         * Makefile.in:
26881         "make install" now sets uid/gid and mode on sudoers if it exists
26882         [1f5216191ae9]
26883
26884         * sudo.c:
26885         rmeoved debugging statements
26886         [aeda278e2c26]
26887
26888         * parse.yacc:
26889         added a missing free()
26890         [592c9482a159]
26891
26892         * sudo.c:
26893         now uses user_gid instead of getegid (which was wrong anyway) to set
26894         SUDO_GID Now sets command line args in SUDO_COMMAND envariabled
26895         (logging.c depends on args being in the environment)
26896         [9f5328a3b942]
26897
26898         * logging.c:
26899         now uses SUDO_COMMAND envariable to get command args rather than
26900         building it up again.
26901         [7f8edc5bccb7]
26902
26903         * parse.c:
26904         now uses user_gid
26905         [4b9303ae45fe]
26906
26907         * sudo.c:
26908         fixed off by one error in allocation NewArgv
26909         [921ea1a4e7c6]
26910
26911         * parse.c:
26912         in sudoers, 'command ""' now means command with no args
26913         [a5273648ace2]
26914
26915         * configure.in:
26916         added check for fnmatch(3) and fnmatch.h
26917         [258916a7866f]
26918
26919         * config.h.in:
26920         added HAVE_FNMATCH
26921         [b9860d361e93]
26922
26923         * Makefile.in:
26924         replaced wildcat.* with fnmatch.*
26925         [03ad9ee21a1c]
26926
26927         * testsudoers.c:
26928         now uses fnmatch()
26929         [5a7f7de987a9]
26930
26931 1996-05-27  Todd C. Miller  <Todd.Miller@courtesan.com>
26932
26933         * parse.c:
26934         now uses fnmatch() instead of wildmat a trailing star (*) by itself
26935         now matches multiple args added support for wildcards in the
26936         pathname in sudoers
26937         [1f7fb950b868]
26938
26939 1996-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
26940
26941         * fnmatch.c:
26942         now includes compat.h and config.h
26943         [090206b95cf8]
26944
26945         * config.h.in:
26946         added HAVE_FNMATCH_H
26947         [90eb42150173]
26948
26949         * configure.in:
26950         now checks for alloca() (if needed by bison or dce) and links with
26951         -lPW if it contains alloca() and libv and compiler do not.
26952         [cfa2b3cef49a]
26953
26954         * emul/fnmatch.h, fnmatch.3, fnmatch.c:
26955         Initial revision
26956         [20b1f762a32a]
26957
26958 1996-04-29  Todd C. Miller  <Todd.Miller@courtesan.com>
26959
26960         * sudo.c:
26961         now fixes mode on sudoers if set to 0400 to aid in upgrade
26962         [d4bdfd521820]
26963
26964 1996-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
26965
26966         * Makefile.in:
26967         fixed pod2man usage
26968         [5adf2ec77b27]
26969
26970         * Makefile.in, configure.in, version.h:
26971         ++version
26972         [b4029de876d0]
26973
26974         * testsudoers.c, visudo.c:
26975         runas_user is now initialized to "root"
26976         [8537d97bff39]
26977
26978         * sudo.h:
26979         removed PERM_FULL_ROOT
26980         [241f8bbf647f]
26981
26982         * sudo.c:
26983         runas_user defaults to "root" so no more need to PERM_RUNAS
26984         [fc0c0dfc72ba]
26985
26986         * parse.c:
26987         will now only running commands as root if there was no runas list
26988         (or if root is in the runas list)
26989         [40c587666c81]
26990
26991         * logging.c:
26992         now logs "USER=%s"
26993         [b733504c87fd]
26994
26995         * parse.yacc:
26996         runas_matches is now set to false if we get a negative match
26997         [5495b150b300]
26998
26999         * parse.lex:
27000         make #uid work + some minor cleanup
27001         [07851bbce03a]
27002
27003         * sample.sudoers:
27004         added support for NOPASSWD and "runas" from garp@opustel.com /
27005         [7a9c67b51fa5]
27006
27007         * visudo.c:
27008         added support for "runas" from garp@opustel.com replaced
27009         SUDOERS_OWNER with SUDOERS_UID, SUDOERS_GID added support for
27010         SUDOERS_MODE
27011         [e714209b9885]
27012
27013         * testsudoers.c:
27014         added support for "runas" from garp@opustel.com
27015         [b837f856da10]
27016
27017         * sudo.h:
27018         added support for NO_PASSWD and runas from garp@opustel.com replaced
27019         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support
27020         fro SUDOERS_MODE
27021         [cea6f26679b7]
27022
27023         * sudo.c:
27024         added support for NO_PASSWD and runas from garp@opustel.com replaced
27025         SUDOERS_OWNER with SUDOERS_UID and SUDOERS_GID and added support fro
27026         SUDOERS_MODE
27027         [61b5434237c5]
27028
27029         * parse.yacc:
27030         added support for NO_PASSWD and runas from garp@opustel.com
27031         [72ebd3056f22]
27032
27033         * parse.c, parse.lex:
27034         added support for NO_PASSWD and runas from garp@opustel.com
27035         [fef6dbdd114d]
27036
27037         * logging.c:
27038         added support for SUDOERS_WRONG_MODE and "runas"
27039         [e794efc2b443]
27040
27041         * configure.in:
27042         added --with-CC only link with -lshadow on linux (with shadow pw) if
27043         libc lacks getspnam()
27044         [3ecf4ae21002]
27045
27046         * OPTIONS, options.h:
27047         removed NO_PASSWD since it is not possible to do this in the sudoers
27048         file itself. Replaced SUDOERS_OWNER with SUDOERS_UID and
27049         SUDOERS_GID. Added SUDOERS_MODE.
27050         [2eaa4891ef48]
27051
27052         * Makefile.in:
27053         now uses SUDOERS_UID and SUDOERS_GID
27054         [8d615f0fdb2a]
27055
27056 1996-04-27  Todd C. Miller  <Todd.Miller@courtesan.com>
27057
27058         * INSTALL:
27059         added --with-CC
27060         [a1b8286a81b8]
27061
27062 1996-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27063
27064         * parse.lex:
27065         added double quote support
27066         [a5e4fc7e3a2b]
27067
27068         * sudoers.pod:
27069         documented double quoting
27070         [c6ea47969a44]
27071
27072 1996-04-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27073
27074         * mkinstalldirs:
27075         Initial revision
27076         [dcb86d65ad8f]
27077
27078         * check.c:
27079         fixed some indentation
27080         [4d1c5ab8072b]
27081
27082         * Makefile.in:
27083         fixed a typo
27084         [0d27eebc7227]
27085
27086         * Makefile.in:
27087         added install-dirs .
27088         [f499b99b8be7]
27089
27090 1996-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27091
27092         * dce_pwent.c:
27093         new version from "Jeff A. Earickson" <jaearick@colby.edu>
27094         [422481be5fbd]
27095
27096 1996-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27097
27098         * configure.in:
27099         $CSOPS -> $with_csops (whoops, missed one)
27100         [b04c6948130e]
27101
27102         * BUGS:
27103         updated
27104         [c4d5713e227d]
27105
27106         * parse.lex:
27107         FQHOST now has same constraints as non-FQHOST
27108         [e1c3bf2381d1]
27109
27110         * INSTALL:
27111         added note about OS's w/ shadow passwords turned on by default
27112         [166257f43be4]
27113
27114 1996-04-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27115
27116         * configure.in:
27117         fixed a typo
27118         [e5c3e2e9a359]
27119
27120         * configure.in:
27121         added support for --without-THING sanitized shadow pw situtation by
27122         adding support for
27123         --without-C2
27124         [65dc6bf64cce]
27125
27126         * tgetpass.c:
27127         fixed a typo wrt placement of an end paren
27128         [a8780f818231]
27129
27130         * check.c:
27131         was closing an fd that may not have been opened
27132         [760271c7bdc9]
27133
27134 1996-03-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27135
27136         * OPTIONS, options.h, sudo.c:
27137         added NO_PASSWD
27138         [28ff1dc93d7a]
27139
27140 1996-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27141
27142         * configure.in:
27143         now always use shadow pw on some arches
27144         [069161ccffda]
27145
27146 1996-03-19  Todd C. Miller  <Todd.Miller@courtesan.com>
27147
27148         * configure.in:
27149         added pyramid support
27150         [a0eb57a3a531]
27151
27152         * configure.in:
27153         no longer check for C2 if alternate passwd method is used no longer
27154         check for some libs twice
27155         [2d0c3c902b40]
27156
27157         * parse.yacc:
27158         moved fqdn stuff into parse.lex (FQHOST)
27159         [d9c9abd481d8]
27160
27161         * parse.lex:
27162         added FQHOST rules
27163         [4a1695acff6d]
27164
27165         * tgetpass.c:
27166         now define TCSASOFT in necesary
27167         [3fac2e21c9ab]
27168
27169         * tgetpass.c:
27170         now uses read/write instead of stdio string goop to avoid problems
27171         with select(2)
27172         [67fd174e518c]
27173
27174         * OPTIONS, find_path.c, options.h:
27175         -DNO_DOT_PATH -> -DIGNORE_DOT_PATH
27176         [d05ba5100d28]
27177
27178 1996-03-17  Todd C. Miller  <Todd.Miller@courtesan.com>
27179
27180         * INSTALL:
27181         added note about no shadow auto-detect if using alternate auth
27182         schemes
27183         [b425592232a3]
27184
27185         * configure.in:
27186         don't check for C2 if AFS or DCE (unless they said --with-C2)
27187         [61342962171a]
27188
27189         * testsudoers.c:
27190         now groks shost
27191         [85dda17303f6]
27192
27193         * OPTIONS, find_path.c, options.h:
27194         added NO_DOT_PATH
27195         [c261ca1fb196]
27196
27197 1996-03-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27198
27199         * find_path.c:
27200         checkdot now works correctly
27201         [3bc4835bb3e9]
27202
27203 1996-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
27204
27205         * configure.in:
27206         can't have DCE and C2 passwords both...
27207         [fb9a8ab7ca66]
27208
27209 1996-03-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27210
27211         * parse.yacc, sudo.c, sudo.h, visudo.c:
27212         now uses shost even if not FQDN
27213         [87f7498b3a1f]
27214
27215         * configure.in:
27216         now looks for skey in /usr/lib and doesn't require libskey to be in
27217         /usr/local/lib just because skey.h is (for my netbsd box :-)
27218         [ceb1763e37d2]
27219
27220         * aclocal.m4, config.h.in, pathnames.h.in:
27221         _SUDO_PATH_ -> _CONFIG_PATH_
27222         [84d97ad13d75]
27223
27224         * aclocal.m4, sudo.pod:
27225         /var/run/.odus -> /var/run/sudo
27226         [922da220b8f5]
27227
27228         * pathnames.h.in:
27229         now uses _SUDO_PATH_TIMEDIR
27230         [5ecab0155fdf]
27231
27232         * OPTIONS:
27233         udpated FQDN
27234         [361b6f7440c0]
27235
27236         * aclocal.m4, configure.in:
27237         added SUDO_TIMEDIR
27238         [368c95c8c950]
27239
27240         * config.h.in:
27241         added _SUDO_PATH_TIMEDIR
27242         [3879864d808c]
27243
27244         * sudo.pod:
27245         updated wrt /var/run/sudo
27246         [9e14f2a429d3]
27247
27248         * sudo.c, sudo.h:
27249         added support for shost if FQDN
27250         [51a3f51a09a1]
27251
27252         * parse.yacc, visudo.c:
27253         now uses shost if FQDN
27254         [d19da2e92b42]
27255
27256         * check.c:
27257         Now use skeylookup() instead off skeychallenge()
27258         [4c7438bb2ae0]
27259
27260 1996-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27261
27262         * logging.c:
27263         mail_argv should not contain ALERTMAIL as it includes "-t"
27264         [67ffaaa8f843]
27265
27266 1996-02-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27267
27268         * INSTALL, Makefile.in, README, configure.in, version.h:
27269         ++version
27270         [e08fd4a809fc]
27271
27272         * compat.h:
27273         added more _PASSWD_LEN stuff -- now uses PASS_MAX too
27274         [2f20c3153689]
27275
27276         * tgetpass.c:
27277         now includes limits.h moved _PASSWD_LEN -> compat.h
27278         [b1ca3cafdacc]
27279
27280 1996-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27281
27282         * INSTALL, README:
27283         ++version
27284         [3eacf32803f5]
27285
27286         * Makefile.in:
27287         ++versoin
27288         [3b91c317630a]
27289
27290         * Makefile.in:
27291         fixed a typo
27292         [3661ac4a7803]
27293
27294         * configure.in:
27295         ++version
27296         [60e842973745]
27297
27298 1996-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27299
27300         * RUNSON:
27301         updated
27302         [def2c3c24195]
27303
27304         * CHANGES:
27305         done for 1.4.1 (I hope)
27306         [2ab543769a40]
27307
27308         * sudoers.pod:
27309         added info on wildcards
27310         [ce3bd41bc063]
27311
27312         * sample.sudoers:
27313         added wildcard example
27314         [762feb0577bd]
27315
27316         * Makefile.in:
27317         now uses *.pod to build *.man and *.cat & *.html
27318         [3ec14962028b]
27319
27320         * configure.in:
27321         addedSUDO_PROG_BSHELL !ll
27322         [3c80b320bf16]
27323
27324         * visudo.pod:
27325         fixed up some formatting
27326         [12166c434526]
27327
27328         * sudoers.pod:
27329         redid section describing sample sudoers stuff
27330         [b8065cceec71]
27331
27332         * sudo.pod:
27333         fixed some formatting
27334         [aa9a681add0f]
27335
27336         * getspwuid.c:
27337         now treats "" as bourne shell
27338         [30194a72ad56]
27339
27340         * Makefile.in:
27341         TESTOBJS nwo includes wildmat.o
27342         [86cc6500f84d]
27343
27344         * testsudoers.c:
27345         now works with NewArg[cv]
27346         [2f72674ce942]
27347
27348         * sudo.c:
27349         removed an XXX (fixed it in getspwuid.c)
27350         [e791ee0d1a68]
27351
27352         * aclocal.m4:
27353         added check for bourne shell
27354         [a2fd51676b8a]
27355
27356         * pathnames.h.in:
27357         added _PATH_BSHELL
27358         [e7c10011d47b]
27359
27360         * config.h.in:
27361         added _SUDO_PATH_BSHELL
27362         [6a1182898de9]
27363
27364 1996-02-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27365
27366         * visudo.c:
27367         unixware vi returns 256 instead of 0
27368         [234ffc7c6786]
27369
27370         * INSTALL:
27371         added Linux note
27372         [5f85efcd2b58]
27373
27374         * logging.c:
27375         fixed up some XXX's. file log format now looks a little more like
27376         real syslog(3) format.
27377         [6df55707bfc3]
27378
27379         * README, TROUBLESHOOTING:
27380         updated wrt lex/flex
27381         [eb787d69156b]
27382
27383         * Makefile.in:
27384         commented out rule to build lex.yy.c from parse.lex since we ship
27385         with a pre-flex'd parser
27386         [7507e2ce4a95]
27387
27388         * parse.c, parse.yacc, visudo.c:
27389         path_matches -> command_matches
27390         [0bd469424f86]
27391
27392         * logging.c:
27393         eliminated some strcat()'s
27394         [9878a79bc374]
27395
27396         * configure.in:
27397         no longer checks for lex/flex (now assumes flex)
27398         [a086ccc73798]
27399
27400         * configure.in:
27401         now checks for $kerb_dir_candidate/krb.h instead of just
27402         kerb_dir_candidate
27403         [9133bc3c5208]
27404
27405 1996-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
27406
27407         * parse.yacc:
27408         now use a 'hook' expression instead of an iffy one :-)
27409         [9560df01b8c0]
27410
27411 1996-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
27412
27413         * visudo.c:
27414         now works with new sudo arg stuff
27415         [310a0d43ddad]
27416
27417         * parse.yacc:
27418         fixed dereferencing deadbeef
27419         [474ef8a8006b]
27420
27421         * sudo.c:
27422         changed an occurrence of Argv to NewArgv
27423         [205b012b7691]
27424
27425         * parse.lex:
27426         took out support for quoted commands since there is no need...
27427         [5c5036d353b1]
27428
27429         * parse.c:
27430         fixed a typo in a for() loop
27431         [7e8d5283c43b]
27432
27433         * logging.c:
27434         protected against dereferencing rogue pointers
27435         [56debd517717]
27436
27437         * sudo.c:
27438         now uses NewArgv amd NewArgc so cmnd_aegs is no longer needed this
27439         also allows us to eliminate some kludges in parse_args() and
27440         eliminate superfluous code.
27441         [5122f66ad150]
27442
27443         * logging.c:
27444         no longer uses cmnd_args, now uses NewArgv instead.
27445         [abddd23cf068]
27446
27447         * sudo.h:
27448         added struct sudo_command, NewArgc, and NewArgv removed cmnd_args
27449         (no longer used)
27450         [78410984fb05]
27451
27452         * Makefile.in:
27453         added wildmat.c to SRCS & SUDOBJS
27454         [3800efb41794]
27455
27456         * parse.yacc:
27457         COMMAND is now a struct containing the path and args
27458         [5c32822c5b94]
27459
27460         * parse.lex:
27461         replaced append() with fill_cmnd() and fill_args. command args from
27462         a sudoers entry are now stored in an arrary for easy matching.
27463         [a981d7f4eb0d]
27464
27465         * parse.c:
27466         command line args from sudoers file are now in an array like ones
27467         passed in from the command line
27468         [1d9e37e84519]
27469
27470 1996-02-01  Todd C. Miller  <Todd.Miller@courtesan.com>
27471
27472         * parse.c:
27473         wildwat stuff now works
27474         [49d16488531f]
27475
27476 1996-01-29  Todd C. Miller  <Todd.Miller@courtesan.com>
27477
27478         * version.h:
27479         ++version
27480         [53e55463ef89]
27481
27482         * Makefile.in:
27483         ++version added wildmat.*
27484         [0508297a4711]
27485
27486 1996-01-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27487
27488         * parse.lex:
27489         added support for quoted commands (w/ or w/o args)
27490         [b9a637155673]
27491
27492 1996-01-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27493
27494         * sudo.pod, visudo.pod:
27495         cleaned up formatting
27496         [4591d4195437]
27497
27498         * sudo.pod, visudo.pod:
27499         Initial revision
27500         [7564a8242750]
27501
27502 1996-01-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27503
27504         * sudoers.pod:
27505         looks reasonable, could be mroe readable
27506         [a5be2d19d9e0]
27507
27508         * sudoers.pod:
27509         Initial revision
27510         [957888be31a6]
27511
27512 1996-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
27513
27514         * RUNSON:
27515         updated
27516         [633743aa924b]
27517
27518         * OPTIONS:
27519         updated NO_ROOT_SUDO entry
27520         [f1c15b1dec9e]
27521
27522 1996-01-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27523
27524         * RUNSON:
27525         *** empty log message ***
27526         [5b63de579ff7] [SUDO_1_4_0]
27527
27528         * sudo.c:
27529         fixed SECURE_PATH
27530         [6002889f606d]
27531
27532         * RUNSON:
27533         udpa`ted for 1.4
27534         [6014a8592815]
27535
27536         * configure.in:
27537         AIX aixcrypt.exp now uses $(srcdir)
27538         [b0d57674fef4]
27539
27540         * TROUBLESHOOTING:
27541         added entry for anal ansi compilers
27542         [4193cec1c6b1]
27543
27544 1996-01-14  Todd C. Miller  <Todd.Miller@courtesan.com>
27545
27546         * INSTALL:
27547         added info on libcrypt_i for SCO
27548         [575497d56698]
27549
27550         * TODO:
27551         *** empty log message ***
27552         [d0aaf67b9913]
27553
27554         * sample.sudoers:
27555         added comments
27556         [a7773f7eda8d]
27557
27558         * TODO:
27559         1.4 release
27560         [1dade29e9fd9]
27561
27562         * CHANGES:
27563         ++version
27564         [67241be40780]
27565
27566         * INSTALL, OPTIONS, README, config.h.in, configure.in:
27567         ++version
27568         [2e0a37897f68]
27569
27570         * BUGS:
27571         ++version and fixed ISC
27572         [78963f01a0e3]
27573
27574         * check.c, compat.h, dce_pwent.c, find_path.c, getspwuid.c, getwd.c,
27575         goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h,
27576         insults.h, logging.c, options.h, pathnames.h.in, putenv.c, strdup.c,
27577         sudo.c, sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
27578         visudo.c:
27579         ++version
27580         [b6227f29b3d9]
27581
27582         * interfaces.c:
27583         added STUB_LOAD_INTERFACES ++version
27584         [d8150a3fd577]
27585
27586         * Makefile.in, emul/utime.h, parse.c, parse.lex, parse.yacc,
27587         version.h:
27588         ++version
27589         [da9e90e69bdc]
27590
27591         * PORTING:
27592         added info about fd_set in tgetpass added info on interfaces.c
27593         [a39902febd17]
27594
27595 1996-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27596
27597         * dce_pwent.c:
27598         added sudo header
27599         [fc0f2c48682e]
27600
27601         * tgetpass.c:
27602         fixed a typo
27603         [43d40b72ee8f]
27604
27605         * Makefile.in:
27606         tgetpass.o is now only linked in with sudo (not visudo)
27607         [7407c5ff11f8]
27608
27609 1996-01-09  Todd C. Miller  <Todd.Miller@courtesan.com>
27610
27611         * BUGS, INSTALL, Makefile.in, OPTIONS, README, config.h.in,
27612         configure.in:
27613         ++version
27614         [9b82ad805d6b]
27615
27616         * emul/utime.h:
27617         added copyright notice
27618         [4380f16cd075]
27619
27620         * check.c, compat.h, find_path.c, getspwuid.c, getwd.c, goodpath.c,
27621         ins_2001.h, ins_classic.h, ins_csops.h, ins_goons.h, insults.h,
27622         interfaces.c, logging.c, options.h, parse.c, parse.lex, parse.yacc,
27623         pathnames.h.in, putenv.c, strdup.c, sudo.c, sudo.h, sudo_setenv.c,
27624         testsudoers.c, tgetpass.c, utime.c, version.h, visudo.c:
27625         ++version
27626         [32717fdb5d05]
27627
27628         * tgetpass.c:
27629         minor cleanup and now includes sys/bsdtypes for svr4'ish boxen
27630         [326864428da2]
27631
27632         * configure.in:
27633         ISC now gets -lcrypt now check for sys/bsdtypes.h
27634         [e064799c054b]
27635
27636         * config.h.in:
27637         added check for sys/bsdtypes.h
27638         [9adb9533c363]
27639
27640 1996-01-07  Todd C. Miller  <Todd.Miller@courtesan.com>
27641
27642         * parse.yacc:
27643         removed debugging stuff (setting freed ptr to NULL)
27644         [02fe8eec63a0]
27645
27646         * TROUBLESHOOTING:
27647         added 2 entries
27648         [02884e2733e2]
27649
27650         * Makefile.in:
27651         added FAQ
27652         [074d8dfcf28d]
27653
27654         * TROUBLESHOOTING:
27655         added section on syslog
27656         [e6bc02a22b86]
27657
27658         * configure.in:
27659         added AC_ISC_POSIX for better ISC support
27660         [8436b3e12af2]
27661
27662         * config.h.in:
27663         fixed typo
27664         [f1b3922babf4]
27665
27666         * config.h.in:
27667         added define for _POSIX_SOURCE
27668         [ded6d92b34f9]
27669
27670 1996-01-04  Todd C. Miller  <Todd.Miller@courtesan.com>
27671
27672         * configure.in:
27673         fixed check for lsearch()
27674         [75baa5bc28a3]
27675
27676 1995-12-22  Todd C. Miller  <Todd.Miller@courtesan.com>
27677
27678         * interfaces.c:
27679         fixed for AIX now deal if num_interfaces == 0 (should not happen)
27680         [ae450e859227]
27681
27682 1995-12-20  Todd C. Miller  <Todd.Miller@courtesan.com>
27683
27684         * configure.in:
27685         now only define HAVE_LSEARCH if there is a corresponding search.h
27686         [8ce645c5d17f]
27687
27688         * interfaces.c:
27689         works on ISC again
27690         [ccac920d424c]
27691
27692 1995-12-18  Todd C. Miller  <Todd.Miller@courtesan.com>
27693
27694         * configure.in:
27695         now define HAVE_LSEARCH if we find lsearch() in libcompat
27696         [7343e4313a87]
27697
27698         * lsearch.c:
27699         char * -> const char *
27700         [1c0b11c2300a]
27701
27702         * configure.in:
27703         now looks in -lcompat for lsearch()
27704         [a1cc1d6fcd09]
27705
27706         * Makefile.in:
27707         remove sudo.core visudo.core for clan target
27708         [b523456a85df]
27709
27710         * aclocal.m4:
27711         added UID_MAX support in check for MAX_UID_T_LEN
27712         [7ab262b1173f]
27713
27714         * Makefile.in:
27715         fixed another occurence of sudo_getpwuid.*
27716         [fb5809c07da2]
27717
27718         * Makefile.in, getspwuid.c:
27719         sudo_getpwuid.c -> getspwuid.c
27720         [875f2ef808b4]
27721
27722         * configure.in:
27723         moved the "echo"
27724         [ad7b8f966076]
27725
27726         * BUGS, CHANGES, INSTALL, Makefile.in, OPTIONS, README, check.c,
27727         compat.h, config.h.in, configure.in, find_path.c, getspwuid.c,
27728         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
27729         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
27730         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
27731         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
27732         version.h, visudo.c:
27733         ++version
27734         [ee57c6410ffa]
27735
27736         * testsudoers.c:
27737         added group support
27738         [54d8097df8bd]
27739
27740         * sample.sudoers:
27741         added group entry
27742         [50994d31fd49]
27743
27744         * sudoers.man:
27745         documented group support
27746         [0a16707f8fed]
27747
27748         * parse.c, parse.lex, parse.yacc, visudo.c:
27749         added group support
27750         [427218c879c8]
27751
27752 1995-12-15  Todd C. Miller  <Todd.Miller@courtesan.com>
27753
27754         * check.c:
27755         tkfile was too short and overflowed the kerberos realm
27756         [53823a1ff5af]
27757
27758 1995-12-11  Todd C. Miller  <Todd.Miller@courtesan.com>
27759
27760         * sudo.c:
27761         now copy command args directly from Argv
27762         [77408278b6fd]
27763
27764         * sudo.c:
27765         replaced code to copy cmnd_args so that is does not use realloc
27766         since most realloc()'s really stink
27767         [b29a0ff73fb6]
27768
27769 1995-12-08  Todd C. Miller  <Todd.Miller@courtesan.com>
27770
27771         * configure.in:
27772         syslog() fixed in hpux 10.01
27773         [2648e6f0cdb0]
27774
27775 1995-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
27776
27777         * configure.in:
27778         AC_CHECK_LIB() now sets SUDO_LIBS (and VISUDO_LIBS if appropriate)
27779         [8f108b8d8711]
27780
27781         * configure.in:
27782         better error if cannot find skey incs or libs
27783         [5887662ee9d3]
27784
27785         * aclocal.m4:
27786         now use a temp file for determining max len of uid_t in string form.
27787         the old hacky way broke on netbsd
27788         [b68f470fa9f8]
27789
27790         * sudo.c:
27791         added set of parens and a space
27792         [8a3d4826d022]
27793
27794 1995-12-05  Todd C. Miller  <Todd.Miller@courtesan.com>
27795
27796         * dce_pwent.c:
27797         fixes from Jeff Earickson <jaearick@colby.edu> ,
27798         [bde0f0b756ec]
27799
27800         * check.c:
27801         modified a comment
27802         [e2a97f1afbbe]
27803
27804         * Makefile.in:
27805         fixed up testsudoers target
27806         [d39c4e7bb609]
27807
27808         * configure.in:
27809         DCE changes from Jeff Earickson <jaearick@colby.edu> LIBS ->
27810         SUDO_LIBS and VISUDO_LIBS LDFLAGS -> SUDO_FDFLAGS and VISUDO_LDFLAGS
27811         [da7a1c433828]
27812
27813         * Makefile.in:
27814         LIBS -> SUDO_LIBS , VISUDO_LIBS LDFLAGS -> SUDO_LDFLAGS,
27815         VISUDO_LDFLAGS
27816         [4b69503e8487]
27817
27818 1995-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
27819
27820         * configure.in:
27821         fix for C2 on hpux 10 now uses -linet if it exists
27822         [8d300112263d]
27823
27824         * check.c:
27825         LONG_SKEY_PROMPT is less of a klusge /
27826         [dcc144abaac3]
27827
27828         * configure.in:
27829         fixed typos w/ dce stuff
27830         [f7dfd6d4e149]
27831
27832         * Makefile.in:
27833         added dce_pwent.c
27834         [79047acdc516]
27835
27836 1995-11-26  Todd C. Miller  <Todd.Miller@courtesan.com>
27837
27838         * INSTALL:
27839         amended section on combining authentication mechanisms
27840         [dc5138c7c716]
27841
27842         * PORTING:
27843         minor updates for 1.3.6
27844         [fe80c13bd994]
27845
27846         * TROUBLESHOOTING:
27847         added 2 more entries
27848         [c7201439a0f5]
27849
27850         * BUGS:
27851         updated for 1.3.6
27852         [979b414d2a2d]
27853
27854         * README:
27855         overhauled
27856         [3af8b60eb594]
27857
27858         * INSTALL:
27859         rewrote for sudo 1.3.6
27860         [b16027b9c726]
27861
27862         * TROUBLESHOOTING:
27863         added 3 entries
27864         [934c9ee3f153]
27865
27866 1995-11-25  Todd C. Miller  <Todd.Miller@courtesan.com>
27867
27868         * find_path.c, getspwuid.c, sudo.c:
27869         added explict casts for strdup since many includes don't prototype
27870         it. gag me.
27871         [3e19a11f2fcc]
27872
27873         * sudo.h:
27874         removed prototype for sudo_getpwuid() since convex C compiler choked
27875         on it.
27876         [c3ea74ca67b0]
27877
27878         * sudo.c:
27879         added prototype for sudo_getpwuid()
27880         [4a8e3cdc2b98]
27881
27882         * lsearch.c:
27883         now compiles on strict ANSI compilers
27884         [3ce5d72d0b08]
27885
27886         * check.c:
27887         added LONG_SKEY_PROMPT support
27888         [48a18b8a2332]
27889
27890         * Makefile.in:
27891         added extra $'s for make to eat up, yum.
27892         [2995b214e12b]
27893
27894         * OPTIONS, options.h:
27895         added LONG_SKEY_PROMPT
27896         [f23ae799b5a4]
27897
27898 1995-11-24  Todd C. Miller  <Todd.Miller@courtesan.com>
27899
27900         * check.c:
27901         s/key support now works with normal s/key as well as logdaemon
27902         [d67573f523bf]
27903
27904         * OPTIONS, options.h:
27905         added SKEY_ONLY
27906         [bbf07654e0de]
27907
27908         * compat.h:
27909         set _PASSWD_LEN to 256 for any of KERB4, DCE, SKEY
27910         [205895b96a36]
27911
27912         * INSTALL:
27913         added DCE note added more AIX notes
27914         [6345403b3522]
27915
27916         * sudo.c:
27917         now include pthread.h for DCE support
27918         [6fe02865f679]
27919
27920         * check.c:
27921         dce_pwent() is ok after all .,
27922         [d26a8746a55d]
27923
27924         * logging.c:
27925         now uses SYSLOG() macro that equates to either syslog() or
27926         syslog_wrapper
27927         [42ac4cff8045]
27928
27929         * dce_pwent.c:
27930         minor formatting changes. renamed check() to somthing less generic
27931         [71859f217be1]
27932
27933         * check.c, logging.c, parse.yacc, sudo.c, sudo.h, testsudoers.c,
27934         visudo.c:
27935         now uses user_pw_ent and simple macros to get at the contents
27936         [f4cbf3e7145a]
27937
27938 1995-11-23  Todd C. Miller  <Todd.Miller@courtesan.com>
27939
27940         * check.c:
27941         simpler dec unix C2 support
27942         [86bc8f75250e]
27943
27944         * getspwuid.c:
27945         now sets crypt_type for DEC unix C2
27946         [99aeadd18266]
27947
27948 1995-11-21  Todd C. Miller  <Todd.Miller@courtesan.com>
27949
27950         * configure.in:
27951         added csops paths for skey
27952         [b8ca672e2117]
27953
27954         * getspwuid.c:
27955         now includes string.h for strdup() prototype
27956         [3605259c3620]
27957
27958         * getspwuid.c:
27959         fixed a few typos
27960         [46c97e4ea417]
27961
27962         * check.c:
27963         now includes skey.h
27964         [11e611ce1b61]
27965
27966         * getspwuid.c:
27967         fixed up comments
27968         [223dac56f0c8]
27969
27970         * check.c:
27971         moved a lot of the shadow passwd crap to sudo_getpwuid()
27972         [97d8887fb7d3]
27973
27974         * sudo.c:
27975         now uses sudo_pw_ent
27976         [d014dadbef48]
27977
27978         * testsudoers.c:
27979         now uses sudo_pw_ent
27980         [d92936ed7e34]
27981
27982         * visudo.c:
27983         now sets sudo_pw_ent
27984         [ff75cdfcf8b3]
27985
27986         * getspwuid.c:
27987         Initial revision
27988         [6deb6df9d7bc]
27989
27990         * tgetpass.c:
27991         moved dce stuff into compat.h
27992         [1124284396e7]
27993
27994         * logging.c, sudo.h:
27995         now uses sudo_pw_ent
27996         [404ff20a5067]
27997
27998         * Makefile.in:
27999         added sudo_getpwuid.c
28000         [6666d0644512]
28001
28002         * compat.h:
28003         added dce support
28004         [3c3b36a7ce0e]
28005
28006         * parse.yacc:
28007         now uses sudo_pw_ent
28008         [9f5e8d11bd68]
28009
28010 1995-11-20  Todd C. Miller  <Todd.Miller@courtesan.com>
28011
28012         * check.c:
28013         fixed exempt_group stuff for OS's that don't put base gid in group
28014         vector
28015         [003f153bd396]
28016
28017         * check.c:
28018         S/Key support now works with sunos4 shadow passwords
28019         [1eb64a5efff1]
28020
28021         * Makefile.in:
28022         fixed clean rule
28023         [5695a2c62816]
28024
28025         * config.h.in, configure.in:
28026         added DCE support
28027         [f53c766c1947]
28028
28029         * tgetpass.c:
28030         DCE & KERB support
28031         [904cf436506a]
28032
28033         * check.c:
28034         first stab at dce support
28035         [aea5ca07b1e3]
28036
28037         * dce_pwent.c:
28038         now smells like sudo
28039         [8b3d609b49cd]
28040
28041         * dce_pwent.c:
28042         Initial revision
28043         [b573555f2399]
28044
28045         * check.c:
28046         skey'd sudo now works w/ normal password as well
28047         [8d038f9f6e94]
28048
28049 1995-11-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28050
28051         * Makefile.in, OPTIONS, check.c, compat.h, config.h.in, find_path.c,
28052         getwd.c, goodpath.c, ins_2001.h, ins_classic.h, ins_csops.h,
28053         ins_goons.h, insults.h, interfaces.c, logging.c, options.h, parse.c,
28054         parse.lex, parse.yacc, pathnames.h.in, putenv.c, strdup.c, sudo.c,
28055         sudo.h, sudo_setenv.c, testsudoers.c, tgetpass.c, utime.c,
28056         version.h, visudo.c:
28057         updated version number
28058         [ba7e346d7904]
28059
28060         * README:
28061         updated to reflect version change
28062         [1d15cf1d8cc8]
28063
28064         * configure.in:
28065         --with options now line up ++version
28066         [08ebf625fbca]
28067
28068         * sudo.h:
28069         removed unecesary S/Key stuff
28070         [68188cba90af]
28071
28072         * configure.in:
28073         fixed S/Key support
28074         [f6d9cbc36618]
28075
28076         * Makefile.in:
28077         -I stuff now goes in CPPFLAGS
28078         [7b8e53c5b046]
28079
28080         * check.c:
28081         fixed SKey support
28082         [52c1a5cf4435]
28083
28084         * README:
28085         updated version
28086         [bed6498a10bb]
28087
28088         * OPTIONS:
28089         fixed description of EXEMPTGROUP
28090         [cfeead55edc2]
28091
28092         * sudo.c:
28093         more people use _RLD_ than just alphas...
28094         [6a3c7090a6f6]
28095
28096         * Makefile.in:
28097         replaced $man_prefix with $mandir
28098         [dc4b36a550e2]
28099
28100         * configure.in:
28101         fixed a typo
28102         [a38a4acddcaf]
28103
28104         * Makefile.in:
28105         now use more GNU'ish dir names
28106         [c5498391a520]
28107
28108         * configure.in:
28109         now set *dir correctly (can override from command line)
28110         [523ff98fd438]
28111
28112         * sudo.c:
28113         now deal with situations where we getwd() fails
28114         [88a9e61dccbb]
28115
28116 1995-11-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28117
28118         * Makefile.in:
28119         added etc_dir, bin_dir, sbin_dir
28120         [75fd08d92842]
28121
28122         * configure.in:
28123         added sbin_dir
28124         [3cb318c0d8d1]
28125
28126         * Makefile.in:
28127         now ship a flex-generated lex.yy.c
28128         [4d083ed70dce]
28129
28130         * Makefile.in:
28131         now sets _PATH_SUDO_SUDOERS, _PATH_SUDO_STMP, SUDOERS_OWNER
28132         [4d51dc9c3780]
28133
28134         * pathnames.h.in:
28135         _PATH_SUDO_SUDOERS & _PATH_SUDO_STMP are now overridden via Makefile
28136         [773fd163d52f]
28137
28138         * options.h:
28139         no more error for redefining SUDOERS_OWNER
28140         [4ba336644c6a]
28141
28142         * OPTIONS:
28143         expanded SUDOERS_OWNER section
28144         [12fae405759e]
28145
28146 1995-11-16  Todd C. Miller  <Todd.Miller@courtesan.com>
28147
28148         * visudo.c:
28149         now warn if chown(2) failed
28150         [d0d1db6e3a1f]
28151
28152         * logging.c:
28153         better default warning for NO_SUDOERS_FILE
28154         [5260b458ac64]
28155
28156         * sudo.c:
28157         added missing set_perms() no more cryptic message if the sudoers
28158         file is zero length, now just give a parse error
28159         [b81ea724838a]
28160
28161         * logging.c:
28162         better diagnostics if NO_SUDOERS_FILE
28163         [877e878663c5]
28164
28165         * sudo.c:
28166         check_sudoers() now catches sudoers files that are not readable (but
28167         are stat'able).
28168         [fea05663b3de]
28169
28170 1995-11-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28171
28172         * configure.in:
28173         now add -D__STDC__ for convex cc (not gcc)
28174         [c80fc53ff51b]
28175
28176         * configure.in:
28177         MAN_PREFIX -> man_prefix now sets prefix and exec_prefix
28178         [fe238226a057]
28179
28180         * Makefile.in:
28181         now uses exec_prefix & prefix from configure
28182         [f62fca5f56bd]
28183
28184         * find_path.c, getwd.c, goodpath.c, interfaces.c, logging.c, parse.c,
28185         parse.lex, parse.yacc, sudo.c, sudo.h, sudo_setenv.c, tgetpass.c,
28186         utime.c, visudo.c:
28187         options.h is now <> instead of "" so shadow build trees can have a
28188         custom copy of options.h
28189         [e6782676099c]
28190
28191         * check.c:
28192         user_is_exempt() is no longer a hack, it now uses getgrnam()
28193         [287f8d5356f7]
28194
28195         * options.h:
28196         EXEMPTGROUP is now "sudo"
28197         [61487304dbe1]
28198
28199         * configure.in:
28200         MAN_POSTINSTALL now contains a leading space
28201         [eaad4ac34012]
28202
28203         * Makefile.in:
28204         removed leading tab if @MAN_POSTINSTALL@ not defined now removes
28205         testsudoers in clean:
28206         [e01711baceb8]
28207
28208         * tgetpass.c:
28209         includes pwd.h to get _PASSWD_LEN definition
28210         [8ec174f263f1]
28211
28212 1995-10-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28213
28214         * sudo.c:
28215         unset the KRB_CONF envariable if using kerberos so we don't get
28216         spoofed into using a bogus server
28217         [2561a0274fca]
28218
28219 1995-09-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28220
28221         * parse.yacc:
28222         now explicately initialize match[] tp be FALSE
28223         [0e45e5c47766]
28224
28225 1995-09-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28226
28227         * sudo.c:
28228         removed unused variable now passes -Wall
28229         [3452508bc16d]
28230
28231         * parse.yacc:
28232         yyerror and dumpaliases are now void's now passes -Wall
28233         [2769dfb51993]
28234
28235         * parse.lex:
28236         added prototype for yyerror
28237         [1f3f0c1b4ab4]
28238
28239         * check.c, logging.c, parse.c:
28240         now passes -Wall
28241         [eab57e5e81d2]
28242
28243         * interfaces.c:
28244         rmeoved unused cruft now passes -Wall
28245         [7a47e1866f4b]
28246
28247         * Makefile.in:
28248         fixed headers that moved to emul dir
28249         [e680c1e5049b]
28250
28251         * logging.c:
28252         fixed deref of nil pointer if no args
28253         [973b9bea432f]
28254
28255 1995-09-15  Todd C. Miller  <Todd.Miller@courtesan.com>
28256
28257         * OPTIONS:
28258         added a caveat to FQDN section
28259         [dcf6e2a5fff4]
28260
28261 1995-09-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28262
28263         * Makefile.in:
28264         more $srcdir support for install targets
28265         [f6eac78436dd]
28266
28267         * find_path.c, interfaces.c, parse.c, parse.lex, parse.yacc, putenv.c,
28268         strdup.c, sudo.c, sudo_setenv.c, testsudoers.c, visudo.c:
28269         don't include malloc.h if we include stdlib.h
28270         [fca2ff307cd8]
28271
28272         * parse.yacc:
28273         local search.h now lives in emul
28274         [51c458904424]
28275
28276         * check.c, utime.c:
28277         local utime.h now lives in emul dir
28278         [f92fc9e8c8de]
28279
28280         * lsearch.c:
28281         local search.h now lives in emul
28282         [579efc407439]
28283
28284         * Makefile.in:
28285         added support for building in other than the sourcedir
28286         [2ab53a43f7d4]
28287
28288 1995-09-10  Todd C. Miller  <Todd.Miller@courtesan.com>
28289
28290         * OPTIONS:
28291         annotated CSOPS_INSULTS option
28292         [9e57d45a0afa]
28293
28294         * TROUBLESHOOTING:
28295         updated shadow passwords blurb
28296         [39b785bc7253]
28297
28298         * sudo.c:
28299         if SHELL_IF_NO_ARGS is set, "sudo -- foo" now runs a shell and
28300         passes along foo as the arguments
28301         [a91077aa8fc5]
28302
28303 1995-09-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28304
28305         * parse.lex:
28306         collapsed pathname and dir sections into one -- its now less
28307         expensive
28308         [89caa03bec25]
28309
28310         * parse.lex:
28311         fixed spacing quoting [,:\\=] now works correctly append() and
28312         fill() now take args to make the above work
28313         [09d023d9ef3a]
28314
28315         * sudo.c:
28316         fixed a typo that caused commands with no tty on fd 0 but a tty on
28317         fd 1 to erroneously have "none" as their tty
28318         [07d2c0e7977c]
28319
28320 1995-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
28321
28322         * check.c:
28323         timestampfile is now a global static removed decl of timestampfile
28324         in remove_timestamp since we can just use the global one
28325         [f0cbdc6aab1c]
28326
28327         * check.c:
28328         created touch() to update timestamps added USE_TTY_TICKETS support
28329         (bit of a kludge)
28330         [cee1dd0318f8]
28331
28332         * compat.h:
28333         added _S_IFDIR and S_ISDIR
28334         [b4a51cc9628e]
28335
28336         * OPTIONS, options.h:
28337         added USE_TTY_TICKETS
28338         [b4e22f81f25e]
28339
28340         * parse.yacc:
28341         removed const from casts for lsearch() & lfind() to placate irix 4.x
28342         C compiler
28343         [5003081f76ea]
28344
28345 1995-09-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28346
28347         * sudo.c:
28348         now only strip '/dev/' off of a tty if it starts with '/dev/'
28349         [7f62bcd24039]
28350
28351         * pathnames.h.in:
28352         added _PATH_DEV
28353         [6375f44d1910]
28354
28355         * configure.in:
28356         AC_HAVE_HEADERS -> AC_CHECK_HEADERS now check for tcgetattr only if
28357         have termios.h
28358         [9c60391235fd]
28359
28360         * tgetpass.c:
28361         fixed incorrect #ifdef termio uses "unsigned short" not int for
28362         c_?flag
28363         [d032e6a29845]
28364
28365         * parse.lex, parse.yacc:
28366         fixed a spelling error
28367         [cad6a944c7b1]
28368
28369         * Makefile.in:
28370         fixed typo
28371         [204a65403e7c]
28372
28373 1995-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28374
28375         * Makefile.in:
28376         fixed a comment
28377         [268f760e57ad]
28378
28379         * parse.yacc:
28380         added dotcat() to cat 2 strings w/ a dot effeciently now that we
28381         dynamically allocate strings they need to be free()'d
28382         [ec2e2152f415]
28383
28384         * parse.lex:
28385         dynamically allocates space for strings
28386         [d10ac3533d66]
28387
28388         * sudo.h:
28389         no more MAXCOMMANDLENGTH
28390         [e2e1219bff8a]
28391
28392         * sudo.h:
28393         added decl of tty
28394         [c8ae81303ee5]
28395
28396         * logging.c, sudo.c:
28397         moved tty stuff into sudo.c
28398         [e028abefeb07]
28399
28400 1995-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28401
28402         * parse.c:
28403         fixed a logic bug. Was denying a command if user gave command line
28404         args but there were none in the sudoers file which is wrong.
28405         [7489a99b8e8a]
28406
28407         * sudo.h:
28408         MAXCOMMMANDLEN dropped down to 1K
28409         [38ef54ba290b]
28410
28411         * parse.lex:
28412         return foo; -> return(foo);
28413         [0e8be1b57001]
28414
28415         * parse.yacc:
28416         fixed netgr_matches() prototype
28417         [e69f15910464]
28418
28419         * parse.lex:
28420         added support for escaping "termination" characters
28421         [8bd4ef50f35c]
28422
28423         * parse.c:
28424         buf is now of size MAXPATHLEN+1 since it never holds command args
28425         [2ce4b763058c]
28426
28427         * sudo.c:
28428         fixed comments
28429         [0c74a3d2ebb0]
28430
28431         * goodpath.c:
28432         fixed negation problem (doh!)
28433         [782814e3a2d1]
28434
28435         * parse.yacc:
28436         fixed 2nd parameter to lfind()
28437         [63d7b1623c08]
28438
28439         * parse.lex:
28440         now do bounds checking in fill() and append()
28441         [54381b563251]
28442
28443         * sudo.c:
28444         include netdb.h as we should added a missing void cast added
28445         SHELL_IF_NO_ARGS support now use realloc() properly. would fail if
28446         realloc actually moved the string instead of shrinking it
28447         [897ccdec9c06]
28448
28449         * sample.sudoers:
28450         updated with examples of new features
28451         [9b3ed00e8aa6]
28452
28453         * goodpath.c:
28454         now set errno to EACCES if not a regular file or not executable
28455         [2d069548a5ea]
28456
28457         * find_path.c:
28458         if given a fully-qualified or relative path we now check it with
28459         sudo_goodpath() and error out with the appropriate error message if
28460         the file does not exist or is not executable
28461         [590f89dd8dec]
28462
28463         * emul/search.h, lsearch.c:
28464         now use correct args for lfind
28465         [fccdcdbf020e]
28466
28467         * logging.c:
28468         added a comment
28469         [fab9f49708ea]
28470
28471         * insults.h:
28472         added in CSOps insults
28473         [ad8eb1862adc]
28474
28475         * ins_csops.h:
28476         Initial revision
28477         [de5a475ec018]
28478
28479         * tgetpass.c:
28480         added RCS id
28481         [c3ffd550a482]
28482
28483         * sudo.h:
28484         increased MAXCOMMANDLENGTH to 8k HAVE_GETCWD -> HAVE_GETWD
28485         [aba25c90d08a]
28486
28487         * OPTIONS:
28488         added CLASSIC_INSULTS, CSOPS_INSULTS, SHELL_IF_NO_ARGS
28489         [e27bd62e9ccf]
28490
28491         * sudo.c:
28492         fixed -k load_interfaces() now gets called if FQDN is set
28493         -p now works with -s
28494         [07ca2a34bae8]
28495
28496         * parse.c:
28497         don't try to stat() "pseudo commands" like "validate"
28498         [75527045984b]
28499
28500         * options.h:
28501         added CLASSIC_INSULTS added CSOPS_INSULTS added SHELL_IF_NO_ARGS
28502         [07b157a0eafd]
28503
28504         * configure.in:
28505         added SecurID support added other insults to --with-csops
28506         [6c992ceb244c]
28507
28508         * config.h.in:
28509         added HAVE_SECURID
28510         [e734ff617fe8]
28511
28512         * Makefile.in:
28513         added clobber target added ins_csops.h now gets CFLAGS from
28514         configure
28515         [d1e29c7cec25]
28516
28517         * aclocal.m4:
28518         relaxed SUDO_FULL_VOID
28519         [fb4084f27406]
28520
28521         * visudo.c:
28522         function comment blocks are now in same style as rest of code
28523         [04a2931354c5]
28524
28525         * testsudoers.c:
28526         added support for command line args in /etc/sudoers
28527         [bfe4e1bcc655]
28528
28529         * sudoers.man:
28530         updated to have command args in the sudoers file
28531         [1cd34355e9ea]
28532
28533         * sudo.man:
28534         added -s and -- flags added SHELL to ENVIRONMENT VARIABLES section
28535         [930b48023b68]
28536
28537 1995-08-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28538
28539         * parse.yacc:
28540         PATH renamed to COMMAND
28541         [4e109a6de3cd]
28542
28543         * parse.lex:
28544         it is now a parse error for directories to have args attached to
28545         them
28546         [2ab10a146b54]
28547
28548         * logging.c:
28549         now say command args if telling user to buzz off
28550         [933de26ded8b]
28551
28552         * sudo.c:
28553         -s no longer indicates end of args sped up loading on cmnd_args in
28554         load_cmnd()
28555         [eac99a4da862]
28556
28557         * parse.c:
28558         removed an unreachable statement
28559         [634302623c49]
28560
28561         * parse.lex:
28562         made more efficient by pulling out the terminators when in GOTCMND
28563         state and making them their own rule
28564         [80798f1e1166]
28565
28566 1995-08-14  Todd C. Miller  <Todd.Miller@courtesan.com>
28567
28568         * sudo.h:
28569         removed MAXLOGLEN since it is no longer used
28570         [102824196b71]
28571
28572         * parse.lex:
28573         now allows command args
28574         [d29dfa1e5254]
28575
28576         * parse.c:
28577         now groks command arguments
28578         [6c414cb7f105]
28579
28580         * logging.c:
28581         now sets tty correctly when piped input
28582         [de46a30c0406]
28583
28584         * sudo.c:
28585         fixed loading of cmnd_args (was including command name too)
28586         [15319a425ea6]
28587
28588         * logging.c:
28589         fixed a core dump due to incorrect if construct
28590         [582363c7d7fa]
28591
28592 1995-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
28593
28594         * configure.in:
28595         only add -lsun is irix < 5 don't look for -lnsl or -lsocket if irix
28596         [da591fe9b931]
28597
28598         * aclocal.m4:
28599         fixed check for ISC
28600         [52e59f2082a7]
28601
28602         * sudo.c:
28603         now sets cmnd_args used by log_error() and that will be used by the
28604         parse to check against command args
28605         [c6804389723b]
28606
28607         * sudo.h:
28608         added cmnd_args
28609         [4d00446b4a8d]
28610
28611         * logging.c:
28612         now dynamically allocate logline since we can guess at its size
28613         [4bed8c8446aa]
28614
28615 1995-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
28616
28617         * logging.c:
28618         cleaned up a bunch of unnecesary #ifdef's eliminated a buffer remove
28619         "register" since the compiler knows more than I do now do a
28620         "basename" of the tty
28621         [3b1bbf0b3da1]
28622
28623 1995-07-31  Todd C. Miller  <Todd.Miller@courtesan.com>
28624
28625         * configure.in:
28626         ++version
28627         [5ce552f9a5f1]
28628
28629         * sudo.h:
28630         added shell extern changed MODE_* to be bit masks to allow for
28631         several options together
28632         [06f9dc4f400c]
28633
28634         * sudo.c:
28635         added -s (shell) option made MODE_* masks so we can do bitwise & and
28636         | to see if multiple flags are set.
28637         [01f8143010ad]
28638
28639         * check.c:
28640         added securid support
28641         [909e078005fe]
28642
28643 1995-07-30  Todd C. Miller  <Todd.Miller@courtesan.com>
28644
28645         * logging.c:
28646         removed a bunch of unnecesary strncpy()'s and replaced with strcat()
28647         [644506b57d61]
28648
28649 1995-07-29  Todd C. Miller  <Todd.Miller@courtesan.com>
28650
28651         * Makefile.in, version.h:
28652         ++version
28653         [3cd6f1fbc3d9]
28654
28655 1995-07-27  Todd C. Miller  <Todd.Miller@courtesan.com>
28656
28657         * parse.yacc:
28658         fixed free() of an uninitialized pointer (yuck)
28659         [8c404ee502ee]
28660
28661         * testsudoers.c:
28662         added netgr_matches
28663         [e7c9fa2f774c]
28664
28665         * parse.c:
28666         cleaned up netgr_matches
28667         [8108f00b810e]
28668
28669 1995-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
28670
28671         * RUNSON:
28672         updated for 1.3.4
28673         [4741704310a1]
28674
28675 1995-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
28676
28677         * Makefile.in:
28678         now installs sudoers.man -- really should clean this up though.
28679         [455631d45a1d]
28680
28681         * Makefile.in:
28682         added sudoers.cat and sudoers.man
28683         [0bdedd6c7363]
28684
28685         * sudo.man:
28686         pulled out stuff on the sudoers file format into a separate man page
28687         [de215d999cb9]
28688
28689         * sudoers.man:
28690         Initial revision
28691         [f25eafbb7095]
28692
28693         * HISTORY:
28694         fixed up my email address
28695         [254fbf80be74]
28696
28697         * configure.in:
28698         added checks for innetgr and getdomainname
28699         [24a99cb7e97e]
28700
28701         * visudo.c:
28702         added dummy netgr_matches function
28703         [1841ff2c01da]
28704
28705         * parse.c:
28706         added netgr_matches
28707         [ec90db6a97b8]
28708
28709         * parse.lex, parse.yacc:
28710         added NETGROUP support
28711         [c9dd93e3bc4b]
28712
28713         * config.h.in:
28714         added HAVE_INNETGR & HAVE_GETDOMAINNAME
28715         [14abd494d875]
28716
28717 1995-07-24  Todd C. Miller  <Todd.Miller@courtesan.com>
28718
28719         * sudo.c:
28720         rewrote clean_env() that has rm_env() builtin
28721         [55cb43818a95]
28722
28723 1995-07-23  Todd C. Miller  <Todd.Miller@courtesan.com>
28724
28725         * check.c:
28726         now cast uid to long in sprintf
28727         [b549eea40aeb]
28728
28729         * OPTIONS:
28730         added _INSULTS suffix to HAL & GOONS end
28731         [ed620d0aad30]
28732
28733         * options.h:
28734         added _INSULTS suffix to HAL & GOONS
28735         [9f72e9b83afd]
28736
28737         * ins_2001.h, ins_classic.h, ins_goons.h, insults.h:
28738         converted to new scheme of insult "unions" end
28739         [2f6d2b412132]
28740
28741         * sudo.c:
28742         now uses MAX_UID_T_LEN
28743         [c1df79e0f389]
28744
28745         * configure.in:
28746         added SUDO_UID_T_LEN !l
28747         [195f0b9f5f84]
28748
28749         * config.h.in:
28750         added MAX_UID_T_LEN
28751         [73f42ae4f14d]
28752
28753         * check.c:
28754         now use MAX_UID_T_LEN
28755         [df9c063234cb]
28756
28757         * aclocal.m4:
28758         added check for max len of uid_t fixed sco vs. isc check
28759         [d558f36d2223]
28760
28761 1995-07-19  Todd C. Miller  <Todd.Miller@courtesan.com>
28762
28763         * configure.in:
28764         corrected version
28765         [828dd1571e86]
28766
28767         * configure.in:
28768         added sco support
28769         [af1e2f616638]
28770
28771         * aclocal.m4:
28772         hack to check for sco
28773         [549ab99a9a43]
28774
28775         * interfaces.c:
28776         removed #include <net/route.h> since it was hosing some OS's
28777         [ac78a7c04005]
28778
28779 1995-07-18  Todd C. Miller  <Todd.Miller@courtesan.com>
28780
28781         * find_path.c:
28782         fixed prreadlink() prototype
28783         [b380fe1f2b11]
28784
28785         * check.c:
28786         added parens in #if's
28787         [e96ade691b82]
28788
28789         * configure.in:
28790         added SPW_ prefix
28791         [a302683a1483]
28792
28793         * sudo.h:
28794         moved SPW_* to config.h.in
28795         [6b3be70e34cf]
28796
28797         * sudo.c:
28798         added a set of parens
28799         [8188d735d695]
28800
28801         * config.h.in:
28802         added SPW_*
28803         [5ead6371cf60]
28804
28805         * sudo.h:
28806         added SPW_* reordered error codes
28807         [dead25b4ed0a]
28808
28809         * check.c:
28810         moved SPW_* to sudo.h
28811         [ca51fb04caf4]
28812
28813 1995-07-17  Todd C. Miller  <Todd.Miller@courtesan.com>
28814
28815         * sudo.c:
28816         SPW_AUTH -> SPW_SECUREWARE
28817         [6b512b2bc5dc]
28818
28819         * logging.c:
28820         GLOBAL_NO_AUTH_ENT -> GLOBAL_NO_SPW_ENT
28821         [defdd0944e2f]
28822
28823         * configure.in:
28824         AUTH -> SECUREWARE
28825         [d1f8a17001dd]
28826
28827         * check.c:
28828         SPW_AUTH -> SPW_SECUREWARE
28829         [af0e8d8b89b2]
28830
28831         * check.c:
28832         now uses SHADOW_TYPE to make shadow pw support more readable and
28833         modular. It's a start...
28834         [8c2a59667014]
28835
28836         * configure.in:
28837         added autodetection of shadow passwords
28838         [85f81fa54b1b]
28839
28840         * sudo.c:
28841         now uses SHADOW_TYPE define
28842         [355e5dc09b07]
28843
28844         * config.h.in:
28845         added SHADOW_TYPE which replaces SUNOS4 & __svr4__ defines
28846         [c0c06e83e483]
28847
28848         * aclocal.m4:
28849         added SUDO_CHECK_SHADOW
28850         [464301301639]
28851
28852 1995-07-12  Todd C. Miller  <Todd.Miller@courtesan.com>
28853
28854         * configure.in:
28855         define SVR4 for ISC define BROKEN_SYSLOG for hpux took out test for
28856         memmove() since we dno longer use it...
28857         [8aefa87d7d31]
28858
28859         * CHANGES:
28860         updated
28861         [ce97b3fd7182]
28862
28863         * logging.c:
28864         added BROKEN_SYSLOG support
28865         [a45c3bca36f6]
28866
28867         * config.h.in:
28868         added BROKEN_SYSLOG
28869         [6f6abf0a6268]
28870
28871         * check.c:
28872         now only bitch it timestamp > time_now + 2 * timeout to allow for a
28873         machine udpating its time from a server
28874         [546bc8d35325]
28875
28876         * sudo.man:
28877         added 2 security notes updated Nieusma's email addr
28878         [616756c56977]
28879
28880         * lsearch.c:
28881         changed a memmove() to memcpy() since we don't have to worry about
28882         overlapping segments.
28883         [30baa478526b]
28884
28885 1995-07-11  Todd C. Miller  <Todd.Miller@courtesan.com>
28886
28887         * interfaces.c:
28888         cleanup up the loop when interfaces are groped in so that it is
28889         readable
28890         [1fa39446bd69]
28891
28892         * Makefile.in, version.h:
28893         ++version
28894         [b46bd2b1770f]
28895
28896 1995-07-09  Todd C. Miller  <Todd.Miller@courtesan.com>
28897
28898         * CHANGES:
28899         annotated 124-126
28900         [b82a2b3ec7ce]
28901
28902 1995-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
28903
28904         * check.c:
28905         fixed permissions check on /tmp/.odus
28906         [cc2431a65468]
28907
28908 1995-07-06  Todd C. Miller  <Todd.Miller@courtesan.com>
28909
28910         * check.c:
28911         fixed some comments
28912         [8896d09b4fda]
28913
28914         * check.c:
28915         now checks owner & mode of timedir also checks for bogus dates on
28916         timestamp file
28917         [a0fad5df5b0a]
28918
28919         * OPTIONS:
28920         updated TIMEOUT info
28921         [033cc22d9e04]
28922
28923         * logging.c, sudo.h:
28924         added BAD_STAMPDIR and BAD_STAMPFILE
28925         [31d9ce691101]
28926
28927         * compat.h:
28928         added definition of S_IRWXU
28929         [ff2dab091a9b]
28930
28931         * CHANGES:
28932         updated
28933         [a40df90284f1]
28934
28935 1995-07-03  Todd C. Miller  <Todd.Miller@courtesan.com>
28936
28937         * interfaces.c:
28938         added #ifdef to make it compile on strange arches
28939         [4a127f12afce]
28940
28941 1995-07-02  Todd C. Miller  <Todd.Miller@courtesan.com>
28942
28943         * aclocal.m4:
28944         fixed check for fulkl void impl.
28945         [b6f2a4a361d8]
28946
28947         * check.c:
28948         added mssing "static"
28949         [520552f2772b]
28950
28951         * insults.h:
28952         replaced #elif with #else #if constructs for ancient C compilers
28953         [39ab2d365b57]
28954
28955         * INSTALL:
28956         updated irix c2 & kerb5 info
28957         [ae79b99b4905]
28958
28959         * configure.in:
28960         added shadow pw support for irix
28961         [632469d9c528]
28962
28963 1995-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
28964
28965         * BUGS, TODO:
28966         updated
28967         [2a96bb18ac30]
28968
28969         * CHANGES:
28970         last changes for sudo 1.3.3
28971         [c1c0cd1034b8]
28972
28973         * configure.in:
28974         now calls SUDO_SOCK_SA_LEN
28975         [14ea78159d45]
28976
28977         * config.h.in:
28978         added HAVE_SA_LEN
28979         [cc2a346aa905]
28980
28981         * aclocal.m4:
28982         added SUDO_SOCK_SA_LEN
28983         [456a2025644a]
28984
28985         * interfaces.c:
28986         now works with ip implementations that use sa_len in sockaddr
28987         [90be6e028077]
28988
28989         * INSTALL:
28990         added note about buggy AIX compiler
28991         [c0f6d427e4e4]
28992
28993         * interfaces.c:
28994         now include sys/time.h for AIX
28995         [2510858ab38b]
28996
28997 1995-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
28998
28999         * Makefile.in:
29000         getcwd -> getwd
29001         [66085ebca98e]
29002
29003         * interfaces.c:
29004         now works for ISC and others. yay.
29005         [f336d4ffc927]
29006
29007 1995-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
29008
29009         * Makefile.in, version.h:
29010         version++
29011         [836cffc2078d]
29012
29013 1995-06-23  Todd C. Miller  <Todd.Miller@courtesan.com>
29014
29015         * aclocal.m4:
29016         fixed test for full void impl
29017         [fb004107e7b9]
29018
29019         * sudo.c:
29020         now check to see that st_dev is non-zero before assuming that we are
29021         being spoofed
29022         [1b0e1c30c506]
29023
29024 1995-06-20  Todd C. Miller  <Todd.Miller@courtesan.com>
29025
29026         * aclocal.m4, configure.in:
29027         SUDO_FUNC_UTIME_NULL -> AC_FUNC_UTIME_NULL
29028         [4953379bfb01]
29029
29030 1995-06-19  Todd C. Miller  <Todd.Miller@courtesan.com>
29031
29032         * aclocal.m4:
29033         fixed include file order for SUDO_FUNC_UTIME_POSIX
29034         [ff64ab7df44f]
29035
29036         * logging.c:
29037         added cast for ttyname()
29038         [444f05f56758]
29039
29040         * configure.in:
29041         fixed typo
29042         [de068e748431]
29043
29044         * check.c:
29045         now deal correctly with all known variation of utime() -- yippe
29046         [b778a4195a89]
29047
29048         * configure.in:
29049         added SUDO_FUNC_UTIME_POSIX
29050         [cf635f2269d6]
29051
29052         * aclocal.m4:
29053         added SUDO_FUNC_UTIME_NULL and SUDO_FUNC_UTIME_POSIX
29054         [d79593be4b73]
29055
29056         * config.h.in:
29057         added HAVE_UTIME_POSIX
29058         [c67b4ac0dca5]
29059
29060         * check.c:
29061         fixed a typo
29062         [b14df5680f59]
29063
29064         * check.c:
29065         no longer assume !HAVE_UTIME_NULL means old BSD utime()
29066         [0aeaf4b2f38b]
29067
29068         * check.c:
29069         fixed fascist C compiler warning
29070         [c61ddf2f1f93]
29071
29072         * interfaces.c:
29073         now set strioctl.ic_timout in STRSET() now initialize num_interfaces
29074         to 0 (just to be anal)
29075         [c54cc2ba0052]
29076
29077 1995-06-18  Todd C. Miller  <Todd.Miller@courtesan.com>
29078
29079         * sudo.h:
29080         increaed MAXLOGLEN by MAXPATHLEN to account for ttyname
29081         [74cf585a54fb]
29082
29083         * logging.c:
29084         added tty logging
29085         [e27d8dcfbd78]
29086
29087         * interfaces.c:
29088         reworked the ISC code
29089         [bcf57ce8ae69]
29090
29091         * Makefile.in, version.h:
29092         updated version
29093         [032941c9b94d]
29094
29095         * check.c:
29096         now expect old-style utime(3) if utime() can't take NULL as an arg
29097         [018dd4a73030]
29098
29099         * configure.in:
29100         added check for utime.h
29101         [0b76e8feb618]
29102
29103         * config.h.in:
29104         added HAVE_UTIME_H
29105         [62ee42feda46]
29106
29107         * Makefile.in:
29108         added CPPFLAGS STATIC_FLAGS -> LDFLAGS
29109         [fa3201d294e1]
29110
29111         * configure.in:
29112         now search for kerb libs and includes
29113         [cc332401e571]
29114
29115         * check.c:
29116         added support for utime(2)'s that can't take a NULL parameter
29117         [98797fedf69f]
29118
29119         * utime.c:
29120         moved HAVE_UTIME_NULL stuff to update_timestamp() where t belongs
29121         [6ce6d825fb44]
29122
29123         * configure.in:
29124         added utime(s) stuff
29125         [a2afb744403e]
29126
29127         * check.c:
29128         now use utime()
29129         [48902240a51e]
29130
29131         * config.h.in:
29132         added HAVE_UTIME and HAVE_UTIME_NULL
29133         [9a56ab65d4f4]
29134
29135 1995-06-17  Todd C. Miller  <Todd.Miller@courtesan.com>
29136
29137         * utime.c:
29138         now use HAVE_UTIME_NULL
29139         [e3944de09a92]
29140
29141         * emul/utime.h, utime.c:
29142         Initial revision
29143         [a2cbf2ef3427]
29144
29145         * check.c:
29146         need to setuid(0) to make kerb4 stuff work.
29147         [c6cfda4039d7]
29148
29149         * tgetpass.c:
29150         no more special case for kerberos
29151         [4a5c33145be9]
29152
29153         * config.h.in:
29154         took out setreuid and setresuid stuff added kerb5 stuff (use kerb4
29155         emulation)
29156         [a607ee43e650]
29157
29158         * compat.h:
29159         no longer need setreuid() emulation now set _PASSWD_LEN to 128 if
29160         kerberos
29161         [02fb274cc136]
29162
29163         * check.c:
29164         now use private ticket file for kerberos support to avoid trouncing
29165         on system one
29166         [28d8b6b812c7]
29167
29168 1995-06-15  Todd C. Miller  <Todd.Miller@courtesan.com>
29169
29170         * sudo.h:
29171         added SPOOF_ATTEMPT & cmnd_st
29172         [d3b42a1f4d0d]
29173
29174         * sudo.c:
29175         added anti-spoofing support
29176         [ab1e2aa44a57]
29177
29178         * parse.c:
29179         now use global cmnd_st
29180         [47018265a1a6]
29181
29182         * logging.c:
29183         added SPOOF_ATTEMPT suypport
29184         [7bbe9dd2a021]
29185
29186         * testsudoers.c, visudo.c:
29187         added void casts where appropriate
29188         [f191441ba333]
29189
29190         * parse.yacc:
29191         fixed up spacing and added void casts where appropriate
29192         [15d886fc809c]
29193
29194         * sudo.c:
29195         fixed problem with "-p prompt" but no args
29196         [6fc048261a3e]
29197
29198 1995-06-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29199
29200         * sudo.man:
29201         added BUGS and annotated -l description
29202         [e5c506de2603]
29203
29204         * sudo.h:
29205         validate() now takes a flag
29206         [26627becc60a]
29207
29208         * sudo.c:
29209         validate() now takes a flag added -l
29210         [a4f7bb97fe54]
29211
29212         * parse.yacc:
29213         added support for -l
29214         [e7a9b10b0ad3]
29215
29216         * parse.c:
29217         validate() now takes a flag that says whether or not to check the
29218         command
29219         [9e1e67f4e281]
29220
29221 1995-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29222
29223         * logging.c:
29224         now deals with Argv == 1
29225         [0acb637ab635]
29226
29227         * sudo.man:
29228         added -p option
29229         [e60382fc0561]
29230
29231         * sudo.c:
29232         added prompt support reworked parse_args()
29233         [2f605267ed4a]
29234
29235         * sudo.h:
29236         added prompt
29237         [5ab021bdb419]
29238
29239         * options.h:
29240         added PASSPROMPT
29241         [614727ff44a2]
29242
29243         * check.c:
29244         now use BUFSIZ as length of kerb password added kpass so pass is
29245         always a char * now use prompt global when asking for a password
29246         [76be09af784f]
29247
29248         * tgetpass.c:
29249         now use BUFSIZ as _PASSWD_LEN if using kerberos
29250         [1e907eed312b]
29251
29252         * OPTIONS:
29253         added PASSPROMPT
29254         [ddb2f405ce40]
29255
29256 1995-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29257
29258         * configure.in:
29259         only look for -lufc or -lcrypt if crypt() not in libc
29260         [9717d315661f]
29261
29262         * check.c:
29263         don't exit on kerb error, just warn if k_errno == KDC_PR_UNKNOWN
29264         (unknown user) silently fail
29265         [2b48693d4ee9]
29266
29267         * INSTALL:
29268         added kerb4 note
29269         [986e393f740c]
29270
29271         * tgetpass.c:
29272         HAVE_KERBEROS -> HAVE_KERB4
29273         [e438bfb5e6aa]
29274
29275         * check.c:
29276         removed debugging printf
29277         [1cf9f5cbffa5]
29278
29279         * configure.in:
29280         KERBEROS -> KERB4 added checks for setreuid & setresuid
29281         [01e9945beb1e]
29282
29283         * config.h.in:
29284         HAVE_KERBEROS -> HAVE_KERB4 added HAVE_SETREUID and HAVE_SETRESUID
29285         [0e0bb5b8ac3e]
29286
29287         * compat.h:
29288         added deif of UID_NO_CHANGE & GID_NO_CHANGE added setreuid emulation
29289         with setresuid if applic
29290         [9dae24c47696]
29291
29292         * check.c:
29293         HAVE_KERBEROS -> HAVE_KERB4 now only do the stupid chown() hack if
29294         no setreuid() or a broken one
29295         [1fca642bdb8e]
29296
29297 1995-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29298
29299         * configure.in:
29300         added kerberos support
29301         [da5639b9b8e7]
29302
29303         * config.h.in:
29304         added HAVE_KERBEROS
29305         [fcc5be550e65]
29306
29307         * tgetpass.c:
29308         added KERBEROS support (long passwords)
29309         [303ba6924dd2]
29310
29311         * check.c:
29312         added kerberos support
29313         [e40afe98fc1d]
29314
29315 1995-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29316
29317         * sudo.h:
29318         added MODE_BACKGROUND
29319         [9b483c932016]
29320
29321         * sudo.man:
29322         escaped dashes added -b option
29323         [62e84f1a7714]
29324
29325         * sudo.c:
29326         added -b option
29327         [7e78aaefeb95]
29328
29329         * check.c:
29330         added crypt() for osf/1 3.x enhanced secuiry
29331         [e9aa5abdb7d5]
29332
29333         * configure.in:
29334         now check for -lcrypt
29335         [5cb9c67e9fa2]
29336
29337         * interfaces.c:
29338         added ENXIO like EADDRNOTAVAIL
29339         [74223bb1ba75]
29340
29341 1995-05-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29342
29343         * configure.in:
29344         now emulate getwd(), not getcwd()
29345         [3e5439d9a5f4]
29346
29347         * sudo.c:
29348         getcwd() -> getwd()
29349         [6392a96a658e]
29350
29351         * getwd.c:
29352         getcwd -> getwd
29353         [1b0ab9bae11e]
29354
29355 1995-05-02  Todd C. Miller  <Todd.Miller@courtesan.com>
29356
29357         * ins_2001.h, ins_classic.h, ins_goons.h:
29358         Initial revision
29359         [86db60d8cf00]
29360
29361         * insults.h:
29362         broke out insults into separate include files
29363         [0a01993bd38a]
29364
29365         * OPTIONS, options.h:
29366         added GOONS
29367         [e283203c6515]
29368
29369         * Makefile.in:
29370         added ins_2001.h ins_classic.h ins_goons.h
29371         [2a39cd6a4cd2]
29372
29373         * Makefile.in, version.h:
29374         ++version
29375         [05ebf4f5e41a]
29376
29377         * visudo.c:
29378         moved signal handler setup to setup_signals()
29379         [3dd976c04540]
29380
29381         * sudo.h:
29382         added load_interfaces()
29383         [af2d473b09e2]
29384
29385         * sudo.c:
29386         moved load_interfaces to interfaces.c
29387         [5c8c138e5d4c]
29388
29389         * parse.yacc:
29390         added clearaliases
29391         [aeb4ff301daa]
29392
29393         * OPTIONS, options.h:
29394         added FAST_MATCH
29395         [f49ea3d1b525]
29396
29397         * parse.lex:
29398         now uses clearaliases variable
29399         [a2dda415bf61]
29400
29401         * interfaces.c:
29402         Initial revision
29403         [a1990e3f5c69]
29404
29405         * Makefile.in:
29406         added interfaces.[co]
29407         [1e8e5984de97]
29408
29409         * testsudoers.c:
29410         now uses ip addrs and netmasks via load_interfaces()
29411         [54b8f7a6835e]
29412
29413         * sudo.c:
29414         now remove IFS instead of setting to "sane" value
29415         [ce7eec9f115e]
29416
29417 1995-05-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29418
29419         * parse.c:
29420         added FAST_MATCH
29421         [816d4f5fe81a]
29422
29423 1995-04-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29424
29425         * Makefile.in:
29426         sudo_goodpath.c-> goodpath.c
29427         [a5072c4e1de2]
29428
29429         * sudo.c:
29430         added Andy's new ISC changes
29431         [caa6bbee358e]
29432
29433 1995-04-14  Todd C. Miller  <Todd.Miller@courtesan.com>
29434
29435         * OPTIONS:
29436         added a sentence to SECURE_PATH info
29437         [cad6e1569d15]
29438
29439         * BUGS:
29440         added one
29441         [4b35cf699a83]
29442
29443         * CHANGES:
29444         updated
29445         [5fded9dc62f0]
29446
29447         * RUNSON:
29448         updated
29449         [33cb993cfd39]
29450
29451 1995-04-13  Todd C. Miller  <Todd.Miller@courtesan.com>
29452
29453         * RUNSON:
29454         updated for beta3
29455         [a05dc6a91995]
29456
29457         * Makefile.in, version.h:
29458         ++version
29459         [54aaf3fadc75]
29460
29461         * aclocal.m4:
29462         sendmail is now looked for in \17/usr/ucblib
29463         [231ac1a4662f]
29464
29465         * sudo.c:
29466         fixed indentation
29467         [fb137400c8c2]
29468
29469         * aclocal.m4:
29470         fixed a typo
29471         [e03f1acc468b]
29472
29473         * sudo.c:
29474         updated ISC mods
29475         [070290d4754b]
29476
29477         * configure.in:
29478         added unixware case
29479         [e90250bae0d9]
29480
29481         * check.c:
29482         user_is_exempt is no longer hidden
29483         [1a341765b8af]
29484
29485         * RUNSON:
29486         updated
29487         [a9c4898b26dd]
29488
29489         * aclocal.m4:
29490         isc and riscos changes
29491         [98b5d86585d1]
29492
29493         * OPTIONS:
29494         added NOTE about new interaction of EXEMPTGROUP and SECURE_PATH
29495         [e1ecc464ce4b]
29496
29497         * Makefile.in:
29498         fixed a typo and added testsudoers stuff
29499         [435d60e163dc]
29500
29501         * testsudoers.c:
29502         Initial revision
29503         [6ce14a448662]
29504
29505 1995-04-12  Todd C. Miller  <Todd.Miller@courtesan.com>
29506
29507         * parse.yacc:
29508         applied fixed patch from Chris
29509         [cd6144203d13]
29510
29511 1995-04-11  Todd C. Miller  <Todd.Miller@courtesan.com>
29512
29513         * Makefile.in:
29514         fixed a typo
29515         [34f8a54ba041]
29516
29517         * parse.yacc:
29518         added a set of braces for bison
29519         [f0e43b938914]
29520
29521         * parse.yacc:
29522         merged in Chris' changes to dekludge the parser.
29523         [82d6e373ab1c]
29524
29525         * logging.c:
29526         send_mail() was calling find_path() which is wrong since find_path()
29527         stores cmnd in a static var. Anyhow, it doesn't make much sense
29528         since MAILER should always be fully qualified
29529         [6eae6a0b8098]
29530
29531 1995-04-10  Todd C. Miller  <Todd.Miller@courtesan.com>
29532
29533         * sample.sudoers:
29534         added User_Alias stuff
29535         [aaba8c8e918d]
29536
29537         * aclocal.m4:
29538         SUDO_NEXT now looks for /usr/lib/NextStep/software_version
29539         [52bd81f34b32]
29540
29541         * RUNSON:
29542         added DEC UNIX 3.0 w/ gcc
29543         [7daf570775b5]
29544
29545         * visudo.c:
29546         Exit was being used in places where exit should be used
29547         [6026a89c07ed]
29548
29549         * sudoers:
29550         added "User alias specification"
29551         [a487b6e234f8]
29552
29553         * parse.yacc:
29554         fixed probs caused by making nslots and naliases a size_t
29555         [0be919384f3f]
29556
29557         * RUNSON:
29558         added KSR, upped rev to 1.3.1b2
29559         [ce04ee6faadf]
29560
29561         * logging.c, parse.yacc:
29562         1024 -> BUFSIZ
29563         [cd6dda45fa11]
29564
29565         * parse.yacc:
29566         void * -> VOID * naliases and nslots are now size_t to appease
29567         lsearch on 64-bit machines
29568         [bf2f807c0dc1]
29569
29570 1995-04-09  Todd C. Miller  <Todd.Miller@courtesan.com>
29571
29572         * TODO:
29573         did a bunch of things and added a bunch :-)
29574         [42afd957b829]
29575
29576         * PORTING:
29577         updated
29578         [972f95c85776]
29579
29580         * visudo.man:
29581         closer to BSD manpage style
29582         [07ae88f50325]
29583
29584         * sudo.man:
29585         closer to standard BSD man format
29586         [372c28dcc135]
29587
29588         * compat.h, config.h.in, emul/search.h, insults.h, options.h,
29589         pathnames.h.in, sudo.h, version.h:
29590         added RCS id
29591         [c0ec90b81002]
29592
29593         * sudo.h:
29594         removed crufty #defines that are no longer used
29595         [35e2b4b477f0]
29596
29597         * BUGS:
29598         fixed a bug
29599         [5bb3e1bee85e]
29600
29601         * sudo.man:
29602         updated based on sudo changes
29603         [e65de1cae438]
29604
29605         * parse.yacc:
29606         now allow ALL keyword in User_Aliases now allow ALL keyword as well
29607         as a NAME or ALIAS
29608         [1fb31404dd0f]
29609
29610         * CHANGES:
29611         updated
29612         [b24018ac610b]
29613
29614         * sudo.c:
29615         now sets SUDO_COMMAND and SUDO_GID envariables.
29616         [e9d791557fb7]
29617
29618         * aclocal.m4:
29619         fixed bug with full void impl check
29620         [35715301023c]
29621
29622         * parse.yacc:
29623         fixed User_Alias supoprt
29624         [4c30dfbaaa07]
29625
29626         * parse.yacc:
29627         added stubs for User_Alias support
29628         [f4afbd247edf]
29629
29630         * sudo.c:
29631         now sets removes # bogus interfaces from num_interfaces
29632         [6f077fac9ab1]
29633
29634         * parse.lex:
29635         added User_Alias support
29636         [bc7997e5df85]
29637
29638 1995-04-08  Todd C. Miller  <Todd.Miller@courtesan.com>
29639
29640         * Makefile.in:
29641         removed extraneous TODO
29642         [bc87a3b14d6d]
29643
29644 1995-04-07  Todd C. Miller  <Todd.Miller@courtesan.com>
29645
29646         * visudo.c:
29647         ntwk_matches -> addr_matches
29648         [475044e288b8]
29649
29650         * parse.yacc:
29651         ntwk_matches -> addr_matches
29652         [dd1f4093fd2d]
29653
29654         * parse.c:
29655         ntwk_matches -> addr_matches now use inet_addr() not inet_network()
29656         (which expects octet boundaries) fixes for OSF (sizeof(int) !=
29657         sizeof(long))
29658         [acd2f556940f]
29659
29660         * sudo.c:
29661         took out debugging info
29662         [044023063eca]
29663
29664         * aclocal.m4:
29665         OS was being set to unknown before non-uname based host checks.
29666         This caused no checks to happen since $OS was not zero-length.
29667         [335a7267479d]
29668
29669         * sudo.c:
29670         fixed loading of interfaces struct still has debugging info in
29671         though
29672         [2d1a18998c1e]
29673
29674         * parse.c:
29675         fixed typo
29676         [175674a3a9fa]
29677
29678 1995-04-06  Todd C. Miller  <Todd.Miller@courtesan.com>
29679
29680         * Makefile.in:
29681         ++version
29682         [55d191b5daa3]
29683
29684         * version.h:
29685         ++
29686         [d7d1f115696a]
29687
29688         * visudo.c:
29689         removed extraneous extern decl of "top
29690         [50355621047d]
29691
29692         * visudo.c:
29693         now zeros "top"
29694         [4e683210345b]
29695
29696         * parse.yacc:
29697         removed parser_cleanup (no need for it now)
29698         [afa59f222b6c]
29699
29700         * parse.lex:
29701         now calls reset_aliases() directly
29702         [3a23cbd60fc0]
29703
29704 1995-04-04  Todd C. Miller  <Todd.Miller@courtesan.com>
29705
29706         * OPTIONS:
29707         added a sentence to SECURE_PATH description
29708         [c5bf75b85af0]
29709
29710         * parse.c:
29711         fixed my stupid bug where I used NAMLEN on something I wanted to
29712         just get the name from. argh.
29713         [111f460f6540]
29714
29715 1995-04-03  Todd C. Miller  <Todd.Miller@courtesan.com>
29716
29717         * lsearch.c:
29718         fixed argument order of memmove() that i hosed when converting from
29719         bcopy(). arghh.
29720         [2f5336045c8b]
29721
29722         * Makefile.in:
29723         finally fixed DISTFILES line
29724         [a1b419e73a63]
29725
29726         * Makefile.in:
29727         tabs -> spaces
29728         [280fb03e5764]
29729
29730         * Makefile.in:
29731         added missing files to DISTFILES
29732         [991fc1cd2263]
29733
29734         * Makefile.in:
29735         SUPPORTED -> RUNSON
29736         [7580e65b05fb]
29737
29738 1995-04-01  Todd C. Miller  <Todd.Miller@courtesan.com>
29739
29740         * TODO:
29741         updated
29742         [fe764a29c1cc]
29743
29744         * RUNSON:
29745         updated for pl5b1 release
29746         [aefc35bd2291]
29747
29748         * BUGS, TODO:
29749         updated
29750         [8f0ea249b687]
29751
29752         * check.c:
29753         fixed bug where if you hit return at first sudo prompt it would
29754         still log as a failure
29755         [24539c854692]
29756
29757         * CHANGES:
29758         updated
29759         [251cc7b3ede4]
29760
29761         * aclocal.m4:
29762         better test for bogus void * implementation
29763         [efe23180cb88]
29764
29765         * logging.c:
29766         added PASSWORDS_NOT_CORRECT
29767         [bd12c73f83f7]
29768
29769         * check.c:
29770         added PASSWORDS_NOT_CORRECT stuff]
29771         [90de391a979f]
29772
29773         * sudo.h:
29774         added PASSWORDS_NOT_CORRECT
29775         [727fbeb76fc5]
29776
29777         * tgetpass.c:
29778         moved pathnames.h
29779         [4f910e5a8df7]
29780
29781         * sudo.c:
29782         removed some unused vars and fixed up uid2str
29783         [70e92c7f9076]
29784
29785         * putenv.c:
29786         moved compat.h
29787         [b271091586f6]
29788
29789         * getcwd.c, getwd.c:
29790         added pathnames.h
29791         [6f25218f133f]
29792
29793 1995-03-31  Todd C. Miller  <Todd.Miller@courtesan.com>
29794
29795         * parse.yacc:
29796         fixed a typo I introduced in the last checkin :-(
29797         [62c3af75c4fe]
29798
29799         * parse.lex:
29800         can't have #ifdef's where N is defined so just do this the broken
29801         way for AIX
29802         [c5648a5594e4]
29803
29804         * parse.yacc:
29805         better hack from Chris (but still a hack)
29806         [6b6d8aed93f3]
29807
29808         * parse.lex:
29809         stupid hack for broken aix lex
29810         [efc3f9e5280e]
29811
29812         * tgetpass.c:
29813         now includes compat.h \ 6
29814         [401822173f77]
29815
29816         * visudo.c:
29817         now includes fcntl.h
29818         [63865c2f8ac6]
29819
29820         * compat.h:
29821         added FD_SET and FD_ZERO for 4.2BSD
29822         [00c5597c0bb0]
29823
29824         * parse.yacc:
29825         dirty hack to fix parser bug. i don't really like this but it works
29826         for now...
29827         [5b8bbdc81569]
29828
29829         * sudo.c:
29830         uid2str is now static like the prototype says
29831         [f2a97b5cb870]
29832
29833 1995-03-30  Todd C. Miller  <Todd.Miller@courtesan.com>
29834
29835         * CHANGES, SUPPORTED, TODO, TROUBLESHOOTING:
29836         updated
29837         [6f79c3e92716]
29838
29839         * RUNSON:
29840         Initial revision
29841         [12a09ef9e884]
29842
29843         * sudo.c:
29844         check_sudoers now returns an error code and sudo calls inform_user
29845         and log_error based on the return value.
29846         [340eca188d9a]
29847
29848         * logging.c, sudo.h:
29849         added entries for new errors
29850         [6050d8542e1f]
29851
29852         * parse.c:
29853         now set uid to that of SUDOERS_OWNER while parsing sudoers file
29854         [3683c42bc9b0]
29855
29856         * Makefile.in:
29857         took out testsudoers \ 6
29858         [65317d49db48]
29859
29860         * sudo.c:
29861         now explicately checks that it is setuid root
29862         [2fe1be60ef6a]
29863
29864         * sudo.c:
29865         If a user has no passwd entry sudo would segv (writing to a garbage
29866         pointer). Now allocate space before writing :-)
29867         [d08e7eb5e5ef]
29868
29869         * configure.in:
29870         reordered AC_CHECK_FUNCS
29871         [4c82e56c6f4f]
29872
29873         * config.h.in:
29874         fixed memset macro
29875         [77ede6b714ab]
29876
29877         * tgetpass.c, visudo.c:
29878         bzero -> memset
29879         [1a005bb322c8]
29880
29881         * logging.c:
29882         bzero -> memset when a parse error is logged the line number of the
29883         error is now logged too
29884         [a42d68047723]
29885
29886         * INSTALL:
29887         added Sunos to blurb about c2 security
29888         [af750a1d131e]
29889
29890         * configure.in:
29891         added a SUN4 define for C2 security
29892         [6ad5b23a3eb0]
29893
29894         * config.h.in:
29895         bcopy -> memmove bzero -> memset
29896         [5494460c8464]
29897
29898         * lsearch.c:
29899         bcopy -> memmove char * -> VOID *
29900         [a15f5c316e16]
29901
29902         * check.c:
29903         added support for sunos with C2 security
29904         [03fea5bb21e6]
29905
29906         * OPTIONS, options.h:
29907         reordered
29908         [1686265af3e1]
29909
29910         * pathnames.h.in:
29911         _PATH_SUDO_LOGFILE now set based on configure
29912         [5867b58e4a04]
29913
29914         * configure.in:
29915         added SUDO_LOGFILE and SUDO_TYPE_SIZE_T
29916         [1984d9fd1b5c]
29917
29918         * config.h.in:
29919         added _SUDO_PATH_LOGFILE
29920         [dd3eebe62580]
29921
29922         * aclocal.m4:
29923         added SUDO_LOGFILE to find where to put sudo.log added
29924         SUDO_CHECK_TYPE (just AC_CHECK_TYPE but checks unistd.h too) added
29925         SUDO_TYPE_SIZE_T (calls SUDO_CHECK_TYPE)
29926         [c589a515a99a]
29927
29928 1995-03-29  Todd C. Miller  <Todd.Miller@courtesan.com>
29929
29930         * TROUBLESHOOTING:
29931         Initial revision
29932         [f42f1baba3a8]
29933
29934         * sudo.c:
29935         now do set_perms(PERM_ROOT) before the getpwuid() in load_global()
29936         to work around a problem is trusted hpux shadow passwords. yuck.
29937         [ae1f13b54687]
29938
29939         * parse.yacc:
29940         backed out a change in malloc/realloc
29941         [ab868db0ad69]
29942
29943         * parse.yacc:
29944         now include stdlib.h
29945         [957eef0631eb]
29946
29947         * visudo.c:
29948         now do an freopen() of the stmp file so that yyin will always point
29949         to the same thing. This is important for flex since we are doing a
29950         YY_NEWFILE
29951         [44558922fd3e]
29952
29953         * parse.yacc:
29954         replaced yywrap() with parser_cleanup() since yywrap() needs to be
29955         in parse.lex to be able to use YY_NEW_FILE. sigh.
29956         [12dd09921074]
29957
29958         * parse.lex:
29959         now have a rule that matches anything that doesn't match an
29960         explicite rule. well, you know what i mean (. matches anything not
29961         yet matched). However, this means that there is input still queued
29962         up so we need to do a YY_NEW_FILE; in yywrap. So, yywrap has moved
29963         into parse.lex and it calls parser_cleanup() which is most of the
29964         old yywrap() sigh.
29965         [7f4042bc48d6]
29966
29967         * SUPPORTED:
29968         no longer used
29969         [8f220be4da94]
29970
29971         * getcwd.c, getwd.c:
29972         moved compat.h to be the last include file
29973         [9f3a65e2d485]
29974
29975         * parse.yacc:
29976         fixed type of aliascmp() args
29977         [1c27eb989bdf]
29978
29979         * find_path.c:
29980         NULL -> '\0'
29981         [5c8d8cf1692e]
29982
29983         * parse.yacc:
29984         added casts to lfind and lsearch args for irix
29985         [61027ddeecf8]
29986
29987         * Makefile.in:
29988         bsdinstall -> install-sh
29989         [61de6612c5a5]
29990
29991         * INSTALL:
29992         added info about make realclean
29993         [29c6324d727f]
29994
29995         * Makefile.in:
29996         updated VERSION added dependencies for visudo.cat
29997         [09077d7229d4]
29998
29999         * version.h:
30000         -> pl5b1
30001         [5d21c7ad1a41]
30002
30003         * sudo.c:
30004         took out -l
30005         [fc1478d81b38]
30006
30007         * Makefile.in:
30008         now there is a real visudo.man and visudo.cat
30009         [58aeac43a6dd]
30010
30011         * sudo.man:
30012         took out visudo stuff
30013         [4a6ac4393343]
30014
30015         * visudo.man:
30016         Initial revision
30017         [cba348843db8]
30018
30019         * parse.c, parse.lex, parse.yacc:
30020         updated copyright
30021         [ffa16b70944a]
30022
30023         * README:
30024         updated for pl5
30025         [a26e423e9e5f]
30026
30027         * sudo.man:
30028         updated Nieusma & Hieb email addresses
30029         [f0083e71989d]
30030
30031         * INSTALL:
30032         updated to include options.h and OPTIONS
30033         [ee59e2b76c94]
30034
30035         * CHANGES, TODO:
30036         updated
30037         [51e011ad5220]
30038
30039         * BUGS:
30040         eliminated bug #1 (yay)
30041         [e7e88515494e]
30042
30043         * configure.in:
30044         sunos no longer gets linked statically
30045         [2e5b3ff3108f]
30046
30047 1995-03-28  Todd C. Miller  <Todd.Miller@courtesan.com>
30048
30049         * parse.lex:
30050         prototype now uses __P()
30051         [68ecdcab4c70]
30052
30053         * parse.lex:
30054         make fill() non-ansi
30055         [d6509972260b]
30056
30057         * parse.c:
30058         made -v (validate) work
30059         [13c9d520638c]
30060
30061         * logging.c:
30062         now gives host
30063         [f04859cdba5a]
30064
30065         * find_path.c:
30066         don't check for execute/statable if fq or relative path given
30067         [4bbe851f3973]
30068
30069         * parse.c:
30070         added a cast
30071         [345c308f72f3]
30072
30073         * visudo.c:
30074         now include ctype.h for islower and tolower macros
30075         [582c0aa332d5]
30076
30077         * goodpath.c:
30078         moved _S_IFMT & _S_ISREG to compat.h
30079         [828e4ca4e7b4]
30080
30081         * sudo.c:
30082         moved a set of parens
30083         [5783474ecf37]
30084
30085         * strdup.c:
30086         now include compat.h
30087         [75e2036b94af]
30088
30089         * emul/search.h:
30090         void * -> VOID *
30091         [cedcfaf04161]
30092
30093         * parse.yacc:
30094         now cast malloc & realloc return vals added search for HAVE_LSEARCH
30095         now use strcmp if no strcasecmp available
30096         [d6a42bc3d4ae]
30097
30098         * lsearch.c:
30099         void * -> VOID *
30100         [886adc44f607]
30101
30102         * config.h.in:
30103         removed HAVE_FLEX added VOID added HAVE_DIRENT_H, HAVE_SYS_NDIR_H,
30104         HAVE_SYS_DIR_H, HAVE_NDIR_H added HAVE_LSEARCH
30105         [3b50d7fb4349]
30106
30107         * compat.h:
30108         added _S_IFMT, _S_IFREG, and S_ISREG
30109         [73d506c7d53c]
30110
30111         * aclocal.m4:
30112         took out SUDO_PROG_INSTALL 1.x to 2.x changes added echo and results
30113         to most SUDO_* macros
30114         [8442155f5936]
30115
30116         * Makefile.in:
30117         no more -I.
30118         [63462f195bd4]
30119
30120         * configure.in:
30121         various 1.x ro 2.x autoconf changes now check for strcasecmp now use
30122         AC_INSTALL_PROG instead of custom one added check for fully woorking
30123         void implementation
30124         [5ac6b6e6230f]
30125
30126         * Makefile.in:
30127         added lsearch & search.h visudo links into $(LIBOBJS)
30128         [bc119cda4598]
30129
30130         * aclocal.m4:
30131         partial 1.x to 2.x changes added SUDO_FULL_VOID
30132         [1194d01fa5c5]
30133
30134         * visudo.c:
30135         whatnow_help was prototyped to be static be was not declared as
30136         such
30137         [0f85489dd426]
30138
30139         * configure.in:
30140         autoconf 2.x changes took out HAVE_FLEX (no longer used) added check
30141         for dirent/dir/ndir.h
30142         [7408f3854948]
30143
30144         * parse.c:
30145         now use groovy gnu autoconf macro AC_HEADER_DIRENT
30146         [e465db9f5dfa]
30147
30148         * getcwd.c, getwd.c:
30149         MAXPATHLEN -> MAXPATHLEN+1
30150         [714d87424e21]
30151
30152         * emul/search.h, lsearch.c:
30153         Initial revision
30154         [55d79482c535]
30155
30156 1995-03-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30157
30158         * parse.yacc:
30159         eliminated bison warnings
30160         [61ca0a96da22]
30161
30162         * parse.lex:
30163         added missing case
30164         [6be0f849747c]
30165
30166         * visudo.c:
30167         now iincludes signal.h
30168         [221e0fcc144f]
30169
30170         * parse.yacc:
30171         only clear data structures on a parse error
30172         [7b1c0f1a4527]
30173
30174         * visudo.c:
30175         whatnow() now gives help on invalid input
30176         [e5a4cd88c587]
30177
30178         * visudo.c:
30179         added a whatnow() function (sort of like mh)
30180         [932d9b145f1c]
30181
30182         * parse.yacc:
30183         kill_aliases -> reset_aliases yywrap() now cleans up by calling
30184         reset_aliases() and clearing top took reset stuff out of yyerror()
30185         since it doesn't beling there (and doesn't work anyway). errorlineno
30186         is now initially set to -1 so we can set it to the first error that
30187         occurrs (it was getting set to the last)
30188         [2f71f95a974c]
30189
30190         * parse.lex:
30191         added a void cast
30192         [18ae6042dce4]
30193
30194         * visudo.c:
30195         rewrote from scratch based on 4.3BSD vipw.c
30196         [2f6814f18576]
30197
30198 1995-03-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30199
30200         * sudo.c, sudo.h:
30201         removed ocmnd
30202         [a31735f41ad4]
30203
30204         * sudo.h:
30205         no more sudo_realpath() and find_path() changed params
30206         [8e85c3b39159]
30207
30208         * sudo.c:
30209         find_path() changed since no more realpath()
30210         [b25366c7f2ee]
30211
30212         * parse.yacc:
30213         on error, errorlineno is set to the line where the error occurred
30214         added kill_aliases() to free the aliases struct now clean up in
30215         yyerror() so we can reparse cleanly
30216         [2342f578c27a]
30217
30218         * options.h, parse.c:
30219         no more USE_REALPATH
30220         [cfc59babeaff]
30221
30222         * logging.c:
30223         changed to use new find_path()
30224         [91c7a38e7751]
30225
30226         * find_path.c:
30227         removed all the realpath() stuff
30228         [cc21a43a8562]
30229
30230         * Makefile.in:
30231         sudo_realpath.c -> sudo_goodpath.c
30232         [03a9b1ddec2f]
30233
30234         * visudo.c:
30235         now works correctly with utk parser
30236         [08aa554a0ce8]
30237
30238         * goodpath.c:
30239         Initial revision
30240         [1ea607e1ffb2]
30241
30242         * sudo_realpath.c:
30243         eliminated a compiler warning
30244         [198bcccc55b6]
30245
30246         * sudo.c:
30247         elinated compiler warning
30248         [e2384f9a878b]
30249
30250         * sudo_realpath.c:
30251         added sudo_goodpath()
30252         [43878c4cc540]
30253
30254         * sudo.h:
30255         added prototype for sudo_goodpath
30256         [23e8627a2265]
30257
30258         * parse.c:
30259         added support for /sys/dir.h
30260         [eca897087741]
30261
30262         * options.h:
30263         USE_REALPATH turned off
30264         [620ac8b63d85]
30265
30266         * find_path.c:
30267         added calls to sudo_goodpath()
30268         [ad170904fbcd]
30269
30270         * configure.in:
30271         added check for dirent.h
30272         [7964a8c26855]
30273
30274         * config.h.in:
30275         added HAVE_DIRENT_H
30276         [1f785fec7e19]
30277
30278         * configure.in:
30279         added in linux shadow pass stuff \ 6
30280         [e585a5785f50]
30281
30282 1995-03-24  Todd C. Miller  <Todd.Miller@courtesan.com>
30283
30284         * visudo.c:
30285         added back host, user, cmnd, parse_error
30286         [0ec19f3d64f4]
30287
30288         * visudo.c:
30289         added in utk changes plus some minor cosmetic changes
30290         [c5c1921c8a58]
30291
30292         * sudo.c, sudo_realpath.c:
30293         added void casts for printf's
30294         [9c6ff11c0082]
30295
30296         * options.h:
30297         added a define of USE_REALPATH
30298         [db3711c9efc5]
30299
30300         * configure.in:
30301         there is no more visudoers/Makefile
30302         [36e1bc1f78d0]
30303
30304         * Makefile.in:
30305         added in utk changes (visudo is now built from the toplevel)
30306         [76203d4b345d]
30307
30308         * find_path.c:
30309         added (void) casts to printf's
30310         [dd5cb1e060ac]
30311
30312         * parse.c, parse.lex, parse.yacc, sudo.h, sudo_realpath.c:
30313         merged in utk changes
30314         [35563307fd8e]
30315
30316 1995-03-23  Todd C. Miller  <Todd.Miller@courtesan.com>
30317
30318         * find_path.c:
30319         now check to see that what we are trying to run is a file (or a link
30320         to a file, we do a stat(2) so there is no diff)
30321         [05889c4bcace]
30322
30323 1995-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30324
30325         * CHANGES:
30326         updated
30327         [3e8047bb26fb]
30328
30329         * Makefile.in:
30330         aclocal.m4 -> acsite.m4 make realclean updated for new autoconf \ 6
30331         [0bdbaa7c4c7d]
30332
30333         * sudo.man:
30334         added myself as maintainer
30335         [77a9d75aab84]
30336
30337 1995-02-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30338
30339         * sudo.c:
30340         changed setegid -> setgid
30341         [7f4788d73b6f]
30342
30343 1995-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30344
30345         * configure.in:
30346         fixed the test for irix 5.x to skip bad libs
30347         [bfef896de013]
30348
30349         * aclocal.m4:
30350         now initialize OS and OSREV
30351         [cc302756e440]
30352
30353 1995-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
30354
30355         * configure.in:
30356         irix5 changes
30357         [ac985b23f5f2]
30358
30359         * configure.in:
30360         AC_WITH -> AC_ARG_WITH changes other misc changes for autoconf 2.1
30361         compatibility
30362         [0cf8c92a06d7]
30363
30364 1995-01-19  Todd C. Miller  <Todd.Miller@courtesan.com>
30365
30366         * visudo.c:
30367         use YY_NEW_FILE, not yyrestart since OSF flex doesn't do the righ
30368         thing wrt yyrestart (grrrr)
30369         [18e8eabfbb82]
30370
30371 1995-01-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30372
30373         * Makefile.in:
30374         added visudoers/compat.h to DISTFILES
30375         [db23b574b034]
30376
30377         * configure.in:
30378         fixed an echo
30379         [7cbc0462b89d]
30380
30381         * sudo.c:
30382         added ocmnd declaration adjusted for find_path()'s new parameters
30383         [d929cd156474]
30384
30385         * sudo.h:
30386         added ocmnd extern adjusted find_path() prototype
30387         [e0004daf5d3c]
30388
30389         * parse.c:
30390         cmndcmp() now takes 3 arguments and checks against the qualified as
30391         well as the unqualified pathname. more code that should use
30392         cmndcmp() but did not, now does
30393         [6f70a8c17bee]
30394
30395         * options.h:
30396         added to a comment
30397         [7a78680426b2]
30398
30399         * logging.c:
30400         changed to use new find_path() parameter passing
30401         [840981d30db4]
30402
30403         * find_path.c:
30404         find_path() now takes 2 copyout parameters (one for the qualified
30405         pathname and one for the unqualified pathname). The third parameter
30406         may be NULL.
30407         [851503b005e9]
30408
30409         * configure.in:
30410         no longer munge pathnames.h
30411         [427d8796c5a9]
30412
30413         * pathnames.h.in:
30414         changed _PATH_* to use _SUDO_PATH_* (which are defined in config.h)
30415         as a result, pathnames.h does not need to be run through configure
30416         and the user can override the configured values easily.
30417         [2e378f2ebe88]
30418
30419         * config.h.in:
30420         added _SUDO_PATH_* entries
30421         [0857de7cebab]
30422
30423         * aclocal.m4:
30424         _PATH* -> _SUDO_PATH_*
30425         [7601193f56cc]
30426
30427         * Makefile.in:
30428         updated DISTFILES and HDRS .o's now depend on config.h
30429         [39d8601965cf]
30430
30431 1995-01-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30432
30433         * compat.h:
30434         removed extraneous #endif
30435         [27d4c5f2ce7e]
30436
30437         * aclocal.m4:
30438         added SUDO_PROG_MV
30439         [76dda3bdd816]
30440
30441         * configure.in:
30442         added SUDO_PROG_MV added riscos and isc os types took out
30443         -DSHORT_MESSAGE from --with-csops since it is now the default
30444         [68c206ad976e]
30445
30446         * sudo.c:
30447         move the include of id.h to compat.h now includes options.h
30448         [45a1eaafb3a8]
30449
30450         * sudo.h:
30451         moved compatibility #defines to compat.h
30452         [0eee27057698]
30453
30454         * pathnames.h.in:
30455         added _PATH_MV
30456         [e830797ab320]
30457
30458         * config.h.in:
30459         move __P to compat.h
30460         [188e12e0ba93]
30461
30462         * getcwd.c, getwd.c, putenv.c:
30463         now includes compat.h
30464         [c72cb6d73981]
30465
30466         * compat.h:
30467         Initial revision
30468         [d4d2f359ae03]
30469
30470 1995-01-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30471
30472         * sudo.h:
30473         pull user-configurable stuff out and put in options.h
30474         [ef929467b070]
30475
30476 1995-01-11  Todd C. Miller  <Todd.Miller@courtesan.com>
30477
30478         * parse.lex, parse.yacc, visudo.c:
30479         now includes options.h
30480         [e36d7c82add1]
30481
30482         * check.c, find_path.c, logging.c, parse.c, sudo_realpath.c,
30483         sudo_setenv.c:
30484         now includes options.h
30485         [f186ba03de07]
30486
30487         * Makefile.in:
30488         added visudoers/options.h
30489         [e5350c476494]
30490
30491         * OPTIONS, options.h:
30492         Initial revision
30493         [9b6b5001e318]
30494
30495         * Makefile.in:
30496         added OPTIONS and options.h
30497         [25448341e16a]
30498
30499         * logging.c:
30500         changed #ifdef's to use LOGGING and SLOG_SYSLOG/SLOG_FILE
30501         [5dd6385dd1d3]
30502
30503         * check.c, sudo.h:
30504         changed PASSWORD_TIMEOUT to minutes
30505         [0ec6aab98738]
30506
30507 1994-12-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30508
30509         * visudo.c:
30510         now only do Editor +line_num if line_num != 0
30511         [b69f04b5e3c7]
30512
30513 1994-12-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30514
30515         * visudo.c:
30516         now use mv if rename(2) fails
30517         [83210dca1bab]
30518
30519         * BUGS:
30520         added a visudo bug
30521         [d61a806f9aa7]
30522
30523         * check.c:
30524         expanded comment
30525         [641f2cba94cb]
30526
30527 1994-11-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30528
30529         * check.c:
30530         fixed user_is_exempt to return 0 if EXEMPTGROUP is not set
30531         [7a11135039a8]
30532
30533 1994-11-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30534
30535         * sudo.c:
30536         added mips & isc support
30537         [e258dc053119]
30538
30539         * parse.c:
30540         added support for non-root owned sudoers file
30541         [fea07e65a0fc]
30542
30543         * check.c:
30544         added exempt group support
30545         [928fb4bd9ad5]
30546
30547         * sudo.h:
30548         added set_perms() support added SUDOERS_OWNER so can have non-root
30549         own sudoers file added exempt group support added isc support
30550         [61c578d31fc1]
30551
30552         * visudo.c:
30553         now copy sudoers to temp file via read/write (not stdio) now chown
30554         new sudoers file to SUDOERS_OWNER
30555         [a5176c59df70]
30556
30557 1994-11-08  Todd C. Miller  <Todd.Miller@courtesan.com>
30558
30559         * configure.in:
30560         added skey support
30561         [35a8d2fabdb7]
30562
30563         * sudo_realpath.c:
30564         be_* -> setperms()
30565         [a1631d686e1c]
30566
30567         * sudo.h:
30568         fixed typo added set_perms support added skey support added
30569         seteuid()/setegid() emulation for AIX
30570         [c0c8d6771406]
30571
30572         * sudo.c:
30573         be_* -> setperms() now check to make sure sudoers file is owned by
30574         root nread/write by only root
30575         [13ab1e261f1a]
30576
30577         * logging.c, parse.c:
30578         be_* -> setperms()
30579         [21499d845c8f]
30580
30581         * check.c:
30582         be_* -> set_perms() added skey support
30583         [df51b56871c1]
30584
30585 1994-11-06  Todd C. Miller  <Todd.Miller@courtesan.com>
30586
30587         * Makefile.in:
30588         ++version
30589         [3c1abbe4e43c]
30590
30591         * version.h:
30592         ++
30593         [1d2f9b540a95]
30594
30595 1994-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30596
30597         * sudo.c:
30598         now sets IFS
30599         [eabbb41b9f08]
30600
30601         * insults.h:
30602         fixed typo
30603         [c7997f19216e]
30604
30605 1994-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30606
30607         * config.h.in:
30608         added HAVE_SKEY
30609         [da948ec4186b]
30610
30611 1994-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
30612
30613         * CHANGES:
30614         updated
30615         [f4b55ab007ea]
30616
30617         * Makefile.in:
30618         ++version
30619         [0489068b8c95]
30620
30621         * version.h:
30622         ++
30623         [d189faedf423]
30624
30625         * sudo.c:
30626         now bail if ARgv[1] > MAXPATHLEN
30627         [0cea8ecc9dc2]
30628
30629         * configure.in:
30630         added function check for tcgetattr(3)
30631         [e03289b22c2f]
30632
30633         * config.h.in:
30634         only define HAVE_TERMIOS_H if you have tcgetattr(3)
30635         [757eab83d1a2]
30636
30637         * config.h.in:
30638         added check for tcgetattr
30639         [c5ae92715930]
30640
30641 1994-09-26  Todd C. Miller  <Todd.Miller@courtesan.com>
30642
30643         * CHANGES:
30644         updated
30645         [cbc419883108]
30646
30647 1994-09-22  Todd C. Miller  <Todd.Miller@courtesan.com>
30648
30649         * parse.lex:
30650         now only include unistd.h for linux
30651         [e9adeab95ef0]
30652
30653 1994-09-21  Todd C. Miller  <Todd.Miller@courtesan.com>
30654
30655         * Makefile.in:
30656         added visudo.8 generation
30657         [d6a3f0f887f8]
30658
30659         * configure.in:
30660         added -Wl,-bI:./aixcrypt.exp to aix flags
30661         [72594a21edcf]
30662
30663 1994-09-20  Todd C. Miller  <Todd.Miller@courtesan.com>
30664
30665         * BUGS:
30666         added one
30667         [9993a349e096]
30668
30669         * CHANGES:
30670         updated
30671         [297b31ec4cdd]
30672
30673         * README:
30674         added mailing list info
30675         [10372f94a2b2]
30676
30677         * parse.yacc:
30678         now use sudolineno instead of yylineno fixed bison warnings
30679         [25a83e62057b]
30680
30681         * configure.in:
30682         now use -no_library_replacement for osf don't make a static binary
30683         for hpux >= 9.0
30684         [1fa7b892f1a3]
30685
30686         * tgetpass.c:
30687         added string.h/strings.h inclusion
30688         [71faa98fc0a1]
30689
30690         * config.h.in:
30691         added ssize_t def
30692         [406284bd1ac0]
30693
30694         * parse.lex:
30695         added inclusion of string.h/strings.h
30696         [6985b1df5d09]
30697
30698         * aclocal.m4:
30699         fixed uname | sed (needed to quote the '[')
30700         [4cd2d3415c1a]
30701
30702         * parse.lex:
30703         replaced yylineno with sudolineno fixed bison syntax errors
30704         [0bd31a5fab26]
30705
30706         * visudo.c:
30707         changed yylineno to sudolineno since yylineno cannot be counted
30708         upon.
30709         [38c30104d0ae]
30710
30711         * TODO:
30712         updated
30713         [5d4746f1a752]
30714
30715         * parse.c:
30716         added code to support command listings
30717         [030172e133fd]
30718
30719         * sudo.c:
30720         added code for -l flag
30721         [801dbbc82778]
30722
30723         * sudo.man:
30724         fixed typo added info for -l flag
30725         [8916ca945d65]
30726
30727         * configure.in:
30728         AC_SSIZE_T -> SUDO_SSIZE_T
30729         [c61f7f47013f]
30730
30731         * aclocal.m4:
30732         added SUDO_SSIZE_T
30733         [0ccdb77be84d]
30734
30735         * sudo.h:
30736         added MODE_LIST
30737         [9b2bd844c76c]
30738
30739         * configure.in:
30740         added AC_SSIZE_T
30741         [35cca208f9b5]
30742
30743         * find_path.c, sudo_realpath.c:
30744         readlink() is now declared as returning ssize~_t
30745         [0640a08d1407]
30746
30747         * configure.in:
30748         added -laud for OSF c2
30749         [b7539c905efc]
30750
30751 1994-09-02  Todd C. Miller  <Todd.Miller@courtesan.com>
30752
30753         * Makefile.in, visudo.c:
30754         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
30755         [067fd9bcb5e1]
30756
30757         * config.h.in, parse.lex, parse.yacc, pathnames.h.in:
30758         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.edu
30759         [fc46e7c7110a]
30760
30761         * check.c, find_path.c, getcwd.c, getwd.c, insults.h, logging.c,
30762         parse.c, putenv.c, strdup.c, sudo.c, sudo.h, sudo_realpath.c,
30763         sudo_setenv.c, tgetpass.c, version.h:
30764         changed sudo-bugs.cs.colorado.edu -> sudo-bugs@cs.colorado.ed
30765         [d1d4fbc53a98]
30766
30767 1994-09-01  Todd C. Miller  <Todd.Miller@courtesan.com>
30768
30769         * Makefile.in:
30770         ++version
30771         [b7066d97633f]
30772
30773         * version.h:
30774         ++
30775         [65ec69d88110]
30776
30777         * logging.c:
30778         added host to alertmail messages
30779         [d973c19ce777]
30780
30781         * CHANGES, TODO:
30782         udpated
30783         [5a65eb16faeb]
30784
30785         * logging.c:
30786         fixed logging problem where mail would not say which user it was
30787         [35723edcc5d2]
30788
30789         * configure.in:
30790         added -laud for gcc if osf & c2
30791         [18f1e0ae5548]
30792
30793         * check.c:
30794         moved set_auth_parameters to sudo.c
30795         [d23112fe01db]
30796
30797         * sudo.c:
30798         added set_auth_parameters for osf
30799         [eb70f65214ac]
30800
30801         * configure.in:
30802         cleaned up -static stuff
30803         [01e9575f0422]
30804
30805         * Makefile.in:
30806         ++version
30807         [7ac3bff5c770]
30808
30809         * version.h:
30810         ++
30811         [10a4ff478469]
30812
30813         * sudo.c:
30814         changed setenv() to sudo_setenv()
30815         [40a78abb9946]
30816
30817         * check.c:
30818         fixed osf problem
30819         [3d69b118efb8]
30820
30821         * configure.in:
30822         added OSF C2 stuff
30823         [38cff3ad4093]
30824
30825         * CHANGES:
30826         updated
30827         [cd341dd0581a]
30828
30829         * check.c:
30830         added osf auth support & removed some extra spaces
30831         [a448cdd81514]
30832
30833         * INSTALL, SUPPORTED:
30834         added osf C2 stuff
30835         [f70484796146]
30836
30837 1994-08-31  Todd C. Miller  <Todd.Miller@courtesan.com>
30838
30839         * TODO:
30840         added 2 suggestions
30841         [695fbdbd86e6]
30842
30843         * Makefile.in:
30844         removed README.v1.3.1 and added VERSION stuff
30845         [f69403eb04c6]
30846
30847         * version.h:
30848         pl1
30849         [21580c0f8cb1]
30850
30851 1994-08-30  Todd C. Miller  <Todd.Miller@courtesan.com>
30852
30853         * version.h:
30854         1.3.1final
30855         [630114970298]
30856
30857         * Makefile.in:
30858         added HISTORY
30859         [901bff251614]
30860
30861         * sudo.man:
30862         mention HISTPRY file
30863         [86dbcfd4326e]
30864
30865         * sudo.c:
30866         use sizeof instead of a constant in 1 place
30867         [d819604c68ca]
30868
30869         * parse.yacc:
30870         added unistd.h
30871         [6f9500f9fe7e]
30872
30873         * parse.lex:
30874         added unistd.h
30875         [468b81a276eb]
30876
30877         * README:
30878         udpated
30879         [7e275618923a]
30880
30881         * HISTORY:
30882         Initial revision
30883         [5db1b0a3939b]
30884
30885 1994-08-17  Todd C. Miller  <Todd.Miller@courtesan.com>
30886
30887         * version.h:
30888         ++
30889         [7dfbb4a810bb] [SUDO_1_3_1]
30890
30891         * CHANGES:
30892         updated
30893         [7820ee610bf8]
30894
30895         * sudo_setenv.c:
30896         added unistd.h include
30897         [30cf2b654525]
30898
30899 1994-08-16  Todd C. Miller  <Todd.Miller@courtesan.com>
30900
30901         * sudo.c:
30902         added sys/time.h for AIX
30903         [199fc8caf3a3]
30904
30905 1994-08-15  Todd C. Miller  <Todd.Miller@courtesan.com>
30906
30907         * configure.in:
30908         added check for -lsocket and sys/sockio.h
30909         [f9abfbb31031]
30910
30911         * config.h.in:
30912         took out libshadow check and added in sys/sockio.h check
30913         [0c4b0393ac80]
30914
30915         * sudo.c:
30916         now include sockio.h instead of ioctl.h if it exists "sudo -" now
30917         gets a better error message
30918         [53041bea5483]
30919
30920         * sample.sudoers:
30921         now has a dir and subnet entry
30922         [56b820f65438]
30923
30924 1994-08-13  Todd C. Miller  <Todd.Miller@courtesan.com>
30925
30926         * sudo.c:
30927         removed if_ether.h
30928         [b4f64507493e]
30929
30930         * TODO:
30931         added an item
30932         [ea2a1bb6922a]
30933
30934         * sudo.man:
30935         added network and ip addresses to man page
30936         [01c85016511f]
30937
30938         * sudo.c:
30939         no error if can't get interfaces or netmask since networking may not
30940         be in the kernel.
30941         [50b8890e2134]
30942
30943         * parse.c:
30944         nwo check for interfaces == NULL
30945         [dc1b3eef0db2]
30946
30947         * parse.c:
30948         fixed a bug that caused directory specs in a Cmnd_Alias to fail if
30949         the last entry in the spec failed (ie: it was only looking at the
30950         last entry). CLeaned things up by adding the cmndcmp() function--all
30951         neat & tidy
30952         [007e93578e5e]
30953
30954         * CHANGES:
30955         added one
30956         [40e8a2cef497]
30957
30958 1994-08-12  Todd C. Miller  <Todd.Miller@courtesan.com>
30959
30960         * sudo.c:
30961         now do two passes to skip bogus interfaces (lo0, etc)
30962         [465e30aecaf7]
30963
30964         * parse.lex, parse.yacc, visudo.c:
30965         added include of netinet/in.h
30966         [11e3816ed362]
30967
30968         * logging.c, sudo_realpath.c, sudo_setenv.c:
30969         added ninclude of netinet/in.h
30970         [daccfa40fe1e]
30971
30972         * check.c, find_path.c, getcwd.c, getwd.c:
30973         added include of netinet/in.h
30974         [0222f95e06ad]
30975
30976         * version.h:
30977         ++
30978         [d6b0cfa35a38]
30979
30980         * sudo.h:
30981         added interfaces global
30982         [ba52fa8ad75e]
30983
30984         * parse.c:
30985         now uses new interfaces global
30986         [17473ad5ecba]
30987
30988         * sudo.c:
30989         now ip addresses are gleaned fw/o dns
30990         [8828bb2007e0]
30991
30992 1994-08-10  Todd C. Miller  <Todd.Miller@courtesan.com>
30993
30994         * sudo.c:
30995         added load_ip_addrs() to load the ip_addrs global var
30996         [60c825f04238]
30997
30998         * parse.c:
30999         added hostcmp() to compare hostnames, ip addrs, and network addrs
31000         [ab0e40e37537]
31001
31002         * sudo.h:
31003         added ip_addrs def added load_ip_addrs prototype
31004         [c41c565d0777]
31005
31006 1994-08-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31007
31008         * CHANGES:
31009         updated
31010         [2a128dbe9bcb]
31011
31012         * Makefile.in:
31013         removed multiple entries in DISTFILES
31014         [2490f4f371e6]
31015
31016         * visudo.c:
31017         ansified the !STDC_HEADERS decls
31018         [646ba06d17ae]
31019
31020         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c:
31021         don't do malloc decl if gnuc
31022         [f1bad1925f98]
31023
31024         * sudo.c:
31025         can't use getopt(3) since it munges args to the command to be run as
31026         root don't do malloc decl if gnuc
31027         [38e78f6da14e]
31028
31029         * find_path.c, getcwd.c, getwd.c, putenv.c, strdup.c, sudo.c,
31030         sudo_realpath.c, sudo_setenv.c:
31031         ansi-fied !STDC_HEADER function prottypes
31032         [51d8cad89976]
31033
31034         * getcwd.c, getwd.c:
31035         added missing paren
31036         [6a1fae70e27e]
31037
31038         * Makefile.in:
31039         added putenv.c to DISTFILES
31040         [a5e4523eabbb]
31041
31042         * sudo_setenv.c:
31043         added params to func decls when STDC_HEADERS is not defined now can
31044         count on putenv() being there
31045         [fd587796189b]
31046
31047         * sudo_realpath.c:
31048         took out errno decl since sudo.h does it for us fixed up a next cc
31049         warning added params to func decls when STDC_HEADERS is not defined
31050         [70fa5152ace6]
31051
31052         * sudo.h:
31053         took out environ extern added local declaratio of putenv() if local
31054         version is needed
31055         [a84bae6c020d]
31056
31057         * find_path.c, getcwd.c, getwd.c, strdup.c, sudo.c:
31058         added params to func decls when STDC_HEADERS is not defined
31059         [f406f0e47ac0]
31060
31061         * config.h.in:
31062         added memcpy check check to see that ansi vs bsd macros are ntot
31063         already defiend before defining (ie: avoid redefinition)
31064         [879ae026e19f]
31065
31066         * configure.in:
31067         removed fluff setenv check plus check w/ replace for putenv if also
31068         no setenv
31069         [e3c03814ad4b]
31070
31071         * putenv.c:
31072         Initial revision
31073         [3cff63e2dc1b]
31074
31075 1994-08-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31076
31077         * sudo_setenv.c:
31078         Initial revision
31079         [4d637631fa6b]
31080
31081         * sudo.h:
31082         rm'd s realp[ath added sudo_realpath and sudo_setenv
31083         [07ba001ff57e]
31084
31085         * sudo.c:
31086         now use sudo_setenvc
31087         [fd81e04d5ef0]
31088
31089         * configure.in:
31090         added puteenv and setenv, removed realpath
31091         [27bfacfb513b]
31092
31093         * config.h.in:
31094         added putenv & setenv
31095         [515f14eaf6e4]
31096
31097         * Makefile.in:
31098         added sudo_setenv
31099         [217731a717c5]
31100
31101         * version.h:
31102         ++
31103         [eadb346d7129]
31104
31105 1994-08-05  Todd C. Miller  <Todd.Miller@courtesan.com>
31106
31107         * configure.in:
31108         added MAN_POSTINSTALL and /usr/share/catman for irix
31109         [2a9496c1bdba]
31110
31111         * Makefile.in:
31112         added MAN_POSTINSTALL
31113         [89b0d4695529]
31114
31115         * CHANGES:
31116         added
31117         [48c021ba8a70]
31118
31119         * sudo.man:
31120         added SUDO_* plus new options
31121         [c0759cff5683]
31122
31123         * CHANGES:
31124         added one
31125         [7d44a3922d56]
31126
31127         * configure.in:
31128         took out shadow lib
31129         [07cf3de18701]
31130
31131         * TODO:
31132         adde done
31133         [a27a578e8afe]
31134
31135         * visudo.c:
31136         now use yyrestart() if flex now reset yylineno to 0
31137         [77d67ce0b677]
31138
31139         * Makefile.in:
31140         support for installing a cat page instead of a man page if no nroff
31141         [44671c0fc0fa]
31142
31143         * configure.in:
31144         now defines HAVE_FLEX fixed up man stuff so that it looks for nroff
31145         to determine whether or not to install a cat or man page
31146         [0562d069c135]
31147
31148         * config.h.in:
31149         added HAVE_FLEX
31150         [c5490bae39d3]
31151
31152         * sudo.c:
31153         not set ret to MODE_RUN initially
31154         [88b4983c195b]
31155
31156         * find_path.c:
31157         made command (and therefor cmnd dynamically allocated)
31158         [95b82e32b6de]
31159
31160         * TODO:
31161         did #8
31162         [fb6f41308cdf]
31163
31164         * version.h:
31165         ++
31166         [14112ecab5ae]
31167
31168         * sudo_realpath.c:
31169         changed bufs from MAXPATHLEN to MAXPATHLEN+1
31170         [0ad4f34e55c0]
31171
31172         * sudo.h:
31173         added MODE_ removed validate_only and added remove_timestamp()
31174         [dd5f99c57728]
31175
31176         * sudo.c:
31177         usage() now takes an int (exit value) added parse_args() to parse
31178         command line arguments moved call to find_path() from load_globals
31179         to new function load_cmnd() removed validate_only global -- now use
31180         the concept of "modes" added -h and -k options
31181         [c3887090b28a]
31182
31183         * parse.c:
31184         no longer use global validate_only now checks for command called
31185         "validate" removed check for non-fully qualified commands since that
31186         is done by find_path
31187         [7d56fbd26369]
31188
31189         * find_path.c:
31190         changed MAXPATHLEN r to MAXPATHLEN+1
31191         [a86e8664d971]
31192
31193         * find_path.c:
31194         fixed off by one error with MAXPATHLEN and fixed a comment
31195         [58adcef8c981]
31196
31197         * check.c:
31198         check_timestamp no longer runs reminder(), it is implied in the
31199         return val added remove_timestamp()
31200         [42ab5a77066f]
31201
31202         * CHANGES:
31203         updated
31204         [8e69b31df024]
31205
31206 1994-08-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31207
31208         * BUGS:
31209         fixed on
31210         [bc34f1ac4280]
31211
31212         * sudo_realpath.c:
31213         took out old_errno
31214         [a168d00a0768]
31215
31216         * CHANGES:
31217         updated
31218         [04ba80922df7]
31219
31220 1994-08-03  Todd C. Miller  <Todd.Miller@courtesan.com>
31221
31222         * logging.c:
31223         moved send_mail to after syslog
31224         [4d4188087834]
31225
31226         * sudo.c:
31227         now set SUDO_ envariables
31228         [e5963f1bd3bb]
31229
31230 1994-08-01  Todd C. Miller  <Todd.Miller@courtesan.com>
31231
31232         * version.h:
31233         ++
31234         [2a4534845d8c]
31235
31236         * sudo_realpath.c:
31237         now print error if chdir fails
31238         [0d75c8973d49]
31239
31240         * find_path.c:
31241         removed an XXX
31242         [e2077bcb35aa]
31243
31244 1994-07-26  Todd C. Miller  <Todd.Miller@courtesan.com>
31245
31246         * CHANGES:
31247         updated
31248         [e30a2b39b41a]
31249
31250         * configure.in:
31251         no more static binaries for aix
31252         [77a0beb6bd80]
31253
31254 1994-07-25  Todd C. Miller  <Todd.Miller@courtesan.com>
31255
31256         * INSTALL:
31257         fixed typo
31258         [ba5e0d391bc4]
31259
31260         * sudo_realpath.c:
31261         took out stuff not needed for sudo now does be_root/be_user itself
31262         now uses cwd global
31263         [4f6d4641d793]
31264
31265         * version.h:
31266         +=2
31267         [97da927b297c]
31268
31269         * logging.c, sudo.c:
31270         be_root/be_user is now down in sudo_realpath()
31271         [f331662fa50f]
31272
31273         * logging.c, sudo.h:
31274         now works with 4.2BSD syslog (blech)
31275         [98e39d89dd36]
31276
31277         * find_path.c:
31278         now use sudo_realpath()
31279         [ab436a8ebd02]
31280
31281         * config.h.in:
31282         took out realpth() stuff since we now use sudo_realpath()
31283         [8de5ef9f6044]
31284
31285         * configure.in:
31286         ultrix enhanced sec
31287         [815fb7fffcc0]
31288
31289         * SUPPORTED:
31290         added ultrix enhanced sec.
31291         [6466766c8062]
31292
31293         * INSTALL:
31294         updated
31295         [d681a634297a]
31296
31297         * check.c:
31298         ultrix enhanced security suport
31299         [f10c8decbcc2]
31300
31301         * Makefile.in:
31302         added sudo_realpath.c
31303         [6b9bcd3be022]
31304
31305         * CHANGES:
31306         updated
31307         [2fa8084c1b53]
31308
31309         * tgetpass.c:
31310         increased passwd len to 24 for c2 security
31311         [ec64838be62d]
31312
31313         * BUGS:
31314         updated BUGS
31315         [ca00d8fec2ce]
31316
31317 1994-07-15  Todd C. Miller  <Todd.Miller@courtesan.com>
31318
31319         * check.c:
31320         now use user global var
31321         [568769719013]
31322
31323         * configure.in:
31324         took out -ls
31325         [490a44180d5f]
31326
31327 1994-07-14  Todd C. Miller  <Todd.Miller@courtesan.com>
31328
31329         * configure.in:
31330         added AFS libs
31331         [4fb40c8c01ba]
31332
31333         * sudo.h:
31334         user is now a char * added epasswd
31335         [27a919fafdfb]
31336
31337         * sudo.c:
31338         added tzset() to load_globals added epasswd (encrypted password)
31339         global made user dynamically allocated
31340         [b99ef9bdbfce]
31341
31342         * configure.in:
31343         added tzset test
31344         [27592dd1214b]
31345
31346         * config.h.in:
31347         added HAVE_TZSET
31348         [b13f4213f3d0]
31349
31350         * check.c:
31351         cleaned up encrypted passwd grab somewhat
31352         [c8ba9a4db38a]
31353
31354         * configure.in:
31355         fixed AFS typo
31356         [2bfcbce237b6]
31357
31358         * INSTALL:
31359         added AFS not
31360         [80c67329393c]
31361
31362         * CHANGES:
31363         udpated
31364         [2f09ecdd5d31]
31365
31366         * logging.c:
31367         can now log to both syslog & a file
31368         [4d5c0932bc01]
31369
31370         * sudo.h:
31371         added BOTH_LOGS
31372         [623c539be824]
31373
31374         * CHANGES:
31375         updated
31376         [a1c7f5ef3616]
31377
31378         * configure.in:
31379         --with-AFS
31380         [28718d8f5daf]
31381
31382         * config.h.in:
31383         added HAVE_AFS
31384         [2e32bb4e63e4]
31385
31386         * check.c:
31387         added afs changes
31388         [fe4d0ff320a2]
31389
31390         * sudo.h:
31391         removed AFS stuff :-)
31392         [a40387e6fa27]
31393
31394         * tgetpass.c:
31395         include sys/select for AIX
31396         [f32c5a8f2c84]
31397
31398         * sudo.h:
31399         added AFS
31400         [da2ab3dd0348]
31401
31402         * version.h:
31403         ++
31404         [452d4dfe25af]
31405
31406 1994-07-07  Todd C. Miller  <Todd.Miller@courtesan.com>
31407
31408         * CHANGES, SUPPORTED:
31409         updated
31410         [e7dfe6f23a37]
31411
31412         * logging.c:
31413         can now have MAILER undefined
31414         [1d33b98b35e1]
31415
31416         * INSTALL:
31417         new sub-note about MAILER
31418         [d35c636a0574]
31419
31420         * sudo.man:
31421         added blurb about password timeout
31422         [70c2ee50de20]
31423
31424         * configure.in:
31425         convex c2 changes
31426         [367138a6232e]
31427
31428         * aclocal.m4:
31429         took out duplicate define of _CONVEX_SOURCE
31430         [647182138450]
31431
31432         * Makefile.in:
31433         added OSDEFS
31434         [7fdcd50602d1]
31435
31436         * config.h.in:
31437         added spaces
31438         [f2b8a05e48f3]
31439
31440         * tgetpass.c:
31441         added a goto if fgets fails
31442         [68a6586d9c45]
31443
31444         * sudo.h:
31445         use __hpux not hpux convex c2 stuff
31446         [5c377a8d5f34]
31447
31448         * sudo.c:
31449         use __hpux not hpux
31450         [9363bc0f9f9e]
31451
31452         * logging.c:
31453         convex c2 stuff
31454         [ea5630975ac4]
31455
31456         * config.h.in:
31457         define ansi-ish cpp os defines if non-ansi are defined for hpux &
31458         convex
31459         [664f53a5e786]
31460
31461         * INSTALL:
31462         updated to say we support sonvex C2
31463         [5f2f8b87013e]
31464
31465         * check.c:
31466         added convex c2 support
31467         [9a665d4918fa]
31468
31469 1994-07-01  Todd C. Miller  <Todd.Miller@courtesan.com>
31470
31471         * tgetpass.c:
31472         no more ioctl never returns NULL uses fgets() and select() to
31473         timeout
31474         [b333e6d63e97]
31475
31476 1994-06-29  Todd C. Miller  <Todd.Miller@courtesan.com>
31477
31478         * configure.in:
31479         things were testing -n "$GCC" instead of -z "$GCC"
31480         [059a9b15ede2]
31481
31482         * tgetpass.c:
31483         now works + uses fgets()
31484         [353d7ebcb7bb]
31485
31486 1994-06-28  Todd C. Miller  <Todd.Miller@courtesan.com>
31487
31488         * tgetpass.c:
31489         select doesn't seem to recognize a single '\n' as input waiting so
31490         we can;t use it, sigh.
31491         [f76e3218b835]
31492
31493 1994-06-26  Todd C. Miller  <Todd.Miller@courtesan.com>
31494
31495         * PORTING:
31496         updated tgetpass() blurb
31497         [95baac736b49]
31498
31499         * configure.in:
31500         added --with-getpass
31501         [42ac0bdf58ed]
31502
31503         * Makefile.in:
31504         added tgetpass stuff
31505         [e2b38c635663]
31506
31507         * tgetpass.c:
31508         now uses stdio
31509         [36af8ff66e35]
31510
31511         * version.h:
31512         ++
31513         [4e81c9db19bd]
31514
31515 1994-06-24  Todd C. Miller  <Todd.Miller@courtesan.com>
31516
31517         * PORTING:
31518         updated ,.
31519         [54f523770a05]
31520
31521         * config.h.in:
31522         added USE_GETPASS && HAVE_C2_SECURITY
31523         [86b355cb2953]
31524
31525         * configure.in:
31526         fixed a test aded --with-C2 and --with-tgetpass
31527         [abf6181588ef]
31528
31529         * check.c:
31530         added hpux C2 shit
31531         [20d4177ffa88]
31532
31533         * Makefile.in:
31534         took out tgetpass.*
31535         [cc82fd9984b4]
31536
31537         * INSTALL:
31538         added C2 blurb
31539         [1d2bfc35e4b6]
31540
31541 1994-06-13  Todd C. Miller  <Todd.Miller@courtesan.com>
31542
31543         * configure.in:
31544         no termio(s) for ultrix since it is broken
31545         [d3e82e835350]
31546
31547         * check.c:
31548         added a space (yeah, anal)
31549         [05e4b31ca68c]
31550
31551         * realpath.c, sudo_realpath.c:
31552         fixed it (duh, rtfm)
31553         [f13097cb8cb6]
31554
31555 1994-06-08  Todd C. Miller  <Todd.Miller@courtesan.com>
31556
31557         * config.h.in:
31558         took out bsd signal stuff for irix
31559         [e179cdafc97a]
31560
31561         * visudo.c:
31562         comments in #endif
31563         [e3a629190f5e]
31564
31565         * configure.in:
31566         don't define BSD signals for irix
31567         [3ce57bffb7f0]
31568
31569         * TODO:
31570         did some...
31571         [274241cd0f74]
31572
31573         * CHANGES:
31574         updated
31575         [8f29fc755faf]
31576
31577         * realpath.c, sudo_realpath.c:
31578         took out unneeded code by changing where a strings was terminated
31579         [b5564d62d30e]
31580
31581 1994-06-07  Todd C. Miller  <Todd.Miller@courtesan.com>
31582
31583         * realpath.c, sudo_realpath.c:
31584         fix bug where /dirname would return NULL
31585         [b85f470daf26]
31586
31587         * sudo.h:
31588         move __P to config.h
31589         [7763c0ff3f28]
31590
31591         * getcwd.c, getwd.c, realpath.c, sudo_realpath.c:
31592         added errno definition
31593         [4cc9d2d9782a]
31594
31595         * config.h.in:
31596         added __P
31597         [ca06f5aa58f3]
31598
31599         * config.h.in:
31600         added HAVE_FCHDIR
31601         [206d714641e0]
31602
31603         * strdup.c:
31604         now include stdio
31605         [0d8458da0e1d]
31606
31607         * realpath.c, sudo_realpath.c:
31608         now works if no fchdir
31609         [e035911b6722]
31610
31611         * visudo.c:
31612         define SA_RESETHAND to null if not defined
31613         [afec03e84342]
31614
31615         * configure.in:
31616         added check & replace
31617         [c1a65481441c]
31618
31619         * configure.in:
31620         took out -static for nextstep -- it doesn't work
31621         [fa1a1a611743]
31622
31623 1994-06-06  Todd C. Miller  <Todd.Miller@courtesan.com>
31624
31625         * logging.c:
31626         moved #endif to where it belongs
31627         [07d3a8972097]
31628
31629         * SUPPORTED:
31630         correction
31631         [0c1ecba3e5a3]
31632
31633         * configure.in:
31634         now checks for strdup realpath getcwd bzero
31635         [f029a1917515]
31636
31637         * config.h.in:
31638         emulate bzero
31639         [d792352e44a3]
31640
31641         * visudo.c:
31642         added posic signals
31643         [2ed0005f90fc]
31644
31645         * tgetpass.c:
31646         bzero cast
31647         [6d91b1a1526f]
31648
31649         * logging.c:
31650         added posix signals
31651         [67ede9c22a05]
31652
31653         * configure.in:
31654         removed BROKEN_GETPASS added new srcs toreplace missing functions
31655         [cf44274bb1c8]
31656
31657         * config.h.in:
31658         added posix signal stuff
31659         [a3c1c98fe8ef]
31660
31661         * Makefile.in:
31662         added new srcs
31663         [b6a079afee47]
31664
31665         * visudo.c:
31666         updated useag
31667         [589ed091c44f]
31668
31669         * tgetpass.c:
31670         now uses posix signals
31671         [30f74964074f]
31672
31673         * PORTING:
31674         updated sto reflect major changes
31675         [bcfc309e017b]
31676
31677         * CHANGES, TODO:
31678         updated
31679         [23aacbd54278]
31680
31681         * tgetpass.c:
31682         uses sysconf() if available
31683         [a27431c90bab]
31684
31685         * sudo.h:
31686         added PASSWORD_TIMEOUT + prototypes for new functions
31687         [d7473c2f77c4]
31688
31689         * realpath.c, sudo_realpath.c:
31690         for those w/o this in libc
31691         [1e47aa7a9d46]
31692
31693         * getcwd.c, getwd.c:
31694         Initial revision
31695         [c90dea57a84f]
31696
31697         * find_path.c:
31698         rewrote to use realpath(3) - nis now all my code
31699         [d2c3bb8fb37d]
31700
31701         * config.h.in:
31702         added HAVE_REALPATH
31703         [02c10352a8c7]
31704
31705         * check.c:
31706         now use tgetpass
31707         [b5c021fc179f]
31708
31709         * Makefile.in:
31710         added LIBOBJS use tgetpass.c
31711         [230a7b3eeaa3]
31712
31713 1994-06-05  Todd C. Miller  <Todd.Miller@courtesan.com>
31714
31715         * tgetpass.c:
31716         works now :-)
31717         [025e7a3875ba]
31718
31719         * tgetpass.c:
31720         Initial revision
31721         [3316ab33b230]
31722
31723         * pathnames.h.in:
31724         added /dev/tty
31725         [29242585e53f]
31726
31727 1994-06-04  Todd C. Miller  <Todd.Miller@courtesan.com>
31728
31729         * version.h:
31730         incremented
31731         [f2e54b48280f]
31732
31733         * sudo.c:
31734         always use getcwd
31735         [c6068e8a4029]
31736
31737         * config.h.in:
31738         added check for getwd
31739         [ab1e102ad673]
31740
31741         * configure.in:
31742         replace strdup & realpath & getcwd if missing
31743         [b0eb14f2a1c3]
31744
31745         * pathnames.h.in:
31746         added _PATH_PWD
31747         [309d2388f69a]
31748
31749         * aclocal.m4:
31750         added SUDO_PROG_PWD
31751         [e16e85deb96c]
31752
31753         * strdup.c:
31754         Initial revision
31755         [810efdc15007]
31756
31757         * realpath.c, sudo_realpath.c:
31758         Initial revision
31759         [d85eee438e09]
31760
31761 1994-06-03  Todd C. Miller  <Todd.Miller@courtesan.com>
31762
31763         * configure.in:
31764         quoted quare brackets
31765         [d0e7ca111d98]
31766
31767 1994-06-02  Todd C. Miller  <Todd.Miller@courtesan.com>
31768
31769         * sudo.c:
31770         no need to strdup() a constant
31771         [a8c44712df9a]
31772
31773         * CHANGES:
31774         updated
31775         [71364129cca0]
31776
31777         * sudo.man:
31778         added validate
31779         [0bb198095a26]
31780
31781         * sudo.c:
31782         added -v to usage
31783         [31ea71f11dbb]
31784
31785         * parse.c, sudo.c, sudo.h:
31786         added validate_only stuff
31787         [9bcd853d3c90]
31788
31789 1994-05-30  Todd C. Miller  <Todd.Miller@courtesan.com>
31790
31791         * configure.in:
31792         now finds sed
31793         [6374bb0d3f28]
31794
31795         * aclocal.m4:
31796         $OSREV is now an int
31797         [ace0666d66cf]
31798
31799 1994-05-29  Todd C. Miller  <Todd.Miller@courtesan.com>
31800
31801         * configure.in:
31802         added mtxinu to caser
31803         [73a776887b16]
31804
31805         * sudo.h:
31806         added EXEC macro
31807         [2e8eb28b710a]
31808
31809         * sudo.c:
31810         now use the EXEC nmacro now only do a gethostbyname() if FQDN is set
31811         [56afb4f658d5]
31812
31813         * logging.c:
31814         changed mail_argv[] def now use EXEC() macro
31815         [ddcabd28edb1]
31816
31817         * check.c:
31818         took out crypt() definition
31819         [0e657724cf5f]
31820
31821         * version.h:
31822         upped the version
31823         [62c5d66119fc]
31824
31825         * configure.in:
31826         always look for -lnsl
31827         [d7b594f0313b]
31828
31829         * aclocal.m4:
31830         added an echo
31831         [1caae3491dc5]
31832
31833         * sudo.h:
31834         SHORT_MESSAGE is now the default
31835         [cfce35c3119a]
31836
31837         * config.h.in:
31838         fixed typo
31839         [6499a564bf75]
31840
31841         * configure.in:
31842         added missing AC_DEFINE(SVR4) for solaris
31843         [feef0b17b94f]
31844
31845         * sudo.man:
31846         documented the -v flag
31847         [a6429f2bc2cf]
31848
31849         * SUPPORTED:
31850         updated
31851         [088886e79540]
31852
31853         * check.c:
31854         proto-ized crypt()
31855         [801e4ff5b121]
31856
31857         * config.h.in:
31858         added LIBSHADOW undef
31859         [8df588e9ee2b]
31860
31861         * configure.in:
31862         nwo set OS to be lowercase
31863         [561ebed833e4]
31864
31865 1994-05-28  Todd C. Miller  <Todd.Miller@courtesan.com>
31866
31867         * configure.in:
31868         now use SUDO_OSTYPE to set $OS
31869         [0e60aee23098]
31870
31871         * aclocal.m4:
31872         now use uname to determine os
31873         [99705e58d400]
31874
31875         * visudo.c:
31876         added prototypes & moved sig handler around
31877         [1f0bc8d23b51]
31878
31879         * sudo.h:
31880         added prototyppes
31881         [be3935a2b163]
31882
31883         * check.c, logging.c, sudo.c:
31884         added prototypes
31885         [2079b4605ab8]
31886
31887         * parse.c:
31888         added comment
31889         [a34d147d8399]
31890
31891         * config.h.in:
31892         nwo use _BSD_SIGNALS not _BSD_COMPAT
31893         [63663195f047]
31894
31895         * aixcrypt.exp:
31896         Initial revision
31897         [890aed08357e]
31898
31899         * Makefile.in:
31900         added aixcrypt.exp
31901         [1005a183105f]
31902
31903         * parse.lex, parse.yacc:
31904         moved config.h to top of includes
31905         [9569c49aa5f3]
31906
31907 1994-05-25  Todd C. Miller  <Todd.Miller@courtesan.com>
31908
31909         * find_path.c:
31910         now don't bitch if get EACCESS (treat like EPERM)
31911         [dbeffb638de4]
31912
31913         * visudo.c:
31914         added -v flag and usage()
31915         [4d44ed60ed75]
31916
31917         * version.h:
31918         fixed a typo
31919         [cf3f9347ae41]
31920
31921         * sudo.c:
31922         cast Argv to a const for exec added -v flag
31923         [d11b6efc0e45]
31924
31925         * logging.c:
31926         mail_argv is now a const
31927         [93bb5d90bb6f]
31928
31929         * configure.in:
31930         only set RETSIGTYPE if it is not set already
31931         [c97aac260b77]
31932
31933         * aclocal.m4:
31934         now defines & STDC_HEADERS for Irix
31935         [9c2b24ad1fc5]
31936
31937         * Makefile.in:
31938         added version.h
31939         [9f79e880229a]
31940
31941         * insults.h, sudo.h:
31942         prevent multiple inclusion
31943         [d68c8a9243ce]
31944
31945         * version.h:
31946         Initial revision
31947         [dbb39c5ef8d9]
31948
31949         * parse.lex, parse.yacc:
31950         now includes config.h
31951         [f117e036a56b]
31952
31953         * aclocal.m4:
31954         now talks about sunos 4.x
31955         [c9054aa92d4e]
31956
31957         * visudo.c:
31958         calls to Exit now pass an arg
31959         [a92104670551]
31960
31961 1994-05-24  Todd C. Miller  <Todd.Miller@courtesan.com>
31962
31963         * visudo.c:
31964         signal handler now takes an int argument
31965         [26f480c41523]
31966
31967         * CHANGES:
31968         updated
31969         [8c166a9d796b]
31970
31971         * sudo.c:
31972         ok, the getcwd() is now *really* done as the user
31973         [ab86cf85134a]
31974
31975         * configure.in:
31976         changed AIX STATIC_FLAGS
31977         [b9c0a3ba5663]
31978
31979         * aclocal.m4:
31980         solaris now defines SVR4
31981         [c3e20cac96f5]
31982
31983         * sudo.h:
31984         added cwd and fixed stupid core dump that makes no sense. sigh.
31985         [7a9755436dbb]
31986
31987         * sudo.c:
31988         moved getcwd stuff into load_globals
31989         [ec2bc90df1f3]
31990
31991         * parse.c:
31992         took out externs that are in suod.h
31993         [93c4b3f856d7]
31994
31995         * logging.c:
31996         moved cwd into load_globals
31997         [050de754d228]
31998
31999         * find_path.c:
32000         moved cwd stuff
32001         [22f3f3b4c34d]
32002
32003         * Makefile.in:
32004         fixed make distclean & realclean
32005         [c9964d89bcef]
32006
32007         * TODO:
32008         updated .,
32009         [e513581ef0e3]
32010
32011         * CHANGES:
32012         added solaris changes
32013         [505d930daf27]
32014
32015         * aclocal.m4:
32016         added solaris changes, need to rework
32017         [33f20fb16c49]
32018
32019         * configure.in:
32020         cleaned up for solaris
32021         [2fb8cfa05d0f]
32022
32023         * logging.c:
32024         reinstall reapchild signal handler for non-bsd signals
32025         [3d1dc545113d]
32026
32027         * sudo.h:
32028         took out getdtablesize() emulation for HP-UX (no longer needed)
32029         [1fc83d170f34]
32030
32031         * sudo.c:
32032         support for HAVE_SYSCONF
32033         [50ca2a7a224a]
32034
32035         * visudo.c:
32036         added <fcntl.h> for solaris & reorg'd the includes + minor prettying
32037         up /
32038         [0a570e826dd4]
32039
32040         * config.h.in:
32041         added HAVE_SYSCONF
32042         [2b9a9f3a4e94]
32043
32044 1994-05-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32045
32046         * configure.in:
32047         now tells you what os you are running /.
32048         [06c6332a895b]
32049
32050         * aclocal.m4:
32051         took out extra ','
32052         [e8c75ce59f4a]
32053
32054 1994-05-14  Todd C. Miller  <Todd.Miller@courtesan.com>
32055
32056         * config.h.in:
32057         added _BSD_COMPAT
32058         [73c5099806c2]
32059
32060         * aclocal.m4:
32061         fixed for irix5
32062         [1047d1f6c0eb]
32063
32064         * CHANGES:
32065         updated
32066         [1bc4969fee96]
32067
32068         * sudo.c:
32069         uid seinitialized to -2
32070         [8d7812b1878b]
32071
32072 1994-04-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32073
32074         * sudo.c:
32075         now removes LIBPATH for AIX
32076         [075392eb1dd9]
32077
32078 1994-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
32079
32080         * configure.in:
32081         now uses ufc if it finds it
32082         [ab6ce30a5958]
32083
32084 1994-03-12  Todd C. Miller  <Todd.Miller@courtesan.com>
32085
32086         * sudo.h:
32087         no longer define yyval & yylval since yacc does it
32088         [09d250aea50a]
32089
32090         * parse.lex:
32091         now defines yylval as extenr
32092         [8ec2b88952bc]
32093
32094         * configure.in:
32095         BROKEN_GETPASS is now an OPTION
32096         [3714f4bb8312]
32097
32098         * config.h.in:
32099         took out BROKEN_GETPASS
32100         [9c4f6aa50137]
32101
32102         * Makefile.in:
32103         took out big comment
32104         [4c13cff0e556]
32105
32106         * README:
32107         updated
32108         [b8b9902b620d]
32109
32110         * Makefile.in:
32111         took out README.beta
32112         [ed2cd861e82b]
32113
32114         * SUPPORTED:
32115         Initial revision
32116         [2fffc51e6606]
32117
32118         * INSTALL:
32119         now reference SUPPORTED .,
32120         [d112c30be1f2]
32121
32122         * config.h.in:
32123         now check for convex OR __convex__
32124         [a0e5701a3069]
32125
32126         * aclocal.m4:
32127         now check for convex or __convex__
32128         [5dae2bfbe3bc]
32129
32130         * Makefile.in:
32131         added dist target
32132         [400a54de57db]
32133
32134         * aclocal.m4:
32135         use __convex__
32136         [58a19470ed0b]
32137
32138         * find_path.c:
32139         now use _S_* stat stuff to be ansi-like
32140         [28cce560e048]
32141
32142         * INSTALL:
32143         updated for configure directions
32144         [a034ccc7c30a]
32145
32146         * Makefile.in:
32147         distclean now removes config.h and pathnames.h
32148         [300f2349b4ab]
32149
32150         * CHANGES:
32151         updated
32152         [646f7e9430c1]
32153
32154         * TODO:
32155         fixed typoe
32156         [70fd6361b2bc]
32157
32158         * visudo.c:
32159         updated version
32160         [cf13d87d789f]
32161
32162         * Makefile.in:
32163         updated version
32164         [8c5dacc27a7a]
32165
32166         * config.h.in, pathnames.h.in:
32167         added copyright header
32168         [747ce3d3d6b7]
32169
32170         * check.c, find_path.c, insults.h, logging.c, parse.c, parse.lex,
32171         parse.yacc, sudo.c, sudo.h:
32172         udpated version
32173         [4751c39bad18]
32174
32175         * visudo.c:
32176         udpated to use configure + pathnames.h
32177         [d45dff76a1cd]
32178
32179         * aclocal.m4:
32180         updated
32181         [f05a367a55be]
32182
32183         * Makefile.in, config.h.in, configure.in:
32184         updated
32185         [524778598879]
32186
32187         * sudo.h:
32188         now works with configure
32189         [83fc40e533f4]
32190
32191         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c:
32192         updated to work with configure + pathnames.h
32193         [cb67fa6ab52d]
32194
32195         * Makefile.in:
32196         added LEXLIB
32197         [f43cad4ab0a2]
32198
32199 1994-03-10  Todd C. Miller  <Todd.Miller@courtesan.com>
32200
32201         * COPYING:
32202         updated gnu general licence to versio 2
32203         [2b0b56112ddc]
32204
32205         * config.h.in, pathnames.h.in:
32206         Initial revision
32207         [4b586f39ec2d]
32208
32209         * sudo.h:
32210         changed to work with configure
32211         [13f3506ddf16]
32212
32213 1994-03-09  Todd C. Miller  <Todd.Miller@courtesan.com>
32214
32215         * Makefile.in, aclocal.m4, configure.in:
32216         Initial revision
32217         [a8636ae77371]
32218
32219         * visudo.c:
32220         now uses defines used by configure
32221         [de438d118993]
32222
32223 1994-03-01  Todd C. Miller  <Todd.Miller@courtesan.com>
32224
32225         * find_path.c:
32226         sudo won't bitch about EPERM now, for real
32227         [ce26d9ef7e3f]
32228
32229 1994-02-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32230
32231         * logging.c:
32232         renamed exec_argv to eliminate a libc name clash with ksros
32233         [bcb4350d8411]
32234
32235         * CHANGES:
32236         corrected
32237         [dae68d422efd]
32238
32239         * logging.c, sudo.c, sudo.h:
32240         execve -> execv
32241         [40cc2c4bdb15]
32242
32243         * TODO:
32244         upated
32245         [9275a8b8fc45]
32246
32247         * PORTING:
32248         added 2 mroe items
32249         [6cbb5c56993c]
32250
32251         * CHANGES:
32252         updated
32253         [73f34f8e571a]
32254
32255         * sudo.h:
32256         added UMASK and mode_t declaration
32257         [7c2015e1d171]
32258
32259         * sudo.c:
32260         added UMASK
32261         [d37be7523680]
32262
32263         * logging.c:
32264         now opens log file with mode 077
32265         [0825cc3ee841]
32266
32267         * check.c:
32268         saved current umask ans restores it
32269         [659c1aaae8e8]
32270
32271         * sudo.h:
32272         added MAXLOGFILELEN
32273         [34331c7dee90]
32274
32275         * logging.c:
32276         split long log lines. FOr syslog, split into multiple entries, for
32277         a log file, indent the extra for readability
32278         [72c9e4cdba6e]
32279
32280 1994-02-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32281
32282         * CHANGES:
32283         added changes
32284         [81196833673d]
32285
32286         * sudo.h:
32287         MAXLOGLEN & MAXSYSLOGLEN are now different (as they should be)
32288         [1aa69e903840]
32289
32290 1994-02-25  Todd C. Miller  <Todd.Miller@courtesan.com>
32291
32292         * TODO:
32293         added input from Brett M Hogden <hogden@rge.com>
32294         [80f01fc88ce9]
32295
32296 1994-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32297
32298         * sudo.c:
32299         added rmenv() to remove stuff from environ. can now uses execvp()
32300         OR execve() becuase of this.
32301         [e7fc2535bd67]
32302
32303         * logging.c:
32304         now uses execvp() OR execve()
32305         [56391aa1f99d]
32306
32307         * sudo.h:
32308         added USE_EXECVE
32309         [f21f38050b95]
32310
32311         * sudo.h:
32312         added environ
32313         [6b805e23c6f6]
32314
32315         * find_path.c:
32316         now ignore EPERM
32317         [c8fd7117a1d7]
32318
32319         * sudo.h:
32320         moved some func decls out of sudo.h and into sudo.c as statics /.
32321         [5f555c267d27]
32322
32323         * CHANGES:
32324         updated
32325         [431f478af320]
32326
32327         * sudo.h:
32328         took out Envp
32329         [6f722be7793d]
32330
32331 1994-02-14  Todd C. Miller  <Todd.Miller@courtesan.com>
32332
32333         * BUGS:
32334         Initial revision
32335         [4a8ecf0da95c]
32336
32337 1994-02-10  Todd C. Miller  <Todd.Miller@courtesan.com>
32338
32339         * CHANGES:
32340         added SECURE_PATH
32341         [1c72cb222609]
32342
32343         * sudo.c, sudo.h:
32344         added SECURE_PATH
32345         [5bf5357a63c5]
32346
32347         * sudo.h:
32348         added SECURE_PATH
32349         [3976a74405ac]
32350
32351         * INSTALL:
32352         added sample.sudoers note
32353         [1b395d29aaeb]
32354
32355         * sudoers:
32356         Initial revision
32357         [485888d07477]
32358
32359 1994-02-09  Todd C. Miller  <Todd.Miller@courtesan.com>
32360
32361         * find_path.c:
32362         fixed typo
32363         [bfc3cc4d41ca]
32364
32365         * PORTING:
32366         took out SAVED_UID garbage
32367         [b7c2d3469661] [SUDO_1_3_0]
32368
32369         * INSTALL:
32370         mentioned HAL
32371         [253d6695df90]
32372
32373         * sudo.h:
32374         added HAL line
32375         [29ec1a4ac6de]
32376
32377         * insults.h:
32378         added HAL insults
32379         [7d7c96d77c74]
32380
32381         * TODO:
32382         updated
32383         [aa2ed9790586]
32384
32385         * logging.c:
32386         more verbose error if mailer not found
32387         [fca47fd00cb6]
32388
32389         * check.c:
32390         now do getpwent as root for soem shadow password systems (bsdi)
32391         [e0339e110d46]
32392
32393 1994-02-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32394
32395         * sudo.h:
32396         took out SAVED_UID garbade
32397         [fcb0e81dcdb5]
32398
32399         * sudo.c:
32400         took out SAVED_UID garbage since it don't work
32401         [507e9513e9c2]
32402
32403 1994-02-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32404
32405         * README:
32406         updated
32407         [d2b6b253dae5]
32408
32409         * insults.h:
32410         added a missing space :-)
32411         [8940ea991f87]
32412
32413         * sudo.c, sudo.h:
32414         took out multimax cruft
32415         [c2606b365181]
32416
32417         * INSTALL:
32418         minor update
32419         [05fb6ee73131]
32420
32421         * PORTING:
32422         finished
32423         [c4ac47c84dc5]
32424
32425         * sudo.c:
32426         fixed a typo + indentation
32427         [7eab40aae8fa]
32428
32429 1994-02-05  Todd C. Miller  <Todd.Miller@courtesan.com>
32430
32431         * sudo.h:
32432         took outumoved some defines to the config file ,. ,.
32433         [defff05beb52]
32434
32435         * PORTING:
32436         Initial revision
32437         [c803e9127959]
32438
32439         * TODO:
32440         did #6
32441         [c6fa1c946c31]
32442
32443         * sudo.h:
32444         added HAS_SAVED_UID
32445         [6a88a39c0a07]
32446
32447         * sudo.c:
32448         put back AIX cruft
32449         [a24d2507ddd4]
32450
32451 1994-02-03  Todd C. Miller  <Todd.Miller@courtesan.com>
32452
32453         * sudo.c:
32454         aix changes
32455         [1663915f754a]
32456
32457 1994-02-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32458
32459         * CHANGES:
32460         updated
32461         [a8cc73747cae]
32462
32463         * check.c, logging.c, parse.c, sudo.c, sudo.h:
32464         now is only root when abs necesary
32465         [3c9d12c5cdfe]
32466
32467         * check.c:
32468         added missing %s\n
32469         [609320b72d89]
32470
32471 1994-01-31  Todd C. Miller  <Todd.Miller@courtesan.com>
32472
32473         * install-sh:
32474         Initial revision
32475         [b5bba140a175]
32476
32477         * TODO:
32478         updated
32479         [c9d2eba602af]
32480
32481         * CHANGES:
32482         updated
32483         [932f1fc3bb14]
32484
32485         * sudo.c:
32486         now removed _RLD_* for alphas
32487         [54a36e648158]
32488
32489         * INSTALL:
32490         updated for new config scheme
32491         [61c8ae800444]
32492
32493         * find_path.c:
32494         more verbose eror messages
32495         [b4fd123db42d]
32496
32497 1994-01-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32498
32499         * TODO:
32500         now have solaris
32501         [371002fbf266]
32502
32503         * sudo.h:
32504         define __svr4__ for SOLARIS
32505         [0b5cf5ed936d]
32506
32507         * check.c:
32508         added svr4 junk for shadow pws for solaris 2.x
32509         [91ed58f21618]
32510
32511         * check.c, sudo.c:
32512         took out setuid(0) and setreuid(udi) garbage. Its not needed since
32513         we start out setuid with the correct perms.
32514         [07689e782b0b]
32515
32516         * check.c, sudo.c, sudo.h:
32517         now use setreuid()
32518         [7d64d685d78e]
32519
32520 1994-01-26  Todd C. Miller  <Todd.Miller@courtesan.com>
32521
32522         * sudo.man:
32523         revised AUTHORS secrtion & added ENV_EDITOR stuff to VARIABLES
32524         sectoin
32525         [b26967b1e19b]
32526
32527         * visudo.c:
32528         now uses ENV_EDITOR if you want to use the EDITOR envar
32529         [a4f8fcb9bd1d]
32530
32531         * sudo.h:
32532         now uses ENV_EDITOR if you want to use the EDITOR envar >> .
32533         [028cc55c4328]
32534
32535 1993-12-07  Todd C. Miller  <Todd.Miller@courtesan.com>
32536
32537         * INSTALL:
32538         rewrote most of this
32539         [a6750923f9c9]
32540
32541         * README:
32542         minor update + spell fix
32543         [a411717a7249]
32544
32545         * sudo.h:
32546         added all options that are in the Makefile
32547         [6db3b3b841b3]
32548
32549         * getpass.c:
32550         now use USE_TERMIO #define for sgi & hpux
32551         [b91f89ae6be1]
32552
32553         * TODO:
32554         todo: posix sigs
32555         [4548a56eb2ef]
32556
32557 1993-12-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32558
32559         * check.c, find_path.c:
32560         always include strings.h
32561         [1fc20bda92c0]
32562
32563         * visudo.c:
32564         added STATICEDITOR
32565         [0596f820716e]
32566
32567         * sudo.h:
32568         sgi has vi in /usr/bin too
32569         [94203b62bfd9]
32570
32571         * sudo.man:
32572         added VISUAL
32573         [87c2844c4cac]
32574
32575 1993-12-03  Todd C. Miller  <Todd.Miller@courtesan.com>
32576
32577         * sudo.h:
32578         sue /usr/bin/vi on some systems
32579         [e3ad9190f35e]
32580
32581         * sudo.c:
32582         fixed warning (include strings.h)
32583         [0b896de4d8a0]
32584
32585         * sudo.man:
32586         added John_Rouillard@dl5000.bc.edu's changes (new features)
32587         [f41b4205a8cf]
32588
32589         * CHANGES:
32590         changes from John_Rouillard@dl5000.bc.edu
32591         [6bdef8e948d5]
32592
32593         * visudo.c:
32594         added EDITOR envar
32595         [5c4bf716de21]
32596
32597         * check.c, find_path.c, parse.c, sudo.c:
32598         added patches from John_Rouillard directory spec
32599         uses EDITOR
32600         [f62a435f8c41]
32601
32602 1993-12-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32603
32604         * getpass.c:
32605         added flush for hpux
32606         [07cfdd6a7b55]
32607
32608 1993-11-30  Todd C. Miller  <Todd.Miller@courtesan.com>
32609
32610         * sudo.c:
32611         no longer assume malloc returns a char *
32612         [7480bd2756f3]
32613
32614         * sudo.c:
32615         alpha change to remove LD_-like thing fixed SHLIB_PATH stuff -- now
32616         gets removed correctly
32617         [8587166c6ac8]
32618
32619         * sudo.h:
32620         added STD_HEADERS macro
32621         [480f5a9a516c]
32622
32623         * sudo.c:
32624         now uses STD_HEADERS macor for ansi
32625         [c5018806fd59]
32626
32627         * find_path.c:
32628         now uses STD_HEADERS macro
32629         [ad821e0788ea]
32630
32631         * check.c:
32632         niceties for C compiler bitches -- no real change
32633         [0fc0b1a5fb64]
32634
32635 1993-11-29  Todd C. Miller  <Todd.Miller@courtesan.com>
32636
32637         * visudo.c:
32638         now doesn't fclose a file never opened.
32639         [ee888ec9427d]
32640
32641 1993-11-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32642
32643         * sudo.man:
32644         added visudo line
32645         [698d51c66407]
32646
32647         * sudo.man:
32648         added error stuff added me in there...
32649         [d202fd34b906]
32650
32651         * CHANGES:
32652         noted insults
32653         [998a22c2230c]
32654
32655         * INSTALL:
32656         added blurb about reading stuff
32657         [e71db100798f]
32658
32659         * sudo.h:
32660         added insults
32661         [c110431cec56]
32662
32663         * insults.h:
32664         corrected somments and removed newlines
32665         [493706fd488c]
32666
32667         * check.c:
32668         now uses insults
32669         [6d23cf06a0ef]
32670
32671         * insults.h:
32672         Initial revision
32673         [83153c26b4a3]
32674
32675         * INSTALL:
32676         added dec syslog note
32677         [555437273237]
32678
32679         * sample.sudoers:
32680         added real stuff in there
32681         [53442a7fba78]
32682
32683         * TODO:
32684         added a todo
32685         [c630472bd4dc]
32686
32687         * TODO:
32688         added one
32689         [806464453284]
32690
32691 1993-11-27  Todd C. Miller  <Todd.Miller@courtesan.com>
32692
32693         * sample.sudoers:
32694         Initial revision
32695         [7db0a9f1ca8f]
32696
32697         * sudo.man:
32698         updated with changes
32699         [d9bf254c6c08]
32700
32701         * sudo.man:
32702         Initial revision
32703         [dd6f11174ac6]
32704
32705         * indent.pro:
32706         Initial revision
32707         [dbfbb494fad9]
32708
32709         * CHANGES, COPYING, INSTALL, README, TODO:
32710         Initial revision
32711         [6d98f489a079]
32712
32713         * visudo.c:
32714         updated version number and took out jeff's old addr since it is no
32715         good
32716         [ee47c24818cb]
32717
32718         * check.c, find_path.c, logging.c, parse.c, parse.lex, parse.yacc,
32719         sudo.c, sudo.h:
32720         updated version number and took out jeff's email (since it is
32721         invalid)
32722         [54616458a52e]
32723
32724 1993-10-28  Todd C. Miller  <Todd.Miller@courtesan.com>
32725
32726         * check.c:
32727         added fflush()
32728         [145c881f4fb4]
32729
32730 1993-10-23  Todd C. Miller  <Todd.Miller@courtesan.com>
32731
32732         * find_path.c:
32733         now return NULL instead pf\b\bof exiting for nopn\b\bn-fatal errors
32734         [8bc74f8cb1ae]
32735
32736 1993-10-21  Todd C. Miller  <Todd.Miller@courtesan.com>
32737
32738         * check.c:
32739         new banner
32740         [5387ab2af516]
32741
32742         * parse.lex:
32743         now sudo.h gets included first
32744         [2acb01c18e18]
32745
32746 1993-10-18  Todd C. Miller  <Todd.Miller@courtesan.com>
32747
32748         * parse.lex:
32749         now can use flex
32750         [164d3839adf0]
32751
32752         * sudo.h:
32753         linux patch
32754         [f1b6b1b1a2ca]
32755
32756         * sudo.c:
32757         hpux 9 fix, removes SHLIB_PATH linux patch
32758         [67611dc1737f]
32759
32760         * check.c:
32761         linux diff
32762         [c24536682397]
32763
32764 1993-10-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32765
32766         * find_path.c:
32767         stat now ignores EINVAL
32768         [c7761a5dc642]
32769
32770 1993-10-06  Todd C. Miller  <Todd.Miller@courtesan.com>
32771
32772         * find_path.c, sudo.c:
32773         now declare strdup as extern
32774         [6b7d6f8784b5]
32775
32776 1993-10-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32777
32778         * visudo.c:
32779         reformatted with indent + by hand
32780         [9d43084e4990]
32781
32782         * check.c, find_path.c, getpass.c, logging.c, parse.c, sudo.c, sudo.h:
32783         used indent to "fix" coding style
32784         [489ffacbdc70]
32785
32786         * find_path.c:
32787         now checks '.' or '.' or '' in PATH -- but does it LAST should maybe
32788         move the code that does this into the loop body. makes it messier
32789         tho. hmmm.
32790         [c4d22b48da9a]
32791
32792 1993-09-08  Todd C. Miller  <Todd.Miller@courtesan.com>
32793
32794         * find_path.c:
32795         redid the fix for non-executable files in an easier to read way plus
32796         some minor aethetic changes
32797         [84fe337f1426]
32798
32799         * find_path.c:
32800         fixed bug with non-executable tings of same name in path introduced
32801         by checkig errno after stat(2).
32802         [c2a812cfcbc1]
32803
32804 1993-09-05  Todd C. Miller  <Todd.Miller@courtesan.com>
32805
32806         * sudo.c:
32807         fixed off by one error
32808         [fabb7cee0041]
32809
32810         * find_path.c:
32811         now handles decending below '/' correctly
32812         [5d2ddfc0b220]
32813
32814         * sudo.c:
32815         now actually builds Envp instead of munging envp
32816         [bdc4b08f6898]
32817
32818 1993-09-04  Todd C. Miller  <Todd.Miller@courtesan.com>
32819
32820         * parse.yacc:
32821         now includes sys/param.h
32822         [efbb494ab4de]
32823
32824         * visudo.c:
32825         now includes sys/param.h
32826         [ad6c91d59958]
32827
32828         * sudo.h:
32829         fixed ifndef -> ifdef
32830         [7aebe822d863]
32831
32832         * qualify.c:
32833         make more like find_path.c
32834         [853b2dab2e03]
32835
32836         * find_path.c:
32837         rewritten by millert
32838         [c6a043cc11b3]
32839
32840         * sudo.h:
32841         fixed MAXCOMMANDLENGTH now uses USE_CWD and NEED_STRDUP added info
32842         about new defines in the comment
32843         [39ffefce3aec]
32844
32845         * logging.c:
32846         now uses USE_CWD
32847         [fa0f3b118bb3]
32848
32849         * sudo.h:
32850         added delc for clean_envp() and Envp
32851         [a12034e300c2]
32852
32853         * sudo.c:
32854         now rips LD_* env vars out of envp and passed sanitized Envp to exec
32855         [d201a218e056]
32856
32857         * logging.c:
32858         now uses execve()
32859         [f3e01032cd33]
32860
32861         * find_path.c:
32862         ENOTDIR is ok now too (in case part of the path is bogus)
32863         [b5cbbb201bb5]
32864
32865         * qualify.c:
32866         now works correctly (ttaltotal rewrite)
32867         [0c25d64a5c68]
32868
32869         * parse.lex:
32870         now includes sys/param.h didn't match trailing / -- fix from
32871         rouilj@cs.umb.edu
32872         [b6363ba110af]
32873
32874 1993-06-11  Todd C. Miller  <Todd.Miller@courtesan.com>
32875
32876         * sudo.c:
32877         moved around the #ifndef _AIX
32878         [7d4330950c20]
32879
32880         * check.c, logging.c, parse.c:
32881         Initial revision
32882         [c101e9572d7f]
32883
32884 1993-03-20  Todd C. Miller  <Todd.Miller@courtesan.com>
32885
32886         * qualify.c:
32887         Initial revision
32888         [5a5f21d0e0bf]
32889
32890 1993-03-13  Todd C. Miller  <Todd.Miller@courtesan.com>
32891
32892         * find_path.c:
32893         now works if you do sudo bin/test
32894         [07835120ce43]
32895
32896         * find_path.c:
32897         works
32898         [c3da8b5efa20]
32899
32900 1993-03-02  Todd C. Miller  <Todd.Miller@courtesan.com>
32901
32902         * sudo.h:
32903         Initial revision
32904         [28a1caa38b72]
32905
32906         * visudo.c:
32907         Initial revision
32908         [0e5cd7c3cdbe]
32909
32910         * parse.lex, parse.yacc:
32911         Initial revision
32912         [5f2d0cccb06b]
32913
32914 1993-02-16  Todd C. Miller  <Todd.Miller@courtesan.com>
32915
32916         * sudo.c:
32917         took out errno.h
32918         [7466431a2655]
32919
32920         * sudo.c:
32921         now spews error if exec fails and exits with -1
32922         [e5c41ea725c1]
32923
32924         * sudo.c:
32925         Initial revision
32926         [8aeabe39a0c2]
32927
32928         * find_path.c:
32929         now only execs files with (an) executable bit set.
32930         [0a451f9c0e58]
32931
32932         * find_path.c:
32933         Initial revision
32934         [02a534891a35]
32935
32936 1993-02-15  Todd C. Miller  <Todd.Miller@courtesan.com>
32937
32938         * getpass.c:
32939         added nice comment
32940         [ea8b2aaa9389]
32941
32942         * getpass.c:
32943         now works on sgi's
32944         [bf2b7c6d0960]
32945
32946         * getpass.c:
32947         Initial revision
32948         [9f4de251c1b5]
32949